html,
body {
    scroll-behavior: smooth
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}

img {
    vertical-align: top;
    max-width: 100%;
    height: auto;
}

.spOnly {
    display: none
}

.pcOnly {
    display: block
}

.t-left {
    text-align: left !important
}

.t-center {
    text-align: center !important
}

.t-right {
    text-align: right !important
}

body {
    font-family: "Noto Sans JP", "Noto Sans Japanese", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
    color: #221e1f;
    text-align: center;
    margin: 0 auto;
    line-height: 1.6;
    opacity: 0;
    transition: all .2s
}

body.active {
    transition: all .2s;
    opacity: 1
}

ul {
    list-style: none
}

.wrapper {
    max-width: 870px;
    margin: auto
}

.yellowline {
    display: inline;
    background: linear-gradient(transparent 50%, #ffde00 0, #ffde00 100%)
}

.c-blue {
    color: #0070c0
}


.c-black {
    color: #221e1f
}

.d-flex {
    display: flex
}

.border-top {
    border-top: 2px solid #e2e2e2
}

.width870 {
    max-width: 870px
}

.header_logo{
    text-align: left;
}

.custom-select {
    width: 100%;
    position: relative;
    max-width: 500px;
    margin: min(1.1764705882vw, 10px) auto
}

.custom-select.active ul {
    height: auto;
    border: min(0.2352941176vw, 2px) solid #5d5d5d;
    z-index: 10
}

.custom-select.active .value {
    color: #5d5d5d;
    border: min(0.2352941176vw, 2px) solid #5d5d5d
}

.custom-select.active .value::after {
    position: absolute;
    content: "";
    background: url(/rs/186-OXX-889/images/shimakosaku_Ltype_202412_img_ico_select.png) no-repeat;
    background-size: contain;
    width: min(3.7647058824vw, 32px);
    height: min(1.8823529412vw, 16px);
    top: 50%;
    right: min(3.1764705882vw, 27px);
    transform: translate(0, -50%)
}

.custom-select .value {
    width: 100%;
    padding: min(1.2941176471vw, 11px);
    font-size: min(2.8235294118vw, 24px);
    font-weight: 500;
    border: min(0.2352941176vw, 2px) solid #5d5d5d;
    border-radius: min(0.4705882353vw, 4px);
    cursor: pointer;
    position: relative;
    text-align: left;
    color: #5d5d5d;
    height: min(7.4117647059vw, 63px)
}

.custom-select .value::after {
    position: absolute;
    content: "";
    background: url(/rs/186-OXX-889/images/shimakosaku_Ltype_202412_img_ico_select.png) no-repeat;
    background-size: contain;
    width: min(3.7647058824vw, 32px);
    height: min(1.8823529412vw, 16px);
    top: 50%;
    right: min(1.7647058824vw, 15px);
    transform: translate(0, -50%)
}

.custom-select li {
    font-size: min(2.8235294118vw, 24px);
    font-weight: 500;
    cursor: pointer;
    transition: all .2s;
    border-bottom: min(0.1176470588vw, 1px) solid #f5f5f5;
    padding: min(1.1764705882vw, 10px)
}

.custom-select li:last-child {
    border-bottom: 0
}

.custom-select li:hover {
    background-color: #fdf5e2;
    transition: all .2s;
    color: #5d5d5d
}

.custom-select ul {
    padding: min(1.1764705882vw, 10px) 0;
    height: 0;
    width: 100%;
    border-radius: min(0.4705882353vw, 4px);
    background-color: #fff;
    overflow: hidden;
    position: absolute;
    top: min(7.4117647059vw, 63px);
    z-index: -10
}

.btn-cta a{
    transition: transform .2s ease-out, box-shadow .2s ease-out;
    display: inline-block;
}
.btn-cta a:hover{
    transform: translate(0.2rem, 0.5rem);
}

.btn-banner {
    position: relative;
    text-align: center;
    margin: min(3.1764705882vw, 27px) 0
}

.btn-banner a {
    display: inline-block
}

.btn-banner a:hover {
    opacity: .8
}

.t-note li {
    padding-left: min(1.7647058824vw, 15px);
    position: relative;
    font-size: min(1.6470588235vw, 14px);
    text-align: left
}

.t-note li::before {
    background-color: #000;
    left: 0;
    border-radius: 50%;
    content: "";
    position: absolute;
    width: min(1.4117647059vw, 12px);
    height: min(1.4117647059vw, 12px);
    top: min(0.5882352941vw, 5px)
}

table {
    width: 100%;
    border: min(0.1176470588vw, 1px) solid #9fa0a0;
    border-collapse: collapse;
    border-spacing: 0
}

table th {
    color: #3e3a39;
    background-color: #e3f0e0;
    font-weight: normal
}

table tr,
table td,
table th {
    padding: min(0.4117647059vw, 3.5px);
    font-size: min(2.3529411765vw, 20px);
    border: min(0.1176470588vw, 1px) solid #9fa0a0
}

.content-tab {
    position: relative;
    z-index: -100;
    opacity: 0;
    height: 0;
    overflow: hidden
}

.content-tab.content-active {
    opacity: 1;
    height: auto;
    z-index: 100
}

header {
    padding: min(1.8823529412vw, 16px) min(1.1764705882vw, 10px)
}

.txt-halt{
    font-feature-settings: "halt";
}
.boxShadow{
    background: #fff;
    box-shadow: 14px 17px 0 #7ec5f7;
    border: min(0.3529411765vw, 3px) solid #221e1f;
}
.highlight {
    background: -webkit-gradient(linear, left top, left bottom, from(#fff27a), to(#fff27a)) 0 93%/100% 13px no-repeat;
    background: linear-gradient(#fff27a, #fff27a) 0 93%/100% 13px no-repeat;
}
@media screen and (max-width: 750px) {
    .highlight {
        background: -webkit-gradient(linear, left top, left bottom, from(#fff27a), to(#fff27a)) 0 93%/100% 1.529vw no-repeat;
        background: linear-gradient(#fff27a, #fff27a) 0 93%/100% 1.529vw no-repeat;
    }
    .boxShadow{
        border: 2px solid #221e1f;
        box-shadow: 1.647vw 2vw 0 #7ec5f7;
    }
}

#mv {
    position: relative;
    background: #eaeaea;
    text-align: center;
    background: linear-gradient(to right,#0070c0 50%, #eaeaea 50%);
}

#mv .mv_btn span {
    color: #ffde00
}

#mv .btn {
    position: absolute;
    bottom: min(4.2352941176vw, 36px);
    left: 50%;
    transform: translateX(-50%)
}

.ballon {
    padding-top: min(7.4117647059vw, 63px);
    position: relative
}

.ballon i {
    position: absolute;
    font-style: normal;
    top: min(5.0588235294vw, 43px);
    left: 50%;
    transform: translate(-50%, -110%);
    background: #636363;
    padding: min(0.2352941176vw, 2px) min(5.2941176471vw, 45px);
    z-index: 100;
    color: #fff;
    border-radius: min(1.1764705882vw, 10px);
    width: -moz-max-content;
    width: max-content;
    max-width: 100%
}

.ballon::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-left: min(1.0588235294vw, 9px) solid rgba(0, 0, 0, 0);
    border-right: min(1.0588235294vw, 9px) solid rgba(0, 0, 0, 0);
    left: 50%;
    top: min(4.9411764706vw, 42px);
    transform: translate(-50%, -50%);
    border-top: min(1.7647058824vw, 15px) solid #636363
}

.ballon.orange-ballon i {
    background: #e26d1f;
    color: #fff;
    padding: min(1.1764705882vw, 10px) min(3.2941176471vw, 28px);
    top: min(3.8823529412vw, 33px);
    line-height: 1
}

.ballon.orange-ballon::after {
    border-top: min(1.7647058824vw, 15px) solid #e26d1f;
    border-left: min(1.0588235294vw, 9px) solid rgba(0, 0, 0, 0);
    border-right: min(1.0588235294vw, 9px) solid rgba(0, 0, 0, 0);
    top: min(4vw, 34px)
}

.btn,
.mktoButtonRow {
    width: 50%;
    position: relative;
    z-index: 2;
    max-width: 470px;
    margin: auto
}

.btn span,
.mktoButtonRow span {
    color: #ffde00;
    text-shadow: 0 0 min(0.7058823529vw, 6px) #484848
}

.btn a,
.btn button,
.mktoButtonRow a,
.mktoButtonRow button {
    outline: 0;
    border: 0;
    display: block;
    border-radius: min(1.1764705882vw, 10px);
    font-size: min(3.5294117647vw, 30px);
    transition: transform .2s ease-out, box-shadow .2s ease-out;
    position: relative;
    width: 100%;
    height: 100%;
    padding: min(0.8235294118vw, 7px) min(1.1764705882vw, 10px) min(0.9411764706vw, 8px) 0;
    border-radius: min(5.8823529412vw, 50px);
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    background: linear-gradient(to bottom, #49c3bc, #49c3bc 50%, #1caca4 50%, #1caca4);
    box-shadow: .2rem .4rem 0 0 #00867f;
    box-sizing: border-box;
    line-height: 1.25
}

.btn a:hover,
.btn button:hover,
.mktoButtonRow a:hover,
.mktoButtonRow button:hover {
    box-shadow: 0 0 0 0 #00867f;
    transform: translate(0.2rem, 0.5rem)
}

.btn a:before,
.btn button:before,
.mktoButtonRow a:before,
.mktoButtonRow button:before {
    content: "";
    position: absolute;
    z-index: 3;
    top: 50%;
    right: min(3.5294117647vw, 30px);
    transform: translate(-50%, -50%);
    border-top: min(1.1764705882vw, 10px) solid #1caca4;
    border-left: min(1.1764705882vw, 10px) solid rgba(255, 255, 255, 0);
    border-right: min(1.1764705882vw, 10px) solid rgba(255, 255, 255, 0)
}

.btn a:after,
.btn button:after,
.mktoButtonRow a:after,
.mktoButtonRow button:after {
    content: "";
    position: absolute;
    z-index: 2;
    top: 50%;
    right: min(1.8823529412vw, 16px);
    width: min(4.1176470588vw, 35px);
    transform: translate(-50%, -50%);
    height: min(4.1176470588vw, 35px);
    background-color: #fff;
    border-radius: 50%;
    box-shadow: min(0.1176470588vw, 1px) min(0.1176470588vw, 1px) 0 0 #00867f
}

.btn.btn-anchor,
.mktoButtonRow.btn-anchor {
    max-width: 100%;
    width: auto
}

.btn.btn-anchor a,
.mktoButtonRow.btn-anchor a {
    font-size: min(4.7058823529vw, 40px);
    font-weight: bold;
    padding: min(2.9411764706vw, 25px);
    margin: auto;
    width: 70%
}

.imgGroup {
    margin: min(5.8823529412vw, 60px) 0 min(6.2352941176vw, 40px) 0
}

.imgGroup img {
    margin: auto
}

.imgGroup .ttl h4 {
    font-size: min(4.4705882353vw, 38px);
    margin-bottom: min(4.3529411765vw, 37px);
    line-height: 1.3
}

#section01 {
    padding-top: min(10vw, 63px);
    position: relative;
    overflow-x: hidden;
    padding-bottom: min(16.353vw, 139px);
    background: #fff;
}
#section01 .slider {
    margin-top: min(4.353vw, 37px);
    padding: 0 30px;
}
#section01 .checkpointText {
    margin-top: min(8vw, 70px);
    border: 3px solid #221e1f;
    background: #fff;
    font-size: min(3.2vw, 28px);
    font-weight: bold;
    padding: 22px min(3.765vw, 32px) 33px;
}
#section01 .checkpointText li {
    text-align: left;
    padding-left: 40px;
    position: relative;
    background: url('/rs/186-OXX-889/images/shimakosaku_Ltype_202412_img_checkbox.png') no-repeat left top 12px;
}
#section01 .checkpointText li + li {
    margin-top: 10px;
}
#section01 .checkpointText li > span {
    display: block;
    padding: 2px 0;
    background: url('/rs/186-OXX-889/images/shimakosaku_Ltype_202412_img_dots.png') repeat-x left bottom;
}

