@charset "utf-8";
/* CSS Document */

.pt{}
.pc{}
.ps{}
.tb{display: none;}
.ts{display: none;}
.sp{display: none;}

#wrapper {
width:100%;
overflow: hidden;
}

header h1 {
padding: 5px 20px;
color: #FFFFFF;
background: #333333;
font-size: 85%;
}

header h1 a {
color: #FFFFFF;
text-decoration: none;
}

header .main {
position: relative;
}

header .main img:first-child {
width: 100%;
height: 600px;
object-fit: cover;
}

header .main img:last-child {
width: 24%;
height: auto;
position: absolute;
top: 3%;
right: 20px;
}

#block1 {
/*padding: 120px 0;*/
background-image: url("../images/catch_bk1.png"), url("../images/catch_bk2.png"), url("../images/catch_bk.png");
background-repeat: no-repeat;
background-position: left calc(50% - 600px) top, right calc(50% - 600px) top, center top;
background-size: auto 520px, auto 520px, cover;
height: 520px;
display: flex;
flex-direction: column;
justify-content: center;
}

#block1 h2 {
margin-bottom: 30px;
/*padding: 0 10% 0;*/
text-align: center;
color: #113A77;
font-size: 235%;
font-family: 'Noto Sans JP', sans-serif;
font-weight: 700;
letter-spacing: 1px;
line-height: 160%;
}

#block1 h2 span{
color: #EF702C;
background-image: radial-gradient(circle at center, #EF712D 10%, transparent 20%); /* 点の色とサイズ調整 */
  background-position: top right; /* 点の位置 */
  background-repeat: repeat-x; /* 横方向に繰り返し */
  background-size: 1.02em 0.3em; /* 点の間隔とサイズ調整 */
  padding-top: .3em; /* 縦方向の位置調整 */
}

#block1 p {
text-align: center;
font-size: 110%;
line-height: 200%;
padding: 0 10% 0;
}

#block2 {
padding: 80px 0;
background-image: url("../images/ranking_bg2.png"), url("../images/ranking_bk.png");
background-repeat: no-repeat;
background-position: center top;
background-size: auto 342px, cover;
}

#block2 h2 {
margin-bottom: 90px;
padding: 0 10% 0;
text-align: center;
}

#block2 ul {
width: 90%;
max-width: 1010px;
margin: 0 auto;
display: flex;
justify-content: space-between;
box-sizing: border-box;
}

#block2 li {
padding: 0 4.446045% 0 0;
/*width: 32.77227%;*/
width: 30.369306%;
position: relative;
}

#block2 li:last-child {
padding: 0;
}

#block2 li:first-child:before {
content: "";
position: absolute;
top: -20px;
left: -20px;
background: url(../images/ranking_icon1.png);
width: 86px;
height: 112px;
}

#block2 li:nth-child(2):before {
content: "";
position: absolute;
top: -20px;
left: -20px;
background: url(../images/ranking_icon2.png);
width: 66px;
height: 85px;
}

#block2 li:last-child:before {
content: "";
position: absolute;
top: -20px;
left: -20px;
background: url(../images/ranking_icon3.png);
width: 66px;
height: 85px;
}

#block2 li img {
margin-bottom: 15px;
}

#block2 li p {
line-height: 160%;
font-weight: bold;
color: #FFFFFF;
text-align: center;
}

#block2 li .kome {
margin: 5px 0;
color: #BBBBBB;
}

#block2 li .hayawari {
width: 8em;
padding: 2px 5px 0;
margin: 0 auto 5px;
color: #EC722C;
font-size: 90%;
font-weight: bold;
background: #FDE746;
}

#block2 li .price span {
font-size: 130%;
}

#block2 li .btn {
margin-top: 15px;
text-align: center;
}

#block2 li .btn img {
max-width: 230px;
width: 100%;
height: auto;
}

#block3 {
padding: 80px 0;
background-image: url("../images/treason_bk.png");
background-repeat: no-repeat;
background-position: center top;
background-size: cover;
}

#block3 h2 {
margin-bottom: 55px;
padding: 0 10% 0;
text-align: center;
}

#block3 ul {
width: 90%;
max-width: 1045px;
margin: 0 auto;
display: flex;
justify-content: space-between;
}

