@charset "utf-8";

/* ------------------------------
   Universal Reset
   Contents
   Animation
------------------------------ */

/*==================================================================
   Universal Reset
==================================================================*/
html,body{margin:0;padding:0;width:100%;height:100%;font-size:100%;}
main{display:block;}
h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,div,object,ul,ol,li,dl,dt,dd,tr,td,fieldset,form,legend,small,figure{margin:0;padding:0;font-size:100%;font-weight:normal;}
ul,ol{list-style:none;}
fieldset{margin:0;padding:0;border:0 none;}
legend{display:none;}
table,th,td{border:0;border-spacing:0;}
caption,th{text-align:left;}
em,strong,cite,abbr,caption,th,address{font-style:normal;font-weight:normal;}
img{max-width:100%;border:0 none;vertical-align:bottom;_vertical-align:text-bottom;}
input:not([type="radio"]):not([type="checkbox"]),select,textarea{margin:0;padding:0;border:none;border-radius:0;vertical-align:middle;
-moz-appearance:none;-webkit-appearance:none;appearance:none;}
select::-ms-expand{display:none;}
input[type="submit"]:hover{cursor:pointer;}
input[type="image"]{max-width:100%;outline: none;}
option{padding-right:5px;}
button{background:none;padding:0;border:0;text-align:left;}
article,aside,dialog,details,figure,figcaption,footer,header,hgroup,menu,nav,section{display:block;}
mark{font-weight:normal;font-style:normal;}
blockquote,q{quotes:none;}
a{vertical-align:baseline;text-decoration:none;}
*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}