#section01 .title {
    position: relative;
    z-index: 1
}

#section01 .listNote {
    font-size: min(1.647vw, 14px);
    margin-top: min(0.941vw, 8px);
}

#section01 .title h2 {
    font-size: min(4.706vw, 40px);
    line-height: 1.4
}

#section01 .title h2 span.pc-align {
    padding-left: .5em;
    position: relative;
    text-wrap: nowrap;
    display: block;
}

#section01 .title h2 strong.t-highlight {
    font-size: min(6.3529411765vw, 54px);
}

#section01 .title h2 span.t-small {
    font-size: min(4.706vw, 40px);
}

#section01 .title h2 span.t-pos {
    position: relative;
}

#section01 .title h2 sup {
    font-size: .5em;
    position: absolute;
    top: 0;
    left: 0;
    line-height: 1;
}

#section01 .title .ballon i {
    font-size: min(4vw, 34px)
}

#section01 .book {
    margin-top: min(5.412vw, 48px);
    margin-bottom: min(4vw, 34px);
    position: relative;
    text-align: center;
}
#section01 .book img{
    margin: auto;
}

#section01 .wrapper>p {
    margin: min(4.7058823529vw, 40px) 0;
    font-size: min(4vw, 34px);
    font-weight: bold;
    line-height: 1.5
}

#section01 .wrapper>p.yellowline {
    line-height: 1.7
}

#section01 .wrapper .txtBox {
    position: relative;
    display: block;
    line-height: 1;
    max-width: min(92vw, 782px);
    width: 100%;
    height: 100%;
    padding: min(1.882vw, 16px) 0 min(1.882vw, 16px);
    background: #fff27a;
    font-weight: 700;
    font-size: min(4.118vw, 35px);
    margin: min(11.765vw, 100px) auto min(2.353vw, 20px);
}

#section01 .wrapper .txtBox::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-left: min(4.941vw, 42px) solid rgba(0, 0, 0, 0);
    border-right: min(4.941vw, 42px) solid rgba(0, 0, 0, 0);
    left: 50%;
    top: max(-8vw, -68px);
    transform: translateX(-50%);
    border-top: min(4.118vw, 35px) solid #0070c0;
}

#section01 .wrapper .checkpoint {
    display: inline-block;
}

#section01 .wrapper .checkpointWrap {
    margin-bottom: max(-0.588vw, -5px);
}

#section01 .wrapper .checkpointWrap p {
    font-size: min(4.235vw, 36px);
    line-height: 1.556;
}

#section01 .wrapper .checkpoint>li {
    font-size: min(3.765vw, 32px);
    display: flex;
    align-items: center;
    width: fit-content;
}

#section01 .wrapper .checkpoint>li::before {
    content: '';
    width: min(5.529vw, 47px);
    height: min(4.471vw, 38px);
    background: url(/rs/186-OXX-889/images/shimakosaku_Ltype_202412_img_checkbox.png) center center no-repeat;
    background-size: contain;
    display: inline-block;
}

#section01::after {
    content: "";
    position: absolute;
    z-index: 3;
    bottom: 0;
    left: 50%;
    transform: translate(-50%);
    border-top: min(7.292vw, 140px) solid #ffffff;
    border-left: 50vw solid #e0f2ff;
    border-right: 50vw solid #e0f2ff;
    z-index: 0;
}
#section01 >*{
    position: relative;
    z-index: 1;
}

#section02 {
    padding-top: min(10.588vw, 95px);
    position: relative;
    overflow-x: hidden;
    padding-bottom: min(14.471vw, 123px);
    background-color: #e0f2ff
}

#section02::after {
    content: "";
    position: absolute;
    z-index: 3;
    bottom: 0;
    left: 50%;
    transform: translate(-50%);
    border-top: min(7.292vw, 140px) solid #e0f2ff;
    border-left: 50vw solid #fff;
    border-right: 50vw solid #fff;
    z-index: 0;
}
#section02 > *{
    position: relative;
    z-index: 1;
}

#section02 .title {
    position: relative;
    margin-bottom: min(7.647vw, 65px);
}

#section02 .title h2 {
    font-size: min(5.412vw, 46px);
    line-height: 1.3;
}

#section02 .title h2 span {
    font-size: min(6.353vw, 54px)
}


#section02 .boxContent {
}

#section02 .boxContent .content {
    padding: min(7.294vw, 62px) min(4.118vw, 35px) min(7.529vw, 64px) min(4.118vw, 35px);
}

#section02 .boxContent h3 {
    position: relative;
    display: inline-block;
    line-height: 1;
    max-width: min(49.412vw, 420px);
    width: 100%;
    height: 100%;
    padding: min(1.529vw, 13px) min(4.118vw, 35px) min(1.529vw, 13px);
    border: min(0.3529411765vw, 3px) solid #0070c0;
    color: #fff;
    background: #0070c0;
    font-weight: 700;
    font-size: min(3.2941176471vw, 28px);
    margin-bottom: min(3.529vw, 30px);
}

#section02 .boxContent .txtS {
    font-size: min(1.647vw, 14px);
    text-align: right;
}

#section02 .boxContent .imgGroup01 .txtS {
    margin-top: min(0.941vw, 5px);
    margin-bottom: 0;
}

#section02 .boxContent .imgGroup03 .imgWrap {
    margin-top: min(33.882vw, 40px);
}

#section02 .boxContent .imgWrap>img {
    margin: 0 auto;
}

#section02 .boxContent .content hr {
    margin-top: min(4.706vw, 40px);
    margin-bottom: min(7.059vw, 60px);
}

#section02 .boxContent table {
    max-width: min(62vw, 527px);
    margin: 0 auto;
}

#section02 .title .ballon i {
    background: #fff;
    color: #221e1f;
    font-size: min(4vw, 34px);
    top: min(5.1764705882vw, 44px);
    padding: min(1.0588235294vw, 9px) min(5.7647058824vw, 49px)
}

#section02 .title .ballon::after {
    border-top: min(1.1764705882vw, 10px) solid #fff
}

#section02 .boxContent p {
    font-size: min(2.8235294118vw, 24px);
    line-height: 1.5;
    margin-bottom: min(33.882vw, 33px);
}

#section02 .boxContent .imgGroup04 {
    position: relative;
}
#section02 .boxContent .imgGroup04::before {
    content:"";
    position: absolute;
    top: -15px;
    right: 6px;
    background: url(/rs/186-OXX-889/images/shimakosaku_Ltype_202412_img_illust04.png) no-repeat center / contain;
    width: min(12.353vw, 105px);
    height: min(30.588vw, 260px);
    z-index: 1;
}
#section02 .boxContent .imgGroup04 p {
    margin-bottom: min(2vw, 17px);
}

#section02 .boxContent .imgGroup04 p.txtS {
    margin-bottom: min(3.176vw, 27px);
    margin-top: max(-0.824vw, -7px);
}

#section02 .boxContent .imgGroup04 p sup {
    font-size: .5em;
}

#section03 {
    padding-top: min(4.235vw, 36px);
    position: relative
}

#section03 .illus02 {
    margin-bottom: 70px;
}
#section03 .illus03 {
    margin-bottom: 60px;
}
#section03 .title {
    position: relative
}

#section03 .title h3 {
    font-size: min(5.6470588235vw, 48px);
}

#section03 .title p {
    font-size: min(2.588vw, 22px);
    margin-bottom: min(6.824vw, 45px);
    line-height: 1.2;
}

#section03 .title h3 span {
    font-size: min(6.5882352941vw, 56px)
}