#block3 li {
width: 30.14354%;
}

#block3 li img {
margin-bottom: 30px;
}

#block3 li p {
line-height: 200%;
font-size: 90%;
}

#block3 li span {
background: linear-gradient(transparent 50%, #FFFF73 50%);
}

#block4 {
padding: 80px 0;
background-image: url("../images/top04_bk.png");
background-repeat: no-repeat;
background-position: center top;
background-size: cover;
}

#block4 .inbox {
width: 90%;
max-width: 1000px;
margin: 0 auto;
}

#block4 h2 {
margin-bottom: 60px;
padding: 0 5% 0;
text-align: center;
}

#block4 ul {
display: flex;
justify-content: center;
}

#block4 li {
width: 29%;
padding: 0 2%;
text-align: center;
}

#block4 li img {
margin-bottom: 20px;
}

#block4 li p {
text-align: left;
}

.kome {
margin-top: 15px;
line-height: 160%!important;
font-size: 85%!important;
padding-left: 1em;
text-indent: -1em;
}

#block4 .comment_box {
margin-top: 40px;
padding: 40px;
line-height: 200%;
font-size: 90%;
background: #FFFFFF;
border-radius: 5px;
position: relative;
}

#block4 .comment_box h3 {
margin-bottom: 20px;
color: #113B77;
font-size: 180%;
font-family: 'Noto Sans JP', sans-serif;
font-weight: 700;
letter-spacing: 1px;
line-height: 160%;
}

#block4 .comment_box p {
padding-right: 320px;
}

#block4 .comment_box .about_4 {
position: absolute;
bottom: 30px;
right: 40px;
}

#block5 {
padding-bottom: 120px;
background-image: url("../images/gift_bk.jpg");
background-repeat: repeat;
background-position: center 260px;
background-size: auto;
}

#block5 h2 {
margin-bottom: 60px;
padding: 0 10%;
background-image: url("../images/gift_t_bk.jpg");
background-repeat: no-repeat;
background-position: center top;
background-size: auto 260px;
min-height: 260px;
display: flex;
align-items: center;
justify-content: center;
font-size: 280%;
font-family: 'Noto Sans JP', sans-serif;
font-weight: 700;
letter-spacing: 1px;
line-height: 160%;
color: #FFFFFF;
}

#block5 h3.set1 {
width: 90%;
max-width: 1000px;
margin: 0 auto 40px;
background-image: url("../images/gift_t2.png");
background-repeat: no-repeat;
background-position: center top;
background-size: auto 260px;
min-height: 260px;
display: flex;
align-items: center;
justify-content: center;
font-size: 230%;
font-family: 'Noto Sans JP', sans-serif;
font-weight: 700;
letter-spacing: 1px;
line-height: 160%;
color: #FFFFFF;
}

#block5 h3.set2 {
width: 90%;
max-width: 1000px;
margin: 80px auto 40px;
background-image: url("../images/gift_t3.png");
background-repeat: no-repeat;
background-position: center top;
background-size: auto 260px;
min-height: 260px;
display: flex;
align-items: center;
justify-content: center;
font-size: 230%;
font-family: 'Noto Sans JP', sans-serif;
font-weight: 700;
letter-spacing: 1px;
line-height: 160%;
color: #FFFFFF;
}

#block5 h3 img {
width: auto;
height: 260px;
object-fit: cover;
}

#block5 .lead {
margin-bottom: 60px;
padding: 0 10%;
font-size: 110%;
line-height: 200%;
color: #FFFFFF;
text-align: center;
font-weight: bold;
}

#block5 section {
width: 90%;
max-width: 1000px;
margin: 0 auto 40px;
padding: 35px;
background: #FFFFFF;
border-radius: 5px;
box-sizing: border-box;
}

#block5 section .inbox {
margin-bottom: 30px;
display: flex;
justify-content: space-between;
}

#block5 section .left_box {
width: 48.5%;
}

#block5 section .right_box {
width: 48.5%;
}

#block5 section .right_box h3 {
margin-bottom: 5px;
font-size: 145%;
line-height: 140%;
}

#block5 section .right_box .number {
padding: 2px 10px 0;
margin-bottom: 20px;
color: #FFFFFF;
font-size: 90%;
font-weight: bold;
background: #113B77;
display: inline-block;
}

