@charset "utf-8";
html {
    font-size: 62.5%;
}
body {
    font-family: 'Zen Maru Gothic',sans-serif;
    font-size: 2.8rem;
    font-weight: 300;
    line-height: 1.3;
    color: #032c76;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    overscroll-behavior-y: none;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: unset;
    background: #eee;
    padding: 9.5rem 0 0 0;
}
.font_zen {
    font-family: 'Zen Kaku Gothic New',sans-serif;
}
.font_noto {
    font-family: 'Noto Sans JP',sans-serif;
    font-weight: 500;
}
.dblock,
.pc {
    display: block;
}
.dnone,
.sp {
    display: none;
}
.tac {
    text-align: center;
}
.tar {
    text-align: right;
}
.relative {
    position: relative;
}
.z1 {
    z-index: 1;
}
.collapse {
    cursor: pointer;
    position: relative;
}
.skew {
    position: relative;
}
.skew::before {
    content: "";
    display: block;
    width: 75rem;
    height: 12rem;
    position: absolute;
    bottom: 0;
}
.skew01::before {
    background: url(../img/common/skew01.webp) no-repeat center top;
    background-size: cover;
}
.skew02::before {
    background: url(../img/common/skew02.webp) no-repeat center top;
    background-size: cover;
}
.skew03::before {
    background: url(../img/common/skew03.webp) no-repeat center top;
    background-size: cover;
}
.skew04::after {
    content: "";
    display: block;
    width: 75rem;
    height: 12rem;
    position: absolute;
    top: 0;
    background: url(../img/common/skew04.webp) no-repeat center top;
    background-size: cover;
}
.skew05::before {
    background: url(../img/common/skew05.webp) no-repeat center top;
    background-size: cover;
}