#section03 .title .ballon i {
    background: #fff;
    color: #221e1f;
    font-size: min(4vw, 34px)
}

#section03 .title .ballon::after {
    border-top: min(1.1764705882vw, 10px) solid #fff
}

#section03 .t-note li {
    line-height: 1.5
}

#section03 .boxContent .content .imgWrap {
    margin: min(3.882vw, 33px) 0 min(3.059vw, 10px);
}

#section03 .boxContent.lst {
    margin-bottom: min(7.059vw, 40px);
}

.boxContent {
    border: min(0.3529411765vw, 3px) solid #221e1f;
    margin-bottom: min(4.7058823529vw, 40px)
}

.boxContent .content {
    padding: min(3.8823529412vw, 33px) min(4.3529411765vw, 37px) min(4vw, 34px) min(4.3529411765vw, 37px)
}

.boxContent .content hr {
    border: 0;
    outline: 0;
    border-bottom: min(0.2352941176vw, 2px) solid #e2e2e2;
    margin-bottom: min(5.8823529412vw, 50px)
}

.boxContent .content>p {
    font-size: min(2.8235294118vw, 24px);
    line-height: 1.5;
    margin-bottom: min(3.4117647059vw, 29px)
}

.boxContent .content>p:first-child {
    margin-bottom: min(0vw, 0px)
}

.boxContent .content>p.t-violet {
    position: relative;
    display: inline-block;
    padding: 0 min(1.1764705882vw, 10px)
}

.boxContent .listBox {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    max-width: 720px;
    margin: auto
}

.boxContent .listBox li {
    width: 48.5%;
    margin-bottom: min(2.3529411765vw, 20px);
    position: relative;
    padding: min(2.4705882353vw, 21px);
    background-color: #fef5ec;
    font-size: min(2.8235294118vw, 24px);
    border-radius: min(0.9411764706vw, 8px);
    display: flex;
    justify-content: center;
    align-items: center
}

.boxContent .listBox li span {
    display: inline-block;
    background-color: #b173ba;
    width: min(2.9411764706vw, 25px);
    height: min(2.9411764706vw, 25px);
    border-radius: 50%;
    color: #fff;
    line-height: 1.3;
    font-size: min(2.1176470588vw, 18px)
}

.boxContent .listBox li:last-child {
    width: 100%;
    margin-bottom: 0
}

.boxContent .listNote {
    margin-top: min(0.9411764706vw, 8px);
    padding-bottom: min(4.2352941176vw, 36px)
}

.boxContent .listNote li {
    text-align: left;
    font-size: min(1.6470588235vw, 14px);
    line-height: 1.4;
    margin-bottom: min(0.1176470588vw, 1px)
}

.boxContent>.ttl {
    background-color: #0070c0;
    padding: min(0.8235294118vw, 7px) min(2.9411764706vw, 25px) min(1.1764705882vw, 10px) min(2.9411764706vw, 25px)
}

.boxContent .card {
    margin: min(4vw, 34px) 0;
    background-color: #eee;
    padding: min(1.5294117647vw, 13px) min(3.5294117647vw, 30px) min(1.1764705882vw, 10px) min(1.8823529412vw, 16px);
    justify-content: space-between;
    align-items: center;
    border-radius: min(1.1764705882vw, 10px)
}

.boxContent .card i {
    padding: min(0.8235294118vw, 7px);
    width: 41%;
    text-align: center;
    font-size: min(2.8235294118vw, 24px);
    color: #b173ba;
    background-color: #fff;
    border-radius: min(3.5294117647vw, 30px);
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 600;
    font-style: normal
}

.boxContent .card p {
    text-align: left;
    font-size: min(2.1176470588vw, 18px);
    width: 56.5%;
    line-height: 1.4
}

.boxContent table {
    margin: min(6.9411764706vw, 59px) 0 0 0
}

.boxContent table tr td:first-child {
    width: 40%
}

#section04 {
    position: relative;
    padding-top: min(6.8235294118vw, 50px);
    padding-bottom: min(8vw, 68px);
}

#section04 .title {
    position: relative
}

#section04 .title h3 {
    font-size: min(6.7058823529vw, 57px);
    margin-bottom: min(4.9411764706vw, 42px)
}

#section04 .title h3 span {
    font-size: min(6.5882352941vw, 56px)
}

.tabBox {
    position: relative;
    margin: min(3.5294117647vw, 30px) 0 min(11.1764705882vw, 95px) 0
}

.tabBox .tabHead {
    display: flex;
    justify-content: space-between;
    align-items: flex-end
}

.tabBox .tabHead .js-tabhead {
    width: 49%;
    font-size: min(3.2941176471vw, 28px);
    font-weight: bold;
    background-color: #c7c7c7;
    border-top-left-radius: min(1.1764705882vw, 10px);
    border-top-right-radius: min(1.1764705882vw, 10px);
    border: 0;
    outline: 0;
    padding: min(1.1764705882vw, 10px);
    cursor: pointer
}

.tabBox .tabHead .js-tabhead.active {
    color: #fff;
    background-color: #e26d1f;
    padding: min(2.3529411765vw, 20px) min(1.1764705882vw, 10px) min(2.1176470588vw, 18px) min(1.1764705882vw, 10px)
}

.tabBox .content-tab.content-active {
    border: min(0.3529411765vw, 3px) solid #e26d1f;
    padding: min(2.9411764706vw, 25px) min(4.4705882353vw, 38px) min(4.2352941176vw, 36px) min(4.4705882353vw, 38px);
    border-bottom-left-radius: min(1.1764705882vw, 10px);
    border-bottom-right-radius: min(1.1764705882vw, 10px)
}

.tabBox .content-tab h6 {
    font-size: min(3.2941176471vw, 28px);
    font-weight: bold;
    margin-bottom: min(1.7647058824vw, 15px);
    color: #e26d1f;
    text-align: left
}

.tabBox .content-tab table {
    width: 100%;
    border: min(0.1176470588vw, 1px) solid #636363;
    margin-bottom: min(3.5294117647vw, 30px)
}

.tabBox .content-tab table th {
    color: #3e3a39;
    background-color: #fef5ec;
    font-weight: normal;
    text-align: center
}

.tabBox .content-tab table tr,
.tabBox .content-tab table td,
.tabBox .content-tab table th {
    font-size: min(2.3529411765vw, 20px);
    border: min(0.1176470588vw, 1px) solid #636363;
    padding: min(0.5882352941vw, 5px) min(0.5882352941vw, 5px);
    text-align: left;
    height: min(7.0588235294vw, 60px)
}

.tabBox .content-tab table tr span,
.tabBox .content-tab table td span,
.tabBox .content-tab table th span {
    color: #e26d1f;
    font-size: min(5.4117647059vw, 46px);
    line-height: 1
}

.tabBox .content-tab table tr td:first-child {
    background-color: #fdf2e7
}

.tabBox .content-tab table.table01 {
    margin-bottom: min(3.8823529412vw, 33px)
}

.tabBox .content-tab table.table01 tr th,
.tabBox .content-tab table.table01 tr td {
    font-size: min(2.8235294118vw, 24px);
    padding: min(0.3529411765vw, 3px) min(1.1764705882vw, 10px);
    letter-spacing: min(-0.1176470588vw, -1px)
}

.tabBox .content-tab table.table01 tr td:first-child {
    text-align: center;
    width: 32.5%
}

.tabBox .content-tab table.table02 {
    margin-bottom: min(3.1764705882vw, 27px)
}

.tabBox .content-tab table.table02 tr th,
.tabBox .content-tab table.table02 tr td {
    font-size: min(3.5294117647vw, 30px)
}

.tabBox .content-tab table.table02 tr th .unit,
.tabBox .content-tab table.table02 tr td .unit {
    font-size: min(2.3529411765vw, 20px);
    color: #221e1f
}

.tabBox .content-tab table.table02 tr td:first-child {
    width: 33%
}

.tabBox .content-tab table.table02 tr td:last-child {
    width: 33%
}

.tabBox .content-tab table.center tr,
.tabBox .content-tab table.center td,
.tabBox .content-tab table.center th {
    text-align: center
}

.tabBox .content-tab table.center tr:first-child :not(:first-child) {
    background-color: #e26d1f;
    color: #fff
}

.tabBox .content-tab table.center tr:first-child td:first-child {
    background-color: rgba(0, 0, 0, 0)
}

.tabBox .content-tab>p {
    font-size: min(2.8235294118vw, 24px)
}

.boxCard {
    position: relative;
    margin: min(3.5294117647vw, 30px) 0 min(7.0588235294vw, 60px) 0
}

.boxCard .ttl {
    font-weight: bold;
    font-size: min(5.1764705882vw, 44px);
    margin-bottom: min(9.7647058824vw, 83px)
}

.boxCard .ttl span {
    font-size: min(5.8823529412vw, 50px)
}

.boxCard .listCard {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

.boxCard .listCard .item {
    position: relative;
    width: 32%;
    border: min(0.353vw, 3px) solid #221e1f;
    text-align: center;
    padding: min(5.4117647059vw, 46px) min(1.765vw, 15px) min(4.2352941176vw, 26px) min(1.765vw, 15px)
}

.boxCard .listCard .item span {
    position: absolute;
    top: -18px;
    left: 0;
    right: 0;
    text-align: center;
}
.boxCard .listCard .item span img{
    margin: auto;
}

.boxCard .listCard .item>img {
    margin: min(4.7058823529vw, 40px) auto min(5.6470588235vw, 48px) auto
}

.boxCard .listCard .item h6 {
    font-size: min(2.8235294118vw, 24px);
    font-weight: 700;
    line-height: 1.4
}

.boxCard .listCard .item p {
    font-size: min(2.3529411765vw, 20px);
    line-height: 1.5
}

.boxCard .listCard .item:nth-child(2)>img {
    margin: min(2vw, 17px) auto min(2.8235294118vw, 24px) auto
}

.boxCard .listCard .item:nth-child(3)>img {
    margin: min(2.9411764706vw, 25px) auto min(3.6470588235vw, 31px) auto
}

#section05 .mktoButtonRow {
    width: 100% !important;
    display: flex;
    justify-content: center;
    align-items: center
}