#block5 section .right_box .text {
margin-bottom: 20px;
}

#block5 section .right_box .detail {
padding: 10px 20px;
margin-bottom: 20px;
font-size: 85%;
line-height: 160%;
background: #EEEEEE;
text-indent: -4.6em;
padding-left: 5.6em;
}

#block5 section .price_box {
margin-top: 20px;
display: flex;
justify-content: flex-end;
align-items: center;
}

#block5 section .price_box .hayawari {
padding: 5px 7px;
margin-right: 10px;
color: #EC722C;
font-size: 90%;
font-weight: bold;
background: #FDE746;
text-align: center;
line-height: 140%;
}

#block5 section .price_box .price {
color: #EC722C;
font-size: 240%;
font-weight: bold;
text-align: center;
}

#block5 section .price_box .price span {
font-size: 55%;
}

#block5 section .price_box .price span span {
font-size: 55%;
color: #333333;
font-weight: normal;
}

#block5 section .price_box .price.price_icon1:before {
content: '';/*何も入れない*/
display: inline-block;
width: 61px;/*画像の幅*/
height: 60px;/*画像の高さ*/
background-image: url(../images/price_icon1.png);
background-size: contain;
background-repeat: no-repeat;
vertical-align: middle;
margin-right: 10px;
}

#block5 section .price_box .price.price_icon2:before {
content: '';/*何も入れない*/
display: inline-block;
width: 61px;/*画像の幅*/
height: 60px;/*画像の高さ*/
background-image: url(../images/price_icon2.png);
background-size: contain;
background-repeat: no-repeat;
vertical-align: middle;
margin-right: 10px;
}

#block5 section .btn {
display: flex;
justify-content: center;
align-items: center;
}

#block5 section .btn img {
margin: 0 15px;
}

#block5 .btn3 {
margin-top: 30px;
text-align: center;
}

#block5 .comment_box {
width: 90%;
max-width: 1000px;
margin: 0 auto 40px;
padding: 25px;
background: #4B426F;
border-radius: 5px;
box-sizing: border-box;
}

#block5 .comment_box h3 {
color: #FFFFFF;
font-size: 160%;
margin-bottom: 15px;
/*padding-left: 30px;
background: url("../images/voice_icon.png") no-repeat center left;
min-height: 35px;*/
}

#block5 .comment_box .inbox {
margin-bottom: 15px;
display: flex;
justify-content: flex-start;
align-items: center;
}

#block5 .comment_box .inbox.left img {
margin: 0 20px 0 0;
}

#block5 .comment_box .inbox.right img {
margin: 0 0 0 20px ;
}

#block5 .comment_box .inbox p {
  position: relative;
  display: inline-block;
  padding: 15px;
  background: #FFFFFF;
  border-radius: 5px;
}

#block5 .comment_box .inbox.left p:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-right: 15px solid #FFFFFF;
}

#block5 .comment_box .inbox.right p:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -15px;
  border: 15px solid transparent;
  border-left: 15px solid #FFFFFF;
}

#block5 .comment_box .inbox p span {
color: #ED702C;
}

#block6 {
margin-bottom: 100px;
padding-bottom: 80px;
background-image: url("../images/home_bk.jpg");
background-repeat: repeat;
background-position: center 260px;
background-size: auto;
}

#block6 h2 {
margin-bottom: 60px;
padding: 0 10%;
background-image: url("../images/home_t_bk.jpg");
background-repeat: no-repeat;
background-position: center top;
background-size: auto 260px;
min-height: 260px;
display: flex;
align-items: center;
justify-content: center;
font-size: 280%;
font-family: 'Noto Sans JP', sans-serif;
font-weight: 700;
letter-spacing: 1px;
line-height: 160%;
color: #FFFFFF;
}

#block6 .lead {
margin-bottom: 60px;
font-size: 110%;
line-height: 200%;
text-align: center;
font-weight: bold;
}

#block6 ul {
width: 90%;
max-width: 1045px;
margin: 0 auto;
display: flex;
justify-content: space-between;
}

#block6 li {
width: 23.92344%;
background: #FFFFFF;
display: flex;
flex-flow: column;
position: relative;
}

#block6 li .photo {
margin-bottom: 15px;
}

#block6 li .photo img {
width: 100%;
height: auto;
}