.notes {margin: 0 3rem;}
#container {
    max-width: 75rem;
    margin: 0 auto;
    overflow: hidden;
    background: #fff;
}
.box {
    position: relative;
    padding-left: 2rem;
    padding-right: 2rem;
}
.m_box {
    position: relative;
    padding-left: 5rem;
    padding-right: 5rem;
}
.s_box {
    position: relative;
    padding-left: 8rem;
    padding-right: 8rem;
}
.white_box {
    background: #fff;
    box-shadow: 0.2rem 0.2rem 2.1rem #113f7e80;
    border-radius: 2.3rem;
}
.mark {
    background: #fff url(../img/common/mark.webp) no-repeat 0.5rem 0.5rem;
    background-size: 6rem;
}
.dotted {
    background: url(../img/triple_attack/dotted.webp) no-repeat center top;
    background-size: contain;
    height: 0.2rem;
    border: none;
}
.flex {
    display: flex;
}
.sec,
.sec_rev {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.sec_rev {
    flex-direction: row-reverse;
}
.jcc {
    justify-content: center;
}
.aic {
    align-items: center;
}
.w320 > li {
    width: 32rem;
}
.mt20{
    margin-top: 2rem;
}
.mb5 {
    margin-bottom: 0.5rem;
}
.mb10 {
    margin-bottom: 1rem;
}
.mb15 {
    margin-bottom: 1.5rem;
}
.mb20 {
    margin-bottom: 2rem;
}
.mb25 {
    margin-bottom: 2.5rem;
}
.mb30 {
    margin-bottom: 3rem;
}
.mb35 {
    margin-bottom: 3.5rem;
}
.mb40 {
    margin-bottom: 4rem;
}
.mb45 {
    margin-bottom: 4.5rem;
}
.mb50 {
    margin-bottom: 5rem;
}
.mb60 {
    margin-bottom: 6rem;
}
.mb75 {
    margin-bottom: 7.5rem;
}
.mb90 {
    margin-bottom: 9rem;
}
.mb120 {
    margin-bottom: 12rem;
}
.mb150 {
    margin-bottom: 15rem;
}
.mbm5 {
    margin-bottom: -0.5rem;
}
.mr5 {
    margin-right: 0.5rem;
}
.mr10 {
    margin-right: 1rem;
}
.ml20 {
    margin-left: 2rem;
}
.ml10r5 {
    margin: 0 0.5rem 0 1rem;
}
.pb5 {
    padding-bottom: 0.5rem;
}
.pb15 {
    padding-bottom: 1.5rem;
}
.pb30 {
    padding-bottom: 3rem;
}
.pb40 {
    padding-bottom: 4rem;
}
.pb45 {
    padding-bottom: 4.5rem;
}
.pb60 {
    padding-bottom: 6rem;
}
.pb90 {
    padding-bottom: 9rem;
}
.pb120 {
    padding-bottom: 12rem;
}
.pb150 {
    padding-bottom: 15rem;
}
.pt10 {
    padding-top: 1rem;
}
.pt30 {
    padding-top: 3rem;
}
.pt40 {
    padding-top: 4rem;
}
.pt45 {
    padding-top: 4.5rem;
}
.pt50 {
    padding-top: 5rem;
}
.pt60 {
    padding-top: 6rem;
}
.pt90 {
    padding-top: 9rem;
}
.pt120 {
    padding-top: 12rem;
}
.pt150 {
    padding-top: 15rem;
}
.ptb15 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
.ptb20 {
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.ptb30 {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.ptb60 {
    padding-top: 6rem;
    padding-bottom: 6rem;
}
.ptb90 {
    padding-top: 9rem;
    padding-bottom: 9rem;
}
.p30 {
    padding: 3rem;
}
.p45 {
    padding: 4.5rem;
}
.p60 {
    padding: 6rem;
}
.plr30 {
    padding-left: 3rem;
    padding-right: 3rem;
}
.plr60 {
    padding-left: 6rem;
    padding-right: 6rem;
}
.c_img {
    display: block;
    margin-inline: auto;
    text-align: center;
}
.r_img {
    display: block;
    margin-left: auto;
}
.img_h {
    transition: 0.3s;
}
.img_h:hover {
    opacity: 0.8;
}
.white_bg {
    background: #fff;
}
.gray_bg {
    background: #e6ebf5;
}
.pink_bg {
    background-image: linear-gradient(to bottom right, #8BCEFB 20%, #FC81AE 70%, #FF87A2 100%);
}
.blue_bg02 {
    background: #003f9a;
}
.blue_bg03 {
    background: #113f7e;
}
.blue_bg04 {
    background: linear-gradient(135deg, #003f9a 0, #0143a4 50%, #008eda 100%);
}
.blue_bg05 {
    background: #C9F4FD;
}
.yellow_bg01{
    background-color: #FFF3C7;
}
.blue_bg06 {
    background: #93C2FF;
}
.blue_bg07 {
    background: #B1DCFD;
}
.lblue_bg01 {
    background: #58a9ff;
}
.lblue_bg02 {
    background: #177fc4;
}
.lblue_bg03 {
    background: #327fc4;
}
.lblue_bg04 {
    background: #73bcec;
}
.pink {
    color: #FF7BAC;
}
.yellow {
    color: #fae67d;
}
.white {
    color: #fff;
}
.grey02 {
    color: #4D4D4D;
}
.blue {
    color: #032C76;
}
.blue02 {
    color: #29ABE2;
}
.fs14 {
    font-size: 1.4rem;
}
.fs16 {
    font-size: 1.6rem;
}
.fs19 {
    font-size: 1.9rem;
}
.fs20 {
    font-size: 2rem;
}
.fs21 {
    font-size: 2.1rem;
}
.fs22 {
    font-size: 2.2rem;
}
.fs24 {
    font-size: 2.4rem;
}
.fs25 {
    font-size: 2.5rem;
}
.fs26 {
    font-size: 2.6rem;
}
.fs28 {
    font-size: 2.8rem;
}
.fs30 {
    font-size: 3rem;
}
.fs32 {
    font-size: 3.2rem;
}
.fs34 {
    font-size: 3.4rem;
}
.fs36 {
    font-size: 3.6rem;
}
.fs38 {
    font-size: 3.8rem;
}
.fs39 {
    font-size: 3.9rem;
}
.fs40 {
    font-size: 4rem;
}
.fs41 {
    font-size: 4.1rem;
}
.fs42 {
    font-size: 4.2rem;
}
.fs44 {
    font-size: 4.4rem;
}
.fs46 {
    font-size: 4.6rem;
}
.fs47 {
    font-size: 4.7rem;
}
.fs48 {
    font-size: 4.8rem;
}
.fs49 {
    font-size: 4.9rem;
}
.fs50 {
    font-size: 5rem;
}
.fs52 {
    font-size: 5.2rem;
}
.fs53 {
    font-size: 5.3rem;
}
.fs54 {
    font-size: 5.4rem;
}
.fs55 {
    font-size: 5.5rem;
}
.fs57 {
    font-size: 5.7rem;
}
.fs58 {
    font-size: 5.8rem;
}
.fs60 {
    font-size: 6rem;
}
.fs64 {
    font-size: 6.4rem;
}
.fs65 {
    font-size: 6.5rem;
}
.fs66 {
    font-size: 6.6rem;
}
.fs68 {
    font-size: 6.8rem;
}
.fs69 {
    font-size: 6.9rem;
}
.fs70 {
    font-size: 7rem;
}
.fs71 {
    font-size: 7.1rem;
}
.fs72 {
    font-size: 7.2rem;
}
.fs74 {
    font-size: 7.4rem;
}
.fs78 {
    font-size: 7.8rem;
}
.fs80 {
    font-size: 8rem;
}
.fs84 {
    font-size: 8.4rem;
}
.fs100 {
    font-size: 10rem;
}
.fs102 {
    font-size: 10.2rem;
}
.fs120 {
    font-size: 12rem;
}
.fs140 {
    font-size: 14rem;
}
.fs145 {
    font-size: 14.5rem;
}
.fs156 {
    font-size: 15.6rem;
}
.fs160 {
    font-size: 16rem;
}
.fw100 {
    font-weight: 100;
}
.fw300 {
    font-weight: 300;
}
.fw400 {
    font-weight: 400;
}
.fw500 {
    font-weight: 500;
}
.fw700 {
    font-weight: 700;
}
.fw900 {
    font-weight: 900;
}
h2,
h3,
h4 {
    font-weight: 300;
}
mark {
    display: inline-block;
    position: relative;
    z-index: 1;
    line-height: 1;
    color: #4D4D4D;
}
.roboto .marker::after {
    bottom: 0;
}
.marker::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.6rem;
    width: 100%;
    height: 2.4rem;
    background: #F9E57F;
    z-index: -1;
    transform: skewX(-30deg);
}
.wavyline02::after,
.wavyline::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1.4rem;
    width: 100%;
    height: 1rem;
    z-index: -1;
}
.wavyline::after {
    background: url(../img/common/wavyline01.webp) no-repeat center top;
    background-size: cover;
}
.wavyline02::after {
    background: url(../img/common/wavyline02.webp) no-repeat center top;
    background-size: cover;
}
.speech {
    position: relative;
    z-index: 1;
    padding: 0 3rem;
}
.speech::after,
.speech::before {
    content: "";
    position: absolute;
    bottom: -0.6rem;
    width: 0.2rem;
    height: 100%;
    background: #fff;
    z-index: -1;
}
.speech02::after,
.speech02::before {
    background: #c94284;
}
.speech::before {
    left: 0;
    transform: rotate(-30deg);
}
.speech::after {
    right: 0;
    transform: rotate(30deg);
}
.ts60 .speech::after,
.ts60 .speech::before {
    box-shadow: 0.4rem 0.4rem 0.2rem #082d59aa;
}
.ts45 .speech::after,
.ts45 .speech::before {
    box-shadow: 0.4rem 0.4rem 0.2rem #082d5970;
}
.italic {
    font-style: italic;
}
.lh1 {
    line-height: 1;
}
.lh11 {
    line-height: 1.1;
}
.lh12 {
    line-height: 1.2;
}
.lh15 {
    line-height: 1.5;
}
.lh18 {
    line-height: 1.8;
}
.lsm3 {
    letter-spacing: -0.3rem;
}
.lsm30 {
    letter-spacing: -3rem;
}
.ls0 {
    letter-spacing: 0;
}
.w90 {
    transform-origin: 0 0;
    transform: scaleX(0.9);
    width: 111%;
}
.w85 {
    transform-origin: 0 0;
    transform: scaleX(0.85);
    width: 117.6%;
}
.w80 {
    transform-origin: 0 0;
    transform: scaleX(0.8);
    width: 125%;
}
.ts60 {
    text-shadow: 0.4rem 0.4rem 0.2rem #082d59aa;
}
.ts45 {
    text-shadow: 0.4rem 0.4rem 0.2rem #082d5970;
}
footer a {
    display: inline-block;
    margin: 0 1rem;
}
@media screen and (max-width: 749px) {
    html {
        font-size: 1.33333vw;
    }
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
}