#section05 .mktoButtonRow span {
    margin-left: 0 !important;
    width: 70%
}

#section05 .mktoForm .mktoButtonWrap.mktoPunch .mktoButton {
    outline: 0;
    border: 0;
    display: block;
    border-radius: min(1.1764705882vw, 10px);
    transition: transform .2s ease-out, box-shadow .2s ease-out;
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: min(5.8823529412vw, 50px);
    color: #fff;
    text-decoration: none;
    background: linear-gradient(to bottom, #49c3bc, #49c3bc 50%, #1caca4 50%, #1caca4);
    box-shadow: .2rem .4rem 0 0 #00867f;
    box-sizing: border-box;
    line-height: 1.25;
    padding: min(2.3529411765vw, 20px);
    color: #ffde00;
    font-size: min(5.6470588235vw, 48px);
    font-weight: bold
}

.boxBallon {
    position: relative;
    border: min(0.3529411765vw, 3px) solid #221e1f;
    padding: min(10.1176470588vw, 66px) min(4.2352941176vw, 36px) min(2.8235294118vw, 15px) min(4.2352941176vw, 36px);
    margin-top: min(18.4705882353vw, 138px);
    margin-bottom: min(4.706vw, 40px);
    font-weight: 700;
}

.boxBallon>span {
    position: absolute;
    top: min(-0.3529411765vw, -3px);
    left: 50%;
    transform: translate(-50%, -50%);
    background: #0070c0;
    padding: min(1.0588235294vw, 9px) min(5.8823529412vw, 50px);
    z-index: 1;
    color: #fff;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    font-size: min(4.4705882353vw, 38px);
    font-weight: bold
}

.boxBallon>span::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-left: min(1.1764705882vw, 10px) solid rgba(0, 0, 0, 0);
    border-right: min(1.1764705882vw, 10px) solid rgba(0, 0, 0, 0);
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 95%);
    border-top: min(2vw, 17px) solid #0070c0
}

.boxBallon>span::before {
    position: absolute;
    content: "";
    background: url(/rs/186-OXX-889/images/shimakosaku_Ltype_202412_img_custom_dec.png) no-repeat;
    background-size: contain;
    width: min(3.7647058824vw, 32px);
    height: min(3.6470588235vw, 31px);
    top: min(-0.5882352941vw, -23px);
    right: min(0.3529411765vw, -27px);
}

.boxBallon li {
    line-height: 1.3;
    position: relative;
    list-style: none;
    padding: 0 0 min(2.353vw, 20px) min(3.5294117647vw, 30px);
    font-size: min(2.8235294118vw, 24px);
    text-align: left;
    margin-bottom: min(1.529vw, 13px);
    background: url('/rs/186-OXX-889/images/shimakosaku_Ltype_202412_img_dots.png') repeat-x left bottom;
}

.boxBallon li span {
    font-size: min(3.2941176471vw, 28px)
}

.boxBallon li::before {
    background-color: #0070c0;
    left: min(1.4117647059vw, 12px);
    border-radius: 50%;
    content: "";
    position: absolute;
    width: min(0.8235294118vw, 7px);
    height: min(0.8235294118vw, 7px);
    top: min(2.2352941176vw, 19px)
}

.boxBallon li:last-child {
    border-bottom: 0
}

.note-ballon {
    margin-bottom: min(3.2941176471vw, 28px);
    text-align: left
}

.note-ballon.right30 {
    margin-right: min(-3.5294117647vw, -30px)
}

.note-ballon li {
    list-style: none;
    font-size: min(1.6470588235vw, 14px);
    margin-bottom: min(0.588vw, 5px);
    position: relative;
    padding-left: min(1.4117647059vw, 12px);
    line-height: 1.9;
    padding-left: 1em;
    text-indent: -1em;
}

.note-ballon li::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0
}

.big-txt {
    font-size: min(3.2941176471vw, 28px);
    font-weight: bold;
    margin: min(8.9411764706vw, 76px) 0 min(6.9411764706vw, 59px) 0;
    line-height: 1.4
}

.big-txt span {
    color: #1a8739
}

#section05 .title {
    background-color: #0070c0;
    padding: min(5.2941176471vw, 45px) min(1.1764705882vw, 10px) min(5.6470588235vw, 48px) min(1.1764705882vw, 10px);
    margin-bottom: min(4.7058823529vw, 40px)
}

#section05 .title h3 {
    font-size: min(5.8823529412vw, 50px);
    color: #fff
}

#section05 p,
#section05 label,
#section05 input,
#section05 textarea,
#section05 .mktoHtmlText {
    font-size: min(3.0588235294vw, 26px)
}

#section05 #mktoForm_2434 {
    width: 100% !important
}

#section05 .wrapper-form {
    padding: 0 min(3.5294117647vw, 30px) min(1.7647058824vw, 15px) min(3.5294117647vw, 30px);
    margin-top: min(6.4705882353vw, 55px)
}

#section05 form {
    margin: auto;
    margin-top: min(4.7058823529vw, 40px)
}

#section05 form p.small-txt,
#section05 form .mktoHtmlText {
    font-size: min(1.6470588235vw, 14px);
    text-align: left;
    line-height: 2;
    width: 100%;
    color: #323232
}

#section05 form p.small-txt a,
#section05 form .mktoHtmlText a {
    text-decoration: underline
}

#section05 form input,
#section05 form textarea,
#section05 form select {
    width: min(53.1764705882vw, 452px) !important;
    padding: min(1.6470588235vw, 14px) min(1.1764705882vw, 10px);
    color: #5d5d5d;
    width: 100%;
    border: 0;
    border: min(0.2352941176vw, 2px) solid #5d5d5d;
    border-radius: min(0.5882352941vw, 5px);
    height: min(7.4117647059vw, 63px);
    display: flex;
    align-items: center;
    font-size: min(3.0588235294vw, 26px)
}

#section05 form textarea {
    height: min(14.3529411765vw, 122px)
}

#section05 form .w50 {
    width: 49%
}

#section05 form label {
    color: #0070c0
}

#section05 form label span {
    color: #fff;
    background: #e01919;
    padding: min(0.4705882353vw, 4px) min(0.3529411765vw, 3px);
    line-height: 1.1;
    font-size: min(2vw, 17px);
    display: inline-block;
    margin-left: min(0.5882352941vw, 5px);
    position: relative;
    top: min(-0.3529411765vw, -3px)
}

#section05 form .btn,
#section05 form .mktoButtonRow {
    max-width: 100%;
    width: 70%;
    margin-top: min(7.8823529412vw, 67px)
}

#section05 form .btn button,
#section05 form .mktoButtonRow button {
    padding: min(2.3529411765vw, 20px);
    color: #ffde00;
    font-size: min(5.6470588235vw, 48px);
    font-weight: bold
}

#section05 form .btn button::before,
#section05 form .mktoButtonRow button::before {
    content: "";
    position: absolute;
    z-index: 3;
    top: 50%;
    right: min(2.5882352941vw, 22px);
    transform: translate(-50%, -50%);
    border-top: min(0.9411764706vw, 8px) solid rgba(255, 255, 255, 0);
    border-left: min(1.1764705882vw, 10px) solid #1caca4;
    border-bottom: min(0.9411764706vw, 8px) solid rgba(255, 255, 255, 0)
}

#section05 form .btn button::after,
#section05 form .mktoButtonRow button::after {
    right: min(1.6470588235vw, 14px)
}

#section05 .mktoFieldWrap input {
    width: min(53.1764705882vw, 452px) !important;
    max-width: 100%;
    margin-left: min(2.8235294118vw, 24px)
}

#section05 .mktoForm .mktoFormRow {
    display: flex;
    justify-content: flex-end
}

#section05 .mktoForm .mktoFormRow label {
    width: auto !important;
    position: relative;
    font-weight: bold;
    margin-bottom: min(1.1764705882vw, 10px)
}

#section05 .mktoForm .mktoFormRow label .mktoAsterix {
    position: absolute;
    right: min(-1.1764705882vw, -10px)
}

#section05 .mktoForm .mktoFormRow:nth-child(2) {
    width: 100%
}

#section05 .mktoForm .mktoFormRow:nth-child(2) .mktoFormCol,
#section05 .mktoForm .mktoFormRow:nth-child(2) .mktoHtmlText {
    width: 100% !important;
    font-weight: bold;
    text-align: center;
    font-size: min(3.0588235294vw, 26px)
}

#section05 .mktoForm .mktoFormRow:nth-child(3) {
    width: min(53.1764705882vw, 452px) !important;
    float: right
}

#section05 .mktoForm .mktoFormRow:nth-child(3) input {
    width: min(21.8823529412vw, 186px) !important
}

#section05 .mktoForm .mktoFormRow:nth-child(3) {
    width: 100% !important;
    display: flex;
    flex-direction: column
}

#section05 .mktoForm .mktoFormRow:nth-child(3) .mktoOffset {
    display: none
}

#section05 .mktoForm .mktoFormRow:nth-child(3) .mktoFieldDescriptor {
    display: flex;
    justify-content: flex-end;
    width: 100%
}

#section05 .mktoForm .mktoFormRow:nth-child(3) .mktoFieldDescriptor input {
    width: min(53.1764705882vw, 452px) !important
}

#section05 .mktoForm .mktoFormRow:nth-child(5) label {
    margin-right: min(2.1176470588vw, 18px)
}

#section05 .mktoForm .mktoFormRow:nth-child(5) label.mktoLabel {
    margin-right: 0
}