#block6 li .icon_otameshi {
position: absolute;
top: -8px;
left: 0;
width: 79px!important;
height: 76px!important;
}

#block6 li h3 {
padding: 0 15px;
text-align: center;
line-height: 140%;
font-size: 100%;
}

#block6 li .number {
padding: 0 15px;
color: #113B77;
text-align: center;
font-size: 75%;
}

#block6 li .price {
padding: 0 15px;
text-align: center;
line-height: 200%;
font-size: 65%;
}

#block6 li .price span {
color: #EB722C;
font-weight: bold;
font-size: 160%;
}

#block6 li .price span span {
font-size: 90%;
}

#block6 li .text {
margin: 10px 15px 15px;
padding-top: 10px;
border-top: solid 1px #CCCCCC;
font-size: 85%;
line-height: 160%;
}

#block6 li .btn4 {
margin-top: auto;
padding: 0 15px 15px;
text-align: center;
}

#block6 .btn3 {
margin-top: 40px;
text-align: center;
}

#block7 {
width: 90%;
max-width: 1000px;
margin: 0 auto 120px;
}

#block7 h2 {
margin-bottom: 55px;
padding: 0 7%;
text-align: center;
}

#block7 dl {
padding: 30px 0;
border-top: solid 2px #1A2654;
display: flex;
justify-content: space-between;
}

#block7 dt {
width: 52%;
}

#block7 dt h3 {
margin-top: 20px;
margin-bottom: 45px;
padding-left: 80px;
font-size: 140%;
position: relative;
}

#block7 dt h3.step_no1:before {
content: "";
position: absolute;
top: 50%;
transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
left: 0;
background: url(../images/step_no1.png);
width: 65px;
height: 77px;
}

#block7 dt h3.step_no2:before {
content: "";
position: absolute;
top: 50%;
transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
left: 0;
background: url(../images/step_no2.png);
width: 65px;
height: 77px;
}

#block7 dt h3.step_no3:before {
content: "";
position: absolute;
top: 50%;
transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
left: 0;
background: url(../images/step_no3.png);
width: 65px;
height: 77px;
}

#block7 dt h3.step_no4:before {
content: "";
position: absolute;
top: 50%;
transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
left: 0;
background: url(../images/step_no4.png);
width: 65px;
height: 77px;
}

#block7 dt p {
line-height: 200%;
}

#block7 dt span {
line-height: 180%;
font-size: 85%;
}

#block7 dd {
width: 42%;
}

#block7 .kome {
margin-top: 10px;
}

#block7 .comment_box {
margin-top: 10px;
padding: 15px;
background: #FFFFCC;
color: #ED702C;
font-weight: bold;
}

#block8 {
padding: 100px 0;
background-image: url("../images/yosan_bk.png");
background-repeat: no-repeat;
background-position: center top;
background-size: cover;
}

#block8 h2 {
margin-bottom: 45px;
padding: 0 5% 0;
text-align: center;
color: #FFFFFF;
font-size: 280%;
font-family: 'Noto Sans JP', sans-serif;
font-weight: 700;
letter-spacing: 1px;
line-height: 160%;
}

#block8 ul {
width: 90%;
max-width: 1010px;
margin: 0 auto;
display: flex;
justify-content: space-around;
}

#block8 li {
width: 32.77227%;
}

#block9 {
margin-bottom: 120px;
padding: 100px 0;
background-image: url("../images/faq_bk.png");
background-repeat: no-repeat;
background-position: center top;
background-size: cover;
}

#block9 h2 {
margin-bottom: 60px;
padding: 0 5% 0;
text-align: center;
font-size: 280%;
font-family: 'Noto Sans JP', sans-serif;
font-weight: 700;
letter-spacing: 1px;
line-height: 160%;
color: #113A77;
}