/*==================================================================
   Contents
==================================================================*/
html{font-size: calc(1000vw / 750);}
body{color:#2a2a2a;font-size:3.2rem;font-family:'Noto Sans JP','Noto Serif JP',"Helvetica Neue","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;line-height:1.6;-webkit-text-size-adjust:100%;-webkit-touch-callout:none;background:#ffe190;}
#container{max-width:750px;text-align:left;margin:0 auto;overflow: hidden;background: #c90000;}
main{z-index: 0;}
section{position:relative;}

/*========== contents ==========*/
/*--- title ---*/
.ttl_01{text-align: center;border-bottom: solid #c90000 .3rem;font-size: 3.3rem;font-weight: bold;margin: 0 0 4rem;font-feature-settings: "palt";}
.ttl_01 span{display: block;}
.ttl_01 .sub{padding: 0 0.5rem;color: #412f00;}
.ttl_01 .main{font-size: 6.5rem;font-weight: 900;padding: 2rem 0 1.5rem;}

/*--- bg ---*/
.bg_ptrn01{background: url(./default_bg_pattern01.png) repeat;background-size: 5.2rem;}
.bg_ptrn02{background: url(./default_bg_pattern02.png) repeat;background-size: 2.1rem;}
.bg_grad{background: linear-gradient(to right, #c19324 -4%,#edd482 6%,#edd482 10%,#c49432 25%, #ffe190 45%, #deb855 85%, #885900 100%);}

/*--- box ---*/
.box01{margin: 5rem 3rem;border-radius: 1.5rem;padding: 5rem 3.5rem;}
.box01.bg01{background: url(./default_bg_pic.png) center top  / 100% no-repeat #fff;box-shadow: 0 0 3.9rem #a65454;}

/*--- area_txt ---*/
.area_txt{padding: 0 1.5rem;}
.area_txt p{margin-bottom: 5rem;font-weight: 500;font-feature-settings: "palt";}
.area_txt p:last-child{margin-bottom: 0;}

/*--- area_campaign ---*/
.area_campaign{margin: 4rem 0 4.5rem;padding: 2rem 0 0;background: url(./default_campaign_bg.png) center top  / cover no-repeat;font-feature-settings: "palt";}
.area_campaign .ttl{position: relative;}
.area_campaign .ttl .sub{text-align: center;}
.area_campaign .ttl .sub span{display: inline-block;color: #412f00;border-radius: 3rem;padding: 0 4rem;font-size: 2.9rem;font-weight: bold;text-align: center;letter-spacing: 0.1em;}
.area_campaign .ttl .main{background: #412f00;font-size: 4.6rem;color: #fff;font-weight: 900;text-align: center;padding: 2.5rem 1rem 1.5rem;margin-top: -2rem;}
.area_campaign .txt{padding: 2.5rem 2rem 2rem;}

/*--- btn ---*/
.btn_regist {position: relative;max-width: 54.6rem;margin: auto;}
.btn_regist > a {position: relative;display: block;border-radius: 2.2rem;z-index: 2;animation: pushRepeat 2.2s ease-in-out infinite;transition: 0.3s ease;margin-bottom: 2rem;}
.btn_regist::after {position: absolute;content: "";bottom: -2rem;left: 0;right: 0;height: 50%;background: #0a8a33;border-radius: 2.2rem;max-width: 54.4rem;margin: auto;}
@keyframes pushRepeat {
0% { transform: translateY(0); }
10% { transform: translateY(0.6rem); }
20% { transform: translateY(0.3rem); }
30% { transform: translateY(0.6rem); }
40% { transform: translateY(0); }
100% { transform: translateY(0); }
}

/*--- list ---*/
ul.list_bubble{margin: 0 -1.5rem;}
ul.list_bubble > li{display: flex;align-items: flex-start;justify-content: space-between;margin:0 0 3rem 0;font-feature-settings: "palt";letter-spacing: 0.01em;}
ul.list_bubble > li .icon{width: 10.7rem;}
ul.list_bubble > li p{width:calc(100% - 10.7rem - 2.6rem);position:relative;display: inline-block;word-wrap: break-word;word-break: break-word;padding:2.5rem 3rem;background: #ffe0e0;border-radius:1.5rem;font-size: 3rem;font-weight: bold;}
ul.list_bubble > li p::before{position: absolute;content: "";top: 0;left: -2.5rem;border-style: solid;border-width: 0 4rem 4rem 0;border-color: transparent #ffe0e0 transparent transparent;}

/*--- footer ---*/
footer {color: #FFF;background: #c90000;text-align: left;position: relative;padding-top: 2rem;}
footer nav{width:100%;}
footer nav ul > li > a{position: relative;display: block;color: #FFF;padding: 2rem 3rem 2rem 9rem;font-size: 2.5rem;}
footer nav ul > li:last-child > a{border-bottom: none;}
footer nav ul > li > a:before{position: absolute;content: "";top: 3rem;left: 6.5rem;width: 0;height: 0;
 border-style: solid;
 border-top: 1rem solid transparent;
 border-bottom: 1rem solid transparent;
 border-left: 1.5rem solid #fff;
 border-right: 0;}
footer nav ul li a:hover {text-decoration: underline;}
footer .copyright{text-align: center;font-size: 2rem;padding: 5rem 0;}


/*========== section block ==========*/
/*--- blc_mv ---*/
#blc_mv{position:relative;overflow:hidden;min-height: 74.7rem;
 background:url(./default_mv_bg.png) 0 0 / cover no-repeat;padding: 4rem 0 9rem;}
#blc_mv .ttl > h1{width: 27.2rem;}
#blc_mv .ttl{display: flex;align-items: center;justify-content: space-between;margin: 0 2rem 0 1.5rem;}
#blc_mv .ttl > .badge {display: flex;align-items: center;justify-content: space-between;width: calc(100% - 27.2rem);margin-bottom: 1rem;}
#blc_mv .ttl > .badge .badge_pair {position: relative;display: flex;align-items: center;gap: .7rem;}
#blc_mv .ttl > .badge .badge_pair .badge_item img {display: block;max-width: 12.7rem;}
#blc_mv .ttl > .badge .txt {margin-left: -2rem;}
#blc_mv .ttl > .badge .amp {position: absolute;left: 11rem;top: 4rem;font-size: 6.9rem;font-weight: bold;z-index: 2;text-shadow: 0 0 0.7rem #fff, 0 0 0.7rem #fff, 0 0 0.7rem #fff, 0 0 0.7rem #fff;}
#blc_mv .ttl > .badge .badge_pair .badge_item {position: relative;display: inline-block;width: 12.7rem;height: auto;overflow: hidden;}
#blc_mv .ttl > .badge .badge_pair .badge_item.js_inview{opacity: 1;}
#blc_mv .ttl > .badge .badge_pair .badge_item.active::before {content: "";position: absolute;top: 0;left: -100%;width: 60%;height: 100%;background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.5) 50%, transparent 100%);transform: skewX(-20deg);animation: shine 1.5s ease;z-index: 2;}
@keyframes shine {
0% { left: -100%; }
60% { left: 100%; }
100% { left: 100%; }
}

#blc_mv .catch{margin: 5rem 31rem 0 3rem;}
#blc_mv .catch .main{margin-top: 4rem;}


/*--- blc_lead ---*/
.blc_lead{margin-top: -9rem;}


/*--- blc_qa ---*/
.blc_qa{background: url(./default_qa_bg_top.png) center top  / 100% no-repeat,url(./default_qa_bg_bottom.png) center bottom  / 100% no-repeat #fff;padding: 5rem 0 2rem;position: relative;}
.blc_qa::after {position: absolute;content: "";left: 0;right: 0;bottom: -4rem;margin: auto;display: block;width: 0;height: 0;border-style: solid;border-width: 4rem 5rem 0;border-color: #ffe0e0 transparent transparent transparent;z-index: 1;}
.blc_qa h2.ttl_01{margin-right: 6.5rem;margin-left: 6.5rem;}
.blc_qa h2.ttl_01 .main{width: 17.8rem;margin: auto;line-height: 1;padding-bottom: 2rem;padding-top: 3.5rem;}
.blc_qa ul.list_bubble{padding: 0 7.5rem;}
.blc_qa ul.list_qa > li.box01{box-shadow: 0 0 3.9rem #dbdbdb;padding: 5rem;font-feature-settings: "palt";}
.blc_qa ul.list_qa > li.box01 > dl > dt{background: #c90000;margin: 0 -5rem 4rem;color: #fff;display: flex;justify-content: space-between;align-items: center;padding: 3.5rem 3rem 3.5rem 0;font-feature-settings: "palt";}
.blc_qa ul.list_qa > li.box01 > dl > dt .num{color: #412f00;font-size: 7.6rem;font-weight: bold;width: 17rem;height: 12rem;text-align: center;line-height: 1.4;}
.blc_qa ul.list_qa > li.box01 > dl > dt .txt{width: calc(100% - 17rem - 3rem);font-size: 3.6rem;font-weight: 500;line-height: 1.7;}
.blc_qa ul.list_qa > li.box01 > dl > dd{font-weight: 500;}
.blc_qa ul.list_qa > li.box01 > dl > dd > ul{display: flex;justify-content: space-between;margin: 6rem 0 4rem;}
.blc_qa ul.list_qa > li.box01 > dl > dd > ul > li{width: calc((100% - 8rem) / 2);min-height: 29rem;background: url(./default_qa_pic01.png) center 3rem / 13.3rem no-repeat #fff;border: solid 0.4rem #c90000;border-radius: 1rem;padding: 21rem 0 2rem;position: relative;margin-left: 1.2rem;display: flex;flex-direction: column;}
.blc_qa ul.list_qa > li.box01 > dl > dd > ul > li:nth-child(2){background: url(./default_qa_pic02.png) center 3rem / 14.7rem no-repeat #fff;}
.blc_qa ul.list_qa > li.box01 > dl > dd > ul > li span{display: block;text-align: center;font-size: 3.4rem;font-weight: 600;padding: 1rem 0.5rem;flex-grow: 1;align-content: center;color: #412f00;line-height: 1.2;letter-spacing: -0.05em;}
.blc_qa ul.list_qa > li.box01 > dl > dd > ul > li::before {position: absolute;content: "1";top: -2.5rem;left: -2.5rem;width: 6.2rem;height: 6.2rem;border-radius: 50%;background: #c90000;color: #fff;text-align: center;align-content: center;font-weight: 600;}
.blc_qa ul.list_qa > li.box01 > dl > dd > ul > li:nth-child(2)::before{content: "2";}


/*--- blc_voice ---*/
.blc_voice {padding: 9rem 0 5rem;}
.blc_voice h2.ttl_01{margin-right: 6.5rem;margin-left: 6.5rem;}
.blc_voice ul.list_voice > li.box01{background: #fff;border: solid #c90000 .4rem;position: relative;margin-top: 9rem;font-feature-settings: "palt";padding: 5rem;}
.blc_voice ul.list_voice > li.box01 > dl > dt{position: relative;background: #c90000;align-content: center;display: inline-block;color: #fff;font-size: 3.6rem;padding: 0 3.5rem 0 9.5rem;min-height: 6.5rem;top: -8.5rem;left: -4rem;font-weight: 500;}
.blc_voice ul.list_voice > li.box01 > dl > dt::before{position: absolute;content: "";top: calc(50% - 4.6rem);left: -2rem;background: url(./default_voice_icon01.png) center left / 100% no-repeat;width: 9.2rem;min-height: 9.2rem;}
.blc_voice ul.list_voice > li.box01 > dl > dt.js_inview{opacity: 1;}
.blc_voice ul.list_voice > li.box01 > dl > dt.active::before{opacity: 1;
-webkit-animation:pop 1s ease 1;
animation: pop 1s ease 1;
}
.blc_voice ul.list_voice > li.box01 > dl > dt:after{content: "";position: absolute;top: 0;right: -1.5rem;width: 1.5rem;height: 100%;background: #c90000;padding-right: calc(1rem + 1px);clip-path: polygon(0% 0%, 100% 0%, calc(100% - 1.5rem) 50%, 100% 100%, 0% 100%);}
.blc_voice ul.list_voice > li.box01 > dl > dd.profile{background: url(./default_voice_img01.png) center left / 22rem no-repeat;padding: 0 0 0 25rem;min-height: 15.9rem;text-align: center;font-weight: 600;line-height: 1.3;margin: -2.5rem 0 4rem;}
.blc_voice ul.list_voice > li.box01:nth-child(2) > dl > dd.profile{background-image: url(./default_voice_img02.png);}
.blc_voice ul.list_voice > li.box01 > dl > dd.profile .name > span{display: inline-block;}
.blc_voice ul.list_voice > li.box01 > dl > dd.profile .name > span .fs50{font-size: 5rem;font-weight: bold;}
.blc_voice ul.list_voice > li.box01 > dl > dd.profile .name > span .fs40{font-size: 4rem;}
.blc_voice ul.list_voice > li.box01 > dl > dd.comment {font-weight: 500;}


/*--- blc_last ---*/
.blc_last{background: url(./default_last_bg.png) center top  / 100% no-repeat #fff;padding-bottom: 5rem;}
.blc_last h2{padding: 4rem 3rem 0;}
.blc_last .box01{background: #fff;border: solid #c90000 .4rem;position: relative;padding-top: 11rem;margin-top: -1rem;}
.blc_last .box01::before{position: absolute;content: "";top: -3.5rem;left: 0;right: 0;background: url(./default_last_ribbon.png) center top / 100% no-repeat;width: 100%;min-height: 10.1rem;}
.blc_last .area_note{position: relative;padding: 13.5rem 4rem 3rem;margin: 7.5rem 0 0;font-feature-settings: "palt";letter-spacing: -0.02em;}
.blc_last .area_note::before{position: absolute;content: "";top: 4rem;left: 0;right: 0;margin: auto;background: url(./default_note_icon.png) center top / 100% no-repeat;width: 9.4rem;min-height: 8.4rem;}
.blc_last .area_note.js_inview{opacity: 1;}
.blc_last .area_note.active::before{opacity: 1;
 -webkit-animation: 1.3s ease both flash;
 animation: 1.3s ease both flash;
}
@-webkit-keyframes flash {
from,
25%,
51%,
75%{opacity: 0;}
26%,
50%,
76%,
to {opacity: 1;}
}
@keyframes flash {
from,
25%,
51%,
75%{opacity: 0;}
26%,
50%,
76%,
to {opacity: 1;}
}
.blc_last .area_note p{font-weight: bold;}
.blc_last .area_note .ttl{font-size: 5rem;border-bottom: solid #fff 1rem;margin-bottom: 2.5rem;}
.blc_last .area_note .ttl span{display: block;margin-bottom: 1rem;}




/*========== Responsive ==========*/
@media screen and (min-width:750px) { /* 750px以上 */
html{font-size: 62.5%;}
/**/} /* Responsive End */


/*========== common ==========*/
em{color:#ff0000;}
strong{color:#ff0000;font-weight:bold;}

.mt_0{margin-top:0 !important;}
.mt_S{margin-top:0.5em !important;}
.mt_M{margin-top:1em !important;}
.mt_L{margin-top:1.5em !important;}
.mt_LL{margin-top:2em !important;}
.mb_0{margin-bottom:0 !important;}
.mb_S{margin-bottom:0.5em !important;}
.mb_M{margin-bottom:1em !important;}
.mb_L{margin-bottom:1.5em !important;}
.mb_LL{margin-bottom:2em !important;}

.pt_0{padding-top:0 !important;}
.pt_S{padding-top:0.5em !important;}
.pt_M{padding-top:1em !important;}
.pt_L{padding-top:1.5em !important;}
.pt_LL{padding-top:2em !important;}
.pb_0{padding-bottom:0 !important;}
.pb_S{padding-bottom:0.5em !important;}
.pb_M{padding-bottom:1em !important;}
.pb_L{padding-bottom:1.5em !important;}
.pb_LL{padding-bottom:2em !important;}

.f_SS{font-size:0.6em !important;}
.f_S{font-size:0.8em !important;}
.f_L{font-size:1.2em !important;}
.f_bold{font-weight: bold !important;}

.tx_center{text-align: center;}

.f_red{color: #c90000 !important;}


/*==================================================================
   Animation
==================================================================*/
/*-- zoomRepeat --*/
.animated_zoomRepeat {
-webkit-animation: zoomRepeat 1.5s ease-in-out infinite;
animation: zoomRepeat 1.5s ease-in-out infinite;
}
@-webkit-keyframes zoomRepeat {
0% {-webkit-transform: scale(0.9);}
30% {-webkit-transform: scale(1, 1);}
60% {-webkit-transform: scale(0.9);}
100% {-webkit-transform: scale(0.9);}
}
@keyframes zoomRepeat {
0% {transform: scale(0.9);}
30% {transform: scale(1, 1);}
60% {transform: scale(0.9);}
100% {transform: scale(0.9);}
}

.js_inview{opacity: 0;}
/*-- fadeIn inview --*/
.animated_fadeIn.active{opacity: 1;
-webkit-animation:fadeIn 1s ease 1;
animation: fadeIn 1s ease 1;
}
@-webkit-keyframes fadeIn {
from {opacity: 0;}
to {opacity: 1;}
}
@keyframes fadeIn {
from {opacity: 0;}
to { opacity: 1;}
}

/*-- fadeInUp inview --*/
.animated_fadeInUp.active{opacity: 1;
-webkit-animation:fadeInUp 1s ease 1;
animation: fadeInUp 1s ease 1;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(1rem); }
100% { opacity: 1; transform: translateY(0); }
}

/*-- pop inview --*/
.animated_pop.active{opacity: 1;
-webkit-animation:pop 1s ease 1;
animation: pop 1s ease 1;
}
@keyframes pop {
0% { transform: scale(1); }
50% { transform: scale(1.08); }
100% { transform: scale(1); }
}

/*-- zoomIn inview --*/
.animated_zoomIn.active{opacity: 1;
-webkit-animation:zoomIn 0.8s ease 1;
animation: zoomIn 0.8s ease 1;
}
@-webkit-keyframes zoomIn {
from {
opacity: 0;
-webkit-transform: scale3d(.3, .3, .3);
transform: scale3d(.3, .3, .3);
}
50% {
opacity: 1;
}
}
@keyframes zoomIn {
from {
opacity: 0;
-webkit-transform: scale3d(.3, .3, .3);
transform: scale3d(.3, .3, .3);
}
50% {
opacity: 1;
}
}