#section05 .mktoForm .mktoFormRow:nth-child(7) select {
    margin-left: min(1.1764705882vw, 10px)
}

#section05 .mktoForm .mktoFormRow:nth-child(7) label .mktoAsterix,
#section05 .mktoForm .mktoFormRow:nth-child(8) label .mktoAsterix {
    right: 0
}

#section05 .mktoForm .mktoFormRow:nth-child(10) {
    width: 100%
}

#section05 .mktoForm .mktoFormRow:nth-child(10) br {
    display: none
}

#section05 .mktoForm .mktoFormRow:nth-child(10) .mktoHtmlText,
#section05 .mktoForm .mktoFormRow:nth-child(10) strong,
#section05 .mktoForm .mktoFormRow:nth-child(10) span,
#section05 .mktoForm .mktoFormRow:nth-child(10) .mktoHtmlText p {
    font-size: min(1.6470588235vw, 14px);
    color: #323232 !important;
    width: 100% !important
}

#section05 .mktoForm .mktoFormRow:nth-child(10) .mktoFormCol,
#section05 .mktoForm .mktoFormRow:nth-child(10) .mktoFieldWrap {
    width: 100%
}

#section05 .groupInput,
#section05 .mktoFieldWrap {
    display: flex;
    justify-content: flex-end;
    align-items: start;
    margin-bottom: min(3.1764705882vw, 27px)
}

#section05 .groupInput>label,
#section05 .mktoFieldWrap>label {
    padding-top: min(1.1764705882vw, 10px)
}

#section05 .groupInput .input,
#section05 .mktoFieldWrap .input {
    width: min(53.1764705882vw, 452px);
    max-width: 100%;
    margin-left: min(2.8235294118vw, 24px);
    display: flex;
    justify-content: space-between;
    align-items: center
}

#section05 .groupInput .radio,
#section05 .mktoFieldWrap .radio {
    justify-content: flex-start
}

#section05 .groupInput .radio label,
#section05 .mktoFieldWrap .radio label {
    color: #6b6b6b;
    display: block;
    position: relative;
    padding-left: min(4.1176470588vw, 35px);
    margin-bottom: min(1.4117647059vw, 12px);
    margin-right: min(6.8235294118vw, 58px);
    font-size: min(3.2941176471vw, 28px);
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

#section05 .groupInput .radio label input,
#section05 .mktoFieldWrap .radio label input {
    position: absolute;
    opacity: 0;
    cursor: pointer
}

#section05 .groupInput .radio label .checkmark,
#section05 .mktoFieldWrap .radio label .checkmark {
    position: absolute;
    top: 50%;
    left: min(-0.2352941176vw, -2px);
    height: min(2.9411764706vw, 25px);
    width: min(2.9411764706vw, 25px);
    background-color: #fff;
    border-radius: 50%;
    border: min(0.1176470588vw, 1px) solid #323232;
    transform: translate(0, -35%)
}

#section05 .groupInput .radio label .checkmark:after,
#section05 .mktoFieldWrap .radio label .checkmark:after {
    top: min(0.3529411765vw, 3px);
    left: min(0.3529411765vw, 3px);
    width: min(1.9411764706vw, 16.5px);
    height: min(1.9411764706vw, 16.5px);
    border-radius: 50%;
    background: #323232
}

#section05 .groupInput .radio input,
#section05 .mktoFieldWrap .radio input {
    width: auto
}

#section05 .groupInput .radio input:checked~.checkmark:after,
#section05 .mktoFieldWrap .radio input:checked~.checkmark:after {
    display: block
}

#section05 .groupInput .radio .checkmark:after,
#section05 .mktoFieldWrap .radio .checkmark:after {
    content: "";
    position: absolute;
    display: none
}

#section05 .groupInputRadio,
#section05 .mktoFieldWrapRadio {
    margin-top: min(3.7647058824vw, 32px);
    margin-bottom: min(2.3529411765vw, 20px)
}

#section05 .groupInput.groupInputSelect,
#section05 .mktoFieldWrap.groupInputSelect {
    margin-bottom: min(2.4705882353vw, 21px)
}

#section05 .groupInput.groupInputSelect label,
#section05 .mktoFieldWrap.groupInputSelect label {
    margin-left: min(-2.3529411765vw, -20px)
}

#section05 .groupInput.groupInputSelect label .small,
#section05 .mktoFieldWrap.groupInputSelect label .small {
    font-size: min(2.5882352941vw, 22px);
    font-style: normal
}

#section05 .groupInput.groupInputTextarea,
#section05 .mktoFieldWrap.groupInputTextarea {
    margin-bottom: min(6.2352941176vw, 53px)
}

#section05 .t-note {
    margin: min(7.6470588235vw, 65px) 0 min(8.9411764706vw, 76px) 0
}

#section05 .t-note li {
    padding-left: 0;
    line-height: 2.13
}

#section05 .t-note li::before {
    display: none
}

#section05 form {
    width: auto !important
}

#section05 form .mktoRadioList {
    width: min(53.1764705882vw, 452px) !important;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-left: min(2.8235294118vw, 24px);
}
#section05 .mktoForm input[type=radio] + label{
    color: #221e1f;
}

#section05 form .mktoRadioList input {
    display: none
}

#section05 form .mktoRadioList label {
    margin-right: min(3.5294117647vw, 30px)
}

.mktoForm input[type=checkbox]+label:before,
.mktoForm input[type=radio]+label:before {
    position: absolute;
    top: 50%;
    left: 0;
    height: 25px !important;
    width: 25px !important;
    background-color: #fff;
    border-radius: 50%;
    border: min(0.1176470588vw, 1px) solid #323232 !important;
    transform: translate(70%, -50%)
}

.mktoForm input[type=radio]:checked+label:before {
    background-image: url(/rs/186-OXX-889/images/dot-bk.png);
    background-position: center !important;
    background-repeat: no-repeat
}

.mktoForm input[type=radio]:checked+label::after {
    position: absolute;
    content: "";
    top: 50%;
    left: -3px;
    width: 16px !important;
    height: 16px !important;
    border-radius: 50%;
    background: #323232;
    transform: translate(50%, -50%)
}

#section05 form select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background: url(/rs/186-OXX-889/images/shimakosaku_Ltype_202412_img_ico_select.png) 95% center no-repeat;
    background-size: min(3.7647058824vw, 32px);
    margin-left: min(2.8235294118vw, 24px)
}

#section05 form textarea {
    margin-left: min(1.1764705882vw, 10px)
}

#section05 form .mktoButtonRow button {
    outline: 0;
    border: 0;
    display: block;
    transition: transform .2s ease-out, box-shadow .2s ease-out;
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: min(5.8823529412vw, 50px);
    text-decoration: none;
    background: linear-gradient(to bottom, #49c3bc, #49c3bc 50%, #1caca4 50%, #1caca4) !important;
    box-shadow: .2rem .4rem 0 0 #00867f !important;
    box-sizing: border-box;
    line-height: 1.25
}

#pageNumber {
    color: #5f5c5d;
    margin: min(3.6470588235vw, 31px);
    font-size: min(2.3529411765vw, 20px)
}

footer {
    background-color: #0070c0;
    padding: min(1.8823529412vw, 16px) 0;
}

footer .copyright {
    font-size: min(1.8823529412vw, 16px);
    color: #fff;
    font-weight: 500
}

@media screen and (max-width: 900px) {
    .note-ballon.right30 {
        margin-right: 0
    }

    #section01 .title h2 span.pc-align {
        padding-left: 0;
        margin-bottom: 3vw;
    }
}