.accordion {
width: 90%;
max-width: 1000px;
margin: 0 auto;
}
.accordion .toggle {
display: none;
}
.accordion .option {
position: relative;
margin-bottom: 15px;
}
.accordion .title,
.accordion .content {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
transform: translateZ(0);
transition: all 0.3s;
}
.accordion .title {
margin-bottom: 15px;
padding: 15px 55px 10px 75px;
background: url("../images/faq_icon.png") no-repeat #FFFFFF;
display: block;
font-size: 120%;
font-weight: bold;
line-height: 140%;
min-height: 60px;
box-sizing: border-box;
}
/*.accordion .title span{
    color: #EF722E;
	margin-right: 15px;
	font-size: 130%;
}*/
.accordion .title::after,
.accordion .title::before {
content: "";
position: absolute;
right: 1.25em;
top: 1em;
width: 2px;
height: 0.75em;
background-color: #333333;
transition: all 0.3s;
}
.accordion .title::after {
transform: rotate(90deg);
}
.accordion .content {
max-height: 0;
overflow: hidden;
}
.accordion .toggle:checked + .title + .content {
max-height: 500px;
transition: all 1.5s;
}
.accordion .toggle:checked + .title::before {
transform: rotate(90deg) !important;
}

#block9 .kome {
width: 90%;
max-width: 1000px;
margin: 0 auto;
font-size: 100%!important;
text-align: right;
}

#block10 {
width: 90%;
max-width: 1000px;
margin: 0 auto 100px;
padding: 70px 40px 40px;
border: solid 2px #9E934E;
border-radius: 5px;
box-sizing: border-box;
position: relative;
}

#block10 h2 {
position: absolute;
top: -45px;
left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

#block11 {
width: 90%;
max-width: 1000px;
margin: 0 auto 120px;
}

#block11 h2 {
margin-bottom: 50px;
padding: 0 5%;
text-align: center;
font-size: 280%;
font-family: 'Noto Sans JP', sans-serif;
font-weight: 700;
letter-spacing: 1px;
line-height: 160%;
color: #113A77;
}

#block11 .inbox {
display: flex;
justify-content: space-between;
}

#block11 ul {
width: 47%;
}

#block11 li {
margin-bottom: 25px;
}

#block11 h3 {
margin-bottom: 20px;
padding: 10px;
background: #F5F5F5;
font-size: 100%;
border-left: solid 3px #3399CC;
}

#block11 p {
margin-bottom: 15px;
font-size: 85%;
line-height: 160%;
}

#block11 li img {
margin-bottom: 10px;
}

#block11 .comment_box {
padding: 15px;
background: #FFFFCC;
color: #EC702C;
font-weight: bold;
}

.red {
color: #EF712D;
font-weight: bold;
}

#block12 {
width: 90%;
max-width: 880px;
margin: 0 auto 60px;
text-align: center;
}

#block12 h2 {
margin-bottom: 60px;
padding: 0 5%;
font-size: 280%;
font-family: 'Noto Sans JP', sans-serif;
font-weight: 700;
letter-spacing: 1px;
line-height: 160%;
color: #113A77;
}

#block12 h3 {
margin-bottom: 35px;
font-size: 150%;
}

#block12 dl {
display: flex;
}

#block12 dl:first-of-type {
margin-top: 40px;
}

#block12 dt {
width: 240px;
padding: 25px 0;
color: #192652;
font-size: 130%;
font-weight: bold;
border-bottom: solid 2px #192652;
}

#block12 dd {
padding: 25px 0;
color: #192652;
font-size: 100%;
font-weight: bold;
border-bottom: solid 2px #DDDDDD;
flex-grow: 1;
}

#block12 dd img {
margin-right: 15px;
}

#block12 dl:first-of-type dt {
border-top: solid 2px #192652;
}

#block12 dl:first-of-type dd {
border-top: solid 2px #DDDDDD;
}

footer {
background: #000000;
}

footer .inbox1 {
display: flex;
justify-content:flex-start;
align-items: center;
}

footer .left_box {
width: 50%;
}

footer .left_box img {
width: 100%;
height: 400px;
object-fit: cover;
}

footer .right_box {
width: 50%;
padding: 0 30px;
color: #FFFFFF;
font-size: 85%;
text-align: center;
line-height: 160%;
}

footer .right_box h2 {
margin-bottom: 30px;
}

footer .right_box h2 img {
width: auto;
height: auto;
max-width: 80%;
}

footer .inbox2 {
padding: 10px 20px;
display: flex;
justify-content: space-between;
background: #FFFFFF;
font-size: 90%;
}

footer .inbox2 p:last-child {
margin-top: 5px;
font-size: 80%;
line-height: 140%;
}