@media screen and (max-width: 768px) {
    .spOnly {
        display: block
    }

    .pcOnly {
        display: none
    }

    .btn-banner a {
        width: min(85.6470588235vw, 728px)
    }

    .groupInput.groupInputSelect label {
        margin-left: min(0vw, 0px)
    }

    header {
        padding: min(1.8823529412vw, 16px) min(1.1764705882vw, 10px) min(1.8823529412vw, 16px) min(4.7058823529vw, 40px)
    }

    header .wrapper {
        padding: 0
    }

    header .header_logo {
        width: min(19.5294117647vw, 166px)
    }

    .btn {
        max-width: 100%
    }

    .btn-cta{
        line-height: 1;
    }
    .btn-cta a{
        width: 91.529vw;
        margin-left: auto;
        margin-right: auto;
    }

    .btn a,
    .btn button,
    .mktoButtonRow button {
        border-radius: min(8.2352941176vw, 70px);
        font-size: min(6.1176470588vw, 52px);
        padding: min(1.2941176471vw, 11px) min(1.1764705882vw, 10px) min(1.2941176471vw, 11px) min(1.1764705882vw, 10px)
    }

    .btn a::after,
    .btn button::after,
    .mktoButtonRow button::after {
        width: min(7.0588235294vw, 60px);
        height: min(7.0588235294vw, 60px);
        right: min(1.5294117647vw, 13px)
    }

    .btn a::before,
    .btn button::before,
    .mktoButtonRow button::before {
        top: 53%;
        right: min(5.0588235294vw, 43px);
        border-top: min(1.7647058824vw, 15px) solid #1caca4;
        border-left: min(1.7647058824vw, 15px) solid rgba(255, 255, 255, 0);
        border-right: min(1.7647058824vw, 15px) solid rgba(255, 255, 255, 0)
    }

    #section05 form .mktoButtonRow button {
        padding: min(2.3529411765vw, 20px) !important
    }

    .btn-banner {
        margin: 0;
        margin-top: min(3.1764705882vw, 27px)
    }

    #section05 .mktoForm .mktoFormRow:nth-child(5) label {
        margin-right: 18px
    }

    .mktoForm .mktoRadioList>label,
    .mktoForm .mktoCheckboxList>label {
        padding-left: 20px !important
    }

    .mktoForm input[type=checkbox]+label:before,
    .mktoForm input[type=radio]+label:before {
        position: absolute;
        top: 50%;
        height: 14px !important;
        width: 14px !important;
        background-color: #fff;
        border-radius: 50%;
        border: min(0.1176470588vw, 1px) solid #323232 !important;
        transform: translate(0, -50%);
        margin-left: 0 !important
    }

    .mktoForm input[type=radio]:checked+label::after {
        left: -2px;
        width: 10px !important;
        height: 10px !important
    }

    #section01 {
        padding-top: min(8.5vw, 88px);
        padding-bottom: min(11vw, 112px)
    }

    #section01 .title h2 {
        font-size: min(6.118vw, 52px);
        line-height: 1.4
    }

    #section01 .title h2 span.t-small {
        font-size: min(6.353vw, 54px);
    }

    #section01 .title h2 strong.t-highlight {
        font-size: min(7.529vw, 64px);
        line-height: 1.3;
    }

    #section01 .title h2 span.sp-align {
        padding-left: .5em;
        font-size: min(9.412vw, 80px);
        line-height: 1;
    }

    #section01 .title h2 span.pc-align {
        padding-left: 0;
    }

    #section01 .title .ballon i {
        padding: min(0.9411764706vw, 8px) min(4.4705882353vw, 38px);
        font-size: min(4.4705882353vw, 38px)
    }

    #section01 .book {
        margin: 9vw 5vw 9vw;
    }
    #section01 .slider{
        margin: 6vw 4.5vw;
        padding: 0 3.5vw;
    }
    #section01 .checkpointText{
        margin: 9vw 4.5vw 0;
        padding: 3vw 3vw 4vw;
        font-size: 3.882vw;
        border-width: 2px;
        line-height: 1.364;
    }
    #section01 .checkpointText li{
        padding-left: 5vw;
        background-size: 3.3vw auto;
        background-position: left top 2vw;
    }
    #section01 .checkpointText li > span{
        background-size: 1vw auto;
        padding: .75vw 0;
    }
    #section01 .checkpointText li + li{
        margin-top: 1vw;
    }

    #section01 .wrapper>p {
        font-size: min(4.4705882353vw, 38px);
        line-height: 1.3
    }

    #section01 .wrapper {
        padding: 0;
        padding-bottom: min(1.176vw, 10px);
    }

    #section01::after {
        border-top: min(10.5882352941vw, 90px) solid #ffffff;
    }

    #section01 .listNote {
        font-size: min(2.588vw, 22px);
        margin-top: min(1vw, 12px);
    }

    #section01 .wrapper .txtBox {
        max-width: min(81.176vw, 690px);
        padding: min(2.5vw, 16px) 0 min(2.5vw, 16px);
        font-size: min(4.235vw, 36px);
        margin: min(11vw, 90px) auto min(3.529vw, 30px);
        letter-spacing: min(-0.1176470588vw, -1px);
        white-space: nowrap;
    }

    #section01 .wrapper .checkpoint>li {
        font-size: min(4.235vw, 36px);
    }

    #section01 .wrapper .checkpointWrap {
        margin-bottom: min(1.412vw, 12px);
    }

    #section01 .wrapper .checkpointWrap p {
        font-size: min(4.235vw, 36px);
    }

    #section01 .wrapper .yellowline {
        line-height: 1;
    }

    #section02 {
        padding-top: min(3.529vw, 30px);
        padding-bottom: min(19vw, 107px)
    }

    #section02 .wrapper {
        padding: 0 min(4.706vw, 40px);
    }

    #section02::after {
        bottom: 0;
        left: 50%;
        transform: translate(-50%);
        border-top: min(10.5882352941vw, 90px) solid #e0f2ff;
        border-left: 50vw solid #fff;
        border-right: 50vw solid #fff
    }

    #section02 .title {
        margin-bottom: min(6.824vw, 58px);
    }
    #section02 .title h2 {
        font-size: min(6.8235294118vw, 58px);
        line-height: 1.3;
        padding-top: min(6vw, 58px);
        display: inline-block;
    }

    #section02 .title h2 span {
        font-size: min(8.2352941176vw, 70px)
    }

    
    #section02 .boxContent .imgGroup01 .txtS {
        text-align: center;
        margin-top: min(2.235vw, 18px);
    }

    #section02 .boxContent .imgWrap {
        padding: 0 min(1.176vw, 10px);
    }
    #section02 .boxContent .imgGroup03 .imgWrap {
        margin-top: min(4vw, 34px);
    }

    #section02 .boxContent .imgWrap.it02 {
        padding: 0 min(2.118vw, 19px);
    }

    #section02 .boxContent .content hr {
        margin-bottom: min(7.059vw, 60px);
        margin-top: min(4vw, 34px);
    }

    #section02 .boxContent .txtS {
        font-size: min(2.118vw, 18px);
    }

    #section02 .title .ballon i {
        color: #221e1f;
        font-size: min(4.7058823529vw, 40px);
        top: min(5.1764705882vw, 44px);
        padding: min(1.0588235294vw, 9px) min(5.7647058824vw, 49px);
        width: 100%
    }

    #section02 .title .ballon::after {
        border-top: min(1.1764705882vw, 10px) solid #fff
    }

    #section02 .boxContent {
        border: 2px solid #221e1f;
    }

    #section02 .boxContent table {
        max-width: 89%;
        margin-top: min(3.059vw, 26px);
    }

    #section02 table tr,
    #section02 table td,
    #section02 table th {
        line-height: 1.45;
        border: 1px solid #9fa0a0;
    }

    #section02 .boxContent table tr td:first-child {
        width: 23%;
    }

    #section02 .boxContent h3 {
        max-width: min(61.176vw, 520px);
        font-size: min(4.235vw, 36px);
        padding: min(1.529vw, 13px) 0;
        margin-bottom: min(4.706vw, 40px);
    }

    #section02 .boxContent p {
        font-size: min(3.7647058824vw, 32px);
        line-height: 1.406;
        margin-bottom: min(4vw, 34px);
    }

    #section02 .boxContent .content {
        padding: min(8.471vw, 72px) min(3.176vw, 27px) min(5vw, 64px) min(3.176vw, 27px);
    }

    #section02 .boxContent .imgGroup04 p {
        margin-bottom: min(2.824vw, 24px);
    }
    #section02 .boxContent .imgGroup04 .imgWrap {
        width: 74.118vw;
        margin: 0 auto;
        padding: 0;
    }
    #section02 .boxContent .imgGroup04::before {
        top: -5.5vw;
        right: 3vw;
        width: min(13.059vw, 111px);
        height: min(32.353vw, 275px);
    }

    #section02 .boxContent .imgGroup04 .txtS {
        margin-bottom: min(3.529vw, 30px);
    }

    #section02 .boxContent table {
        margin-top: max(-2.118vw, -18px);
    }

    #section03 {
        padding-top: min(6.824vw, 58px);
        position: relative
    }
    #section03 .illus02 {
       margin: 0 auto 6vw;
       width: 90.588vw;
    }
    #section03 .illus03 {
       margin: 1.8vw auto 6vw;
       width: 90.588vw;
    }

    #section03 .title {
        position: relative
    }

    #section03 .title h3 {
        font-size: min(6.8235294118vw, 58px);
    }

    #section03 .title p {
        margin-bottom: min(7.059vw, 60px)
    }

    #section03 .title h3 span {
        font-size: min(8.2352941176vw, 70px)
    }

    #section03 .title .ballon i {
        background: #fff;
        color: #221e1f;
        font-size: min(4vw, 34px)
    }

    #section03 .title .ballon::after {
        border-top: min(1.1764705882vw, 10px) solid #fff
    }

    #section03 .t-note li {
        line-height: 1.5
    }

    #section03 .btn {
        width: 94%
    }

    #section03 .boxContent .content .imgWrap {
        padding: 0 7.059vw;
        margin: min(3vw, 36px) 0 0;
    }

    #section03 .boxContent.lst {
        margin-bottom: 0;
    }

    #section05 .mktoForm .mktoFormRow:nth-child(7) select {
        margin-left: 0
    }

    .imgGroup {
        margin: min(2.3529411765vw, 20px) 0 min(2.7058823529vw, 23px) 0
    }

    .imgGroup img {
        margin: auto
    }

    .imgGroup .ttl h4 {
        font-weight: bold;
        font-size: min(5.6470588235vw, 48px);
        margin-bottom: min(4.3529411765vw, 37px);
        line-height: 1.3
    }

    .boxContent {
        border-radius: 0;
        border: 0;
        margin-bottom: min(0vw, 0px)
    }

    .boxContent>.ttl {
        padding: min(2.8235294118vw, 24px) min(3.1764705882vw, 27px) min(3.5294117647vw, 30px) min(3.1764705882vw, 27px);
        margin: 0 min(-1.1764705882vw, -10px)
    }

    .boxContent .content {
        padding: min(3.765vw, 32px) 0 min(5.647vw, 48px) 0
    }

    .boxContent .content>p {
        font-size: min(3.7647058824vw, 32px);
        line-height: 1.4;
        margin-bottom: min(6.4705882353vw, 55px);
    }

    .boxContent h4 img {
        width: 100%
    }

    .boxContent table {
        max-width: 100%
    }

    .boxContent table th {
        font-size: min(3.294vw, 28px)
    }

    .boxContent table td {
        font-size: min(3.294vw, 28px);
        padding: min(0.2352941176vw, 2px)
    }

    .boxContent table tr td:last-child {
        width: 34%
    }

    .boxContent02 .content {
        padding: min(3.2941176471vw, 28px) min(2vw, 17px) min(2.5882352941vw, 22px) min(2vw, 17px)
    }

    .boxContent03 .content {
        padding: min(5.6470588235vw, 48px) 0 min(7.0588235294vw, 60px) 0
    }

    .boxContent03 .content>p.t-violet {
        font-size: min(4.7058823529vw, 40px);
        margin-bottom: min(3.2941176471vw, 28px)
    }

    .boxContent .listBox {
        max-width: 81%
    }

    .boxContent .listBox li {
        padding: min(2.1176470588vw, 18px);
        font-size: min(3.2941176471vw, 28px)
    }

    .boxContent .listNote {
        max-width: 81%;
        margin: auto;
        margin-top: min(0.7058823529vw, 6px)
    }

    .boxContent .listNote li {
        font-size: min(2.1176470588vw, 18px);
        margin-bottom: 0;
        line-height: 1.3
    }

    .btn.btn-anchor a {
        font-size: min(6.8235294118vw, 58px);
        padding: min(4.3529411765vw, 37px) min(7.6470588235vw, 65px) min(4.3529411765vw, 37px) min(3.1764705882vw, 27px);
        width: 100%
    }

    #section04 {
        padding-top: min(3.5294117647vw, 30px)
    }

    #section04 .wrapper {
        padding: 0 min(4.7058823529vw, 40px)
    }

    #section04 .title h3 {
        margin-bottom: min(4vw, 34px)
    }

    #section04 .boxCard {
        margin: 4vw 0 3vw;
    }

    #section04 .boxCard .ttl {
        margin-bottom: min(2.118vw, 18px);
    }

    #section04 .boxBallon {
        margin-top: min(18.824vw, 160px);
        padding: min(9.412vw, 80px) min(3.765vw, 32px) min(1.176vw, 10px) min(3.765vw, 32px);
        margin-bottom: 5vw;
        border-radius: 0;
    }

    #section04 .boxBallon li {
        padding-bottom: min(2.118vw, 18px);
        margin-bottom: min(2.118vw, 18px);
        line-height: 1.2;
        background-size: 1vw auto;
    }
    
    .boxBallon>span::before {
        width:3.765vw;
        height: 3.765vw;
        top: -3vw;
        right: -3vw;
    }

    .tabBox {
        margin: min(3.5294117647vw, 30px) 0 min(6.3529411765vw, 54px) 0
    }

    .tabBox .tabHead .js-tabhead {
        width: 48.5%
    }

    .tabBox .content-tab table {
        width: 100%;
        border: min(0.1176470588vw, 1px) solid #636363;
        margin-bottom: min(3.5294117647vw, 30px)
    }

    .tabBox .content-tab table th {
        color: #3e3a39;
        background-color: #fef5ec;
        font-weight: normal;
        text-align: center
    }

    .tabBox .content-tab table tr,
    .tabBox .content-tab table td,
    .tabBox .content-tab table th {
        font-size: min(2.3529411765vw, 20px);
        border: min(0.1176470588vw, 1px) solid #636363;
        padding: min(0.5882352941vw, 5px) min(0.5882352941vw, 5px);
        text-align: left;
        height: min(7.0588235294vw, 60px)
    }

    .tabBox .content-tab table tr span,
    .tabBox .content-tab table td span,
    .tabBox .content-tab table th span {
        color: #e26d1f;
        font-size: min(5.4117647059vw, 46px);
        line-height: 1
    }

    .tabBox .content-tab table tr td:first-child {
        background-color: #fdf2e7
    }

    .tabBox .content-tab table.table01 {
        margin-bottom: min(3.8823529412vw, 33px)
    }

    .tabBox .content-tab table.table01 tr th,
    .tabBox .content-tab table.table01 tr td {
        font-size: min(2.8235294118vw, 24px);
        padding: min(0.3529411765vw, 3px) min(1.1764705882vw, 10px);
        letter-spacing: min(-0.1176470588vw, -1px)
    }

    .tabBox .content-tab table.table01 tr td:first-child {
        text-align: center;
        width: 40.5%
    }

    .tabBox .content-tab table.table02 {
        margin-bottom: min(3.1764705882vw, 27px)
    }

    .tabBox .content-tab table.table02 tr th,
    .tabBox .content-tab table.table02 tr td {
        font-size: min(3.5294117647vw, 30px)
    }

    .tabBox .content-tab table.table02 tr th .unit,
    .tabBox .content-tab table.table02 tr td .unit {
        font-size: min(2.3529411765vw, 20px);
        color: #221e1f
    }

    .tabBox .content-tab table.table02 tr td:first-child {
        width: 33%
    }

    .tabBox .content-tab table.table02 tr td:last-child {
        width: 33%
    }

    .tabBox .content-tab table.table03 tr td:first-child {
        width: 24%
    }

    .tabBox .content-tab table.table03 tr td:nth-child(2) {
        width: 37%
    }

    .tabBox .content-tab table.table03 tr td:last-child {
        width: 37%
    }

    .tabBox .content-tab table.center tr,
    .tabBox .content-tab table.center td,
    .tabBox .content-tab table.center th {
        text-align: center
    }

    .tabBox .content-tab table.center tr:first-child :not(:first-child) {
        background-color: #e26d1f;
        color: #fff
    }

    .tabBox .content-tab table.center tr:first-child td:first-child {
        background-color: rgba(0, 0, 0, 0)
    }

    #section05 form .mktoRadioList {
        margin-left: 0;
        padding-left: 0
    }

    .boxCard {
        margin: min(3.5294117647vw, 30px) 0 min(1.6470588235vw, 14px) 0
    }

    .boxCard .ttl {
        font-size: min(6.8235294118vw, 58px);
        margin-bottom: min(4.9411764706vw, 42px)
    }

    .boxCard .ttl span {
        font-size: min(8.2352941176vw, 70px)
    }

    .boxCard .listCard {
        margin: auto
    }

    .boxCard .listCard .item {
        padding: min(4.3529411765vw, 37px) min(0.5882352941vw, 5px) min(4vw, 34px) 18vw;
        width: 100%;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin-bottom: min(3.6470588235vw, 31px);
        position: relative;
    }

    .boxCard .listCard .item .content {
        text-align: left;
    }

    .boxCard .listCard .item .content h6 {
        font-size: min(2.8235294118vw, 24px);
        font-weight: bold;
        margin-bottom: min(1.1764705882vw, 10px)
    }

    .boxCard .listCard .item .content p {
        font-size: min(2.3529411765vw, 20px)
    }

    .boxCard .listCard .item>img {
        width: min(13.1764705882vw, 112px);
        margin: 0 4vw 0 0;
    }

    .boxCard .listCard .item span {
        left: -1.5vw;
        top: 2vw;
        right: auto;
    }
    
    .boxCard .listCard .item span img {
        width: 17.176vw;
    }

    .boxCard .listCard .item:nth-child(2) {
        padding: 3vw 0vw 3vw 18vw;
    }

    .boxCard .listCard .item:nth-child(2)>img {
        width: min(13.6470588235vw, 116px);
        margin: 0 3vw 0 0;
    }

    .boxCard .listCard .item:nth-child(3) {
        padding: 3vw 0vw 3vw 13vw;
    }

    .boxCard .listCard .item:nth-child(3)>img {
        width: 25.529vw;
        margin: 1vw 3vw 0 0;
    }

    .boxBallon {
        padding: min(10vw, 85px) min(1.1764705882vw, 10px) 0 min(0.9411764706vw, 8px);
        margin: auto;
        margin-top: min(16.5882352941vw, 141px);
        margin-bottom: min(4.3529411765vw, 37px);
        border-radius: min(1.1764705882vw, 10px)
    }

    .boxBallon li {
        font-size: min(3.2941176471vw, 28px);
        line-height: 1.1;
        padding-bottom: min(1.2941176471vw, 11px);
        padding-right: 0
    }

    .boxBallon li span {
        font-size: min(3.8823529412vw, 33px)
    }

    .note-ballon {
        margin-bottom: min(1.4117647059vw, 12px)
    }

    .note-ballon li {
        font-size: min(2.1176470588vw, 18px);
        padding-left: min(2vw, 17px);
        line-height: 1.3;
        margin-bottom: 0
    }

    .big-txt {
        font-size: min(4vw, 34px);
        font-weight: bold;
        margin: min(10.588vw, 90px) 0 min(5.0588235294vw, 43px) 0;
        line-height: 1.1
    }

    #section05 .title {
        padding: min(5.2941176471vw, 45px) min(1.1764705882vw, 10px) min(6.1176470588vw, 52px) min(1.1764705882vw, 10px);
        margin-bottom: 0;
    }
    #section05 .sub {
        font-size: 4vw;
        font-weight: bold;
        margin-top: 6vw;
    }
    #section05 p, #section05 label, #section05 input, #section05 textarea, #section05 .mktoHtmlText{
        font-size: 4vw;
    }

    #section05 .title h3 {
        font-size: min(7.0588235294vw, 60px)
    }

    #section05 .t-note {
        padding: 0 min(8.2352941176vw, 70px) 0 min(9.4117647059vw, 80px);
        margin: min(6.7058823529vw, 57px) 0
    }

    #section05 .t-note li {
        line-height: 1.8;
        font-size: min(2.5882352941vw, 22px)
    }

    #section05 form {
        margin-top: min(6vw, 51px)
    }

    #section05 form p {
        font-size: min(4vw, 34px);
        font-weight: bold;
        line-height: 1.5
    }

    #section05 form input {
        height: min(10.1176470588vw, 86px);
        padding: min(2.3529411765vw, 20px);
        font-size: min(4vw, 34px)
    }

    #section05 form p.small-txt {
        padding: min(7.0588235294vw, 60px) min(9.4117647059vw, 80px) min(1.1764705882vw, 10px) min(9.4117647059vw, 80px);
        font-size: min(2.5882352941vw, 22px);
        font-weight: bold;
        line-height: 1.8
    }

    #section05 form .btn,
    #section05 form .mktoButtonRow {
        width: 100%;
        padding: 0 min(4.7058823529vw, 40px);
        margin-top: min(4vw, 34px)
    }

    #section05 form .btn button,
    #section05 form .mktoButtonRow button {
        font-size: min(6.3529411765vw, 54px);
        padding: min(5.0588235294vw, 43px) min(6.3529411765vw, 54px) min(4.7058823529vw, 40px) min(4.3529411765vw, 37px);
        width: 100%
    }

    #section05 form .btn button::before,
    #section05 form .mktoButtonRow button::before {
        border-top: min(1.7647058824vw, 15px) solid rgba(255, 255, 255, 0);
        border-left: min(1.7647058824vw, 15px) solid #1caca4;
        border-bottom: min(1.7647058824vw, 15px) solid rgba(255, 255, 255, 0)
    }

    #section05 form .btn button::after,
    #section05 form .mktoButtonRow button::after {
        right: min(0.5882352941vw, 5px)
    }

    #section05 .wrapper-form {
        padding: 0 min(10.3529411765vw, 88px)
    }

    #section05 .groupInput {
        flex-wrap: wrap;
        justify-content: flex-start;
        margin-bottom: min(2.3529411765vw, 20px)
    }

    #section05 .groupInput label {
        text-align: left;
        width: 100%;
        font-size: min(4vw, 34px);
        margin-bottom: min(0.7058823529vw, 6px)
    }

    #section05 .groupInput label span {
        font-size: min(2.3529411765vw, 20px);
        color: #fff;
        padding: min(0.4705882353vw, 4px) min(0.8235294118vw, 7px);
        margin-left: min(1.0588235294vw, 9px);
        position: relative;
        top: min(-0.5882352941vw, -5px)
    }

    #section05 .groupInput .input {
        width: 100%;
        margin-left: 0
    }

    #section05 .groupInput .input.radio {
        margin-top: min(1.1764705882vw, 10px)
    }

    #section05 .groupInput .input.radio label {
        font-size: min(4.4705882353vw, 38px);
        font-weight: bold;
        width: auto;
        padding-left: min(6.3529411765vw, 54px);
        margin-right: min(9.4117647059vw, 80px)
    }

    #section05 .groupInput .input.radio label .checkmark {
        height: min(4.1176470588vw, 35px);
        width: min(4.1176470588vw, 35px)
    }

    #section05 .groupInput .input.radio label .checkmark::after {
        top: min(0.4705882353vw, 4px);
        left: min(0.4705882353vw, 4px);
        width: min(2.8235294118vw, 24px);
        height: min(2.8235294118vw, 24px);
        border-radius: 50%;
        background: #323232
    }

    #section05 .groupInputRadio {
        margin-top: min(2.3529411765vw, 20px)
    }

    #section05 .groupInput.groupInputSelect label {
        margin-left: 0
    }

    #section05 .groupInput.groupInputTextarea {
        font-size: min(4vw, 34px);
        margin-bottom: min(1.7647058824vw, 15px)
    }

    #section05 .groupInput.groupInputTextarea label {
        margin-bottom: min(1.7647058824vw, 15px)
    }

    #section05 .groupInput.groupInputTextarea textarea {
        height: 170px;
        font-size: min(4vw, 34px);
        padding: min(2.3529411765vw, 20px)
    }

    #section05 .mktoFieldWrap {
        flex-wrap: wrap;
        flex-direction: column;
        margin-bottom: 0;
        width: 100%
    }

    #section05 .mktoFieldWrap input,
    #section05 .mktoFieldWrap textarea,
    #section05 .mktoFieldWrap select {
        margin-left: 0;
        width: 100% !important
    }

    #section05 .mktoFormCol {
        width: 100%
    }

    #section05 .mktoButtonRow {
        padding: 0
    }

    #section05 .mktoButtonRow span {
        width: 100%
    }

    #section05 .mktoForm {
        padding: 0 !important
    }

    #section05 .mktoForm .mktoFormRow {
        width: 100% !important
    }

    #section05 .mktoForm .mktoFormRow label {
        display: inline-block;
        width: -moz-max-content !important;
        width: max-content !important;
        position: relative;
        margin-bottom: min(1.1764705882vw, 10px);
        font-family: "Noto Sans JP"
    }

    #section05 .mktoForm .mktoFormRow label .mktoAsterix {
        right: min(-1.7647058824vw, -15px)
    }

    #section05 .mktoForm .mktoFormRow:nth-child(3) {
        width: 100% !important
    }

    #section05 .mktoForm .mktoFormRow:nth-child(3) .mktoFieldDescriptor {
        display: flex;
        justify-content: flex-end;
        width: 100%
    }

    #section05 .mktoForm .mktoFormRow:nth-child(3) .mktoFieldDescriptor input {
        width: 100% !important
    }

    #section05 .mktoForm .mktoFormRow:nth-child(3) input#FirstName {
        margin-right: 0
    }

    #section05 .mktoForm .mktoFormRow:nth-child(7) label .mktoAsterix,
    #section05 .mktoForm .mktoFormRow:nth-child(8) label .mktoAsterix {
        right: min(-1.1764705882vw, -10px)
    }

    #section05 .mktoForm .mktoAsterix {
        display: inline-block;
        position: absolute;
        right: min(-1.1764705882vw, -10px)
    }

    #section05 .mktoForm .mktoGutter {
        display: none
    }

    .wrapper {
        padding: 0 min(2.3529411765vw, 20px)
    }

    .custom-select,
    .mktoFormRow {
        max-width: 100%;
        margin: 0
    }

    .custom-select .value,
    .custom-select select,
    .mktoFormRow .value,
    .mktoFormRow select {
        height: min(10.1176470588vw, 86px) !important;
        font-size: min(4vw, 34px) !important;
        padding: min(2.3529411765vw, 20px) !important;
        display: flex;
        justify-content: flex-start;
        align-items: center
    }

    .custom-select .value::after,
    .custom-select select::after,
    .mktoFormRow .value::after,
    .mktoFormRow select::after {
        right: min(2.4705882353vw, 21px);
        width: min(5.1764705882vw, 44px);
        height: min(2.5882352941vw, 22px)
    }

    .custom-select ul,
    .mktoFormRow ul {
        top: min(9.8823529412vw, 84px)
    }

    footer {
        padding: min(0.9411764706vw, 8px) 0 min(1.4117647059vw, 12px) 0;
    }

    footer .copyright {
        font-size: min(2.5882352941vw, 22px)
    }
}

@media screen and (min-width: 768px)and (max-width: 1000px) {

    #section05 .mktoForm .mktoFormRow:nth-child(3) .mktoFieldDescriptor input,
    #section05 .mktoFieldWrap input,
    #section05 form select,
    #section05 form textarea,
    #section05 form .mktoRadioList {
        width: min(41.1764705882vw, 350px) !important
    }
}

.mktoForm .mktoRadioList>label,
.mktoForm .mktoCheckboxList>label {
    margin-left: 0 !important;
    padding-left: min(4.1176470588vw, 35px)
}

.book {
    position: relative
}

.book .img {
    position: absolute;
    top: -27%;
    right: -9%;
    z-index: 0
}

@media screen and (max-width: 768px) {
    .book .img {
        position: absolute;
        top: -47%;
        right: 0;
        z-index: 0;
        width: min(24vw, 204px)
    }
}

.slider .slick-dots{
    margin-top: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0;
    line-height: 1;
    text-indent: -9999999px;
    color: transparent;
}
.slider .slick-dots li{
    cursor: pointer;
    margin: 0 15px;
}
.slider .slick-dots li button{
    width: 19px;
    height: 19px;
    border-radius: 50%;
    cursor: pointer;
    box-sizing: border-box;
    border: 3px solid #000;
    background: #fff;
    color: transparent;
    display: block;
    margin: 0;
    padding: 0;
}
.slider .slick-dots li.slick-active button{
    background: #000;
}
.slider .slick-arrow{
    position: absolute;
    top: 50%;
    z-index: 1;
    border: none;
    background: none;
    color: transparent;
    z-index: 1;
    line-height: 0;
    width: 30px;
    height: 50px;
    top: calc(50% - 50px);
}
.slider .slick-arrow::before{
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    width: 24px;
    height: 24px;
    margin: -12px auto 0;
    transform: rotate(-45deg) skew(-10deg,-10deg);
    border-top: 5px solid #000;
    border-left: 5px solid #000;
    box-sizing: border-box;
    cursor: pointer;
}
.slider .slick-arrow.slick-prev{
    left: -30px;
}
.slider .slick-arrow.slick-next::before{
    transform: rotate(135deg) skew(-10deg,-10deg);
}
.slider .slick-arrow.slick-next{
    right: -30px;
}
@media screen and (max-width: 768px) {
    .slider .slick-dots{
        margin-top: calc(30/850*100%);
    }
    .slider .slick-dots li{
        margin: 0 calc(19/850*100vw);
    }
    .slider .slick-dots li button{
        width: calc(19/850*100vw);
        height: calc(19/850*100vw);
        border-width: 2px;
    }
    .slider .slick-arrow{
        width: 4vw;
        height: 10vw;
        top: calc(50% - 7.5vw);
    }
    .slider .slick-arrow::before{
        width: 4vw;
        height: 4vw;
        margin-top: -2vw;
        border-top: calc(8/850*100vw) solid #000;
        border-left: calc(8/850*100vw) solid #000;
    }
    .slider .slick-arrow.slick-prev{
        left: -4.5vw;
    }
    .slider .slick-arrow.slick-next{
        right: -4.5vw;
    }
}

.fixed{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.7);
    text-align: center;
    z-index: 9;
    line-height: 1;
    padding: 20px 0;
    z-index: 9;
}
.fixed img{
    margin: auto;
}
.hideFixednavi{
    position: relative;
    z-index: 99;
    background: #fff;
}
@media screen and (max-width: 768px) {
    .fixed{
        padding: calc(40/850*100vw) calc(36/850*100vw);
    }
}