@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400;700&family=Crimson+Text:wght@400;600;700&family=Noto+Sans+JP:wght@400;700;900&display=swap');

/* ========================================
    ■ 必須設定
======================================== */
/* reset
----------------------------- */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
body { line-height: 1; }
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section { display: block; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
h1,
h2,
h3,
h4,
h5,
h6 { font-weight: inherit; }
a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}
mark {
    background-color: #ff9;
    color: #000; 
    font-style: italic;
    font-weight: bold;
}
del { text-decoration: line-through; }
abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
th {
    text-align: left;
    vertical-align: top;
    font-weight: normal;
}
td {
    text-align: left;
    vertical-align: top;
}
hr {
    display: block;
    height: 1px;
    border: 0;   
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}
input, select, textarea, img { vertical-align:middle; }
ul, dl, ol { list-style: none; }
em { font-style: normal; }
* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

/* 共通設定
----------------------------- */
html { font-size: 16px; }

body {
    font-family: 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    color: #6E6E6E;
    line-height: 1.8;
    background: #fff;
    -webkit-text-size-adjust: 100%;
    position:relative;
}

a {
    text-decoration: none;
    transition: 0.2s ease;
}
a:hover {
    opacity: .6;
    text-decoration: none;
    transition: 0.2s ease;
}
a::before, a:hover::before,
a::after, a:hover::after {
    transition: 0.2s ease;
}

img,
video,
object {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    border: none;
}


/* ========================================
    ■ General
======================================== */
.wrap {
	position: relative;
	max-width: 1100px;
    margin: 0 auto;    
}

.clearfix {
    overflow: hidden;
    zoom: 1;
}
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.hover:hover {
    opacity: 0.9;
    transition: 0.2s ease;
}

.scrollbar::-webkit-scrollbar {
    background: #ccc;
    width: 10px;
}
.scrollbar::-webkit-scrollbar-thumb { background: #aaa; }

table.tbl-block,
table.tbl-block tbody,
table.tbl-block tr,
table.tbl-block th,
table.tbl-block td {
    display: block;
    text-align: left;
}

/* 文字装飾 */
.font-blue { color: #199cd0; }
.marker-blue { background: linear-gradient(0deg, #bfeceb 50%, transparent 50%); }

/* 圏点 */
.kenten {
    padding: 0.35em 0;
    background-repeat: repeat-x;
    background-size: 1.03em 0.5em;
    background-position: top left;
    background-image: radial-gradient(0.4rem 0.4rem at center center, #000 50%, transparent 50%);
    font-feature-settings: normal;
}
.kenten_half.black {
    padding: 0.35em 0;
    background-repeat: repeat-x;
    background-size: 0.65em 0.5em;
    background-position: top left;
    background-image: radial-gradient(0.4rem 0.4rem at center center, #000 50%, transparent 50%);
    font-feature-settings: normal;
}


/* form reset
----------------------------- */
/* placeholder */
#form :placeholder-shown { color: #ccc; }
#form ::-webkit-input-placeholder { color: #ccc; }/* Google Chrome, Safari, Opera 15+, Android, iOS */
#form :-moz-placeholder { color: #ccc; opacity: 1; }/* Firefox 18- */
#form ::-moz-placeholder { color: #ccc; opacity: 1; }/* Firefox 19+ */
#form :-ms-input-placeholder { color: #ccc; }/* IE 10+ */

/* ラジオボタン */
#form input[type='radio'] {
    display: none;
}
#form input[type='radio'] + label {
    display: flex;
    align-items: center;
    margin: 0;
    border-radius: 0;
    cursor: pointer;
    position: relative;
}
#form input[type='radio'] + label::before {
    content: '';
    display: block;
    background: url(images/form_radio01.png) no-repeat center top/100% auto;
    width: 10.6vw;
    height: 10.6vw;
    margin-right: 4.6vw;
}
#form input[type='radio']:checked + label::before {
    background-position: center bottom;
}

/* チェックボックス */
#form input[type='checkbox'] {
    display: none;
}
#form input[type='checkbox'] + label {
    display: block;
    margin: 0;
    text-align: center;
    border-radius: 0;
    cursor: pointer;
    position: relative;
}
#form input[type='checkbox'] + label::before {
    content: '';
    display: inline-block;
    background: url(images/form_check01.png) no-repeat center top/100% auto;
    width: 4.6vw;
    height: 4.6vw;
    margin-right: 2vw;
    position: relative;
    top: 0.8vw;
}
#form input[type='checkbox']:checked + label::before {
    background-position: center bottom;
}

/* セレクトボックス */
select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "YuGothic M", "メイリオ", Meiryo, sans-serif;
    font-size: 1rem;
}
select::-ms-expand {
    display: none;
}
@media all and (-ms-high-contrast:none){
    select {
        font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
    }
}

/* テキスト入力 */
#form input[type='text'],
#form input[type='tel'],
#form input[type='email'],
#form textarea {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 5px 10px;
    font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "YuGothic M", "メイリオ", Meiryo, sans-serif;
    font-size: 1em;
    border: solid 1px #b2b2b2;
    box-shadow: none;
}
#form textarea {
    width: 100% !important;
    max-width: none;
    min-height: 100px;
}
@media all and (-ms-high-contrast:none){
    #form input[type='text'],
    #form input[type='tel'],
    #form input[type='email'],
    #form textarea {
        font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
    }
}

/* 数字入力 */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
    -moz-appearance:textfield;
}

/* mailform pro reset */
#form .must {
    display: inline-block;
    margin: 0;
    padding: 0;
    font-size: 1em;
    text-shadow: none;
    float: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
}
div.mfp_err {
    background: none;
    margin: 0;
    padding: 0;
}
#form *[type='submit'] {
    background: none;
    margin: 0;
    padding: 0;
    text-shadow: none;
    border: none;
    cursor: pointer;
}
#form *[type='submit']:hover {
    box-shadow: none;
}



/* GENERAL */
.body-wrap{
    position:relative;
    box-sizing:border-box;
    overflow-x: hidden;
    min-width: 1120px;
}
.ps-ab{
    position: absolute;
}
.ps-re{
    position: relative;
    z-index: 0;
}
.section{
    padding: 80px 0;
}
.flex{
    display: flex;
    flex-wrap: wrap;
}
.caveat{
    font-family: 'Caveat', 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
}
.crimson{
    font-family: 'Crimson Text', 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
}
.section{
    padding: 80px 0;
}
.blue{
    color: #0969A3;
}
small{
    font-size: 12px;
}


/* FOOTER */
#footer{
    position: relative;
}
#pagetop{
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 99;
    width: 82px;
    height: 92px;
}
#pagetop>a{
    display: block;
}
#pagetop>a:hover{
    opacity: 1;
}
#pagetop::before{
    content: "";
    z-index: -1;
    width: 82px;
    height: 98px;
    position: absolute;
    bottom: 0;
    right: 0;
    background: linear-gradient(to bottom right, rgba(255,255,255,0) 50%, #56ACE1 50.5%) no-repeat top left/100% 100%;
}
#pagetop .text{
    color: #0969A3;
    font-size: 12px;
    font-weight: 600;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    padding-top: 21px;
    padding-left: 39px;
    position: relative;
}
#pagetop .text::before{
    content: "";
    position: absolute;
    width: 1px;
    height: 100px;
    background-color: #0969A3;
    bottom: 0;
    right: -5px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    transition: .5s;
}
#pagetop .text::after{
    content: "";
    position: absolute;
    width: 1px;
    height: 10px;
    background-color: #0969A3;
    transform-origin: top;
    transform: rotate(30deg);
    bottom: 90px;
    right: -5px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    transition: .5s;
}
#pagetop a:hover .text::before{
    height: 80px;
}
#pagetop a:hover .text::after{
    bottom: 70px;
}
#footer{
    background-color: #fff;
}
#footer .footer-top-area{
    background-color: #FFF5F9;
    height: 53px;
}
#footer .footer-bottom-area .flex{
    align-items: center;
    justify-content: space-between;
}
#footer .footer-bottom-area{
    padding: 57px 0 16px;
}
#footer .footer-bottom-area .footer-logo img{
    width: 180px;
}

/* BANNER */
.banner-sec .wrap{
    max-width: 1180px;
}
.banner-sec{
    border: 20px solid #56ACE1;
    background: url(img/banner/repeat.svg) repeat top left;
    padding: 30px 0;
}
.banner-sec .logo-img{
    position: absolute;
    top: 0;
    left: 0;
}
.banner-sec .banner-title{
    text-align: center;
    font-size: 60px;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1.15;
    color: #0969A3;
    transform: translateY(-20px);
}
.banner-sec .banner-title span.banner-title-img{
    display: block;
}
.banner-sec .banner-title span.n1{
    font-size: 38px;
}
.banner-sec .banner-title span.n2{
    font-size: 32px;
    margin-bottom: 15px;

}
.banner-sec img.ps-ab{
    z-index: -1;
    top: -30px;
    right: 0;
    transform: translateX(87px);
    width: 495px;
}
.banner-sec .flex{
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 10px;
}
.banner-btn{
    position: relative;
}
.banner-btn a:hover{
    opacity: 1;
}
.banner-btn img{
    transition: .2s;
}
.banner-btn img.hover-img{
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    z-index: 1;
}
.banner-btn a:hover img.hover-img{
    opacity: 1;
}
.banner-sec .banner-contact{
    padding-bottom: 10px;
}
.banner-sec .banner-contact .text{
    text-align: center;
    margin: 3px 0;
}
.banner-sec .banner-contact .tel-box{
    display: flex;
    align-items: center;
    justify-content: center;
}
.banner-sec .banner-contact .tel-box .time-text{
    margin-left: 10px;
}
.banner-sec .banner-arrow{
    padding-bottom: 95px;
}


/* MV */
.mv img{
    width: 100%;
    margin-bottom: 50px;
}


/* SECTION 01 */
.sec01{
    background: url(img/sec01/bg.png) no-repeat center center / cover;
    text-align: center;
}
.sec01 .sec01-title-text{
    font-size: 54px;
    font-weight: bold;
    color: #0969A3;
    line-height: 1;
}
.sec01 .text-img{
    margin: 40px 0;
}
.sec01 .flex{
    justify-content: space-between;
}
.sec01 .flex .box{
    position: relative;
    background-color: #fff;
    width: 31.5%;
    display: flex;
    flex-wrap: wrap;
    padding: 20px;
    justify-content: space-between;
}
.sec01 .flex .box::before,
.sec01 .flex .box::after{
    content: "";
    background-color: #fff;
    position: absolute;
}
.sec01 .flex .box::before{
    bottom: -6px;
    left: 0;
    width: calc(100% + 6px);
    height: 1px;
}
.sec01 .flex .box::after{
    right: -6px;
    top: 0;
    width: 1px;
    height: calc(100% + 6px);
}
.sec01 .flex .box .icon-img{
    width: 60px;
}
.sec01 .flex .box .text-box{
    width: calc(100% - 80px);
    text-align: left;
}
.sec01 .flex .box .att{
    position: absolute;
    transform: translateY(100%);
    right: 0;
    bottom: -15px;
    font-size: 11px;
}
.sec01 .wrap>.text{
    font-size: 32px;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-top: 50px;
    color: #0969A3;
}
.sec01 .wrap>.text span{
    color: #E86171;
}


/* SECTION 02 */
.sec02{
    background: linear-gradient(#dff1fa 0%, #f5fbff 40.89%, #dff1fa 100%);
}
.sec02-title{
    text-align: center;
}
.sec02-title-text{
    font-size: 54px;
    font-weight: 900;
    color: #0969A3;
    line-height: 1.5;
}
.sec02 .box{
    max-width: 980px;
    margin: 150px auto 0;
    position: relative;
}
.sec02 .box .text-box{
    max-width: 528px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    padding: 50px 50px 80px 100px;
    border-bottom: 2px solid #0969A3;
}
.sec02 .box .text-box2{
    max-width: 528px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    padding: 50px 100px 80px 50px;
    border-bottom: 2px solid #0969A3;
}
.sec02 .box .text-box .text{
    font-size: 18px;
    text-align: center;
    margin-top: 15px;
}
.sec02 .box .text-box2 .text{
    font-size: 18px;
    text-align: center;
    margin-top: 15px;
}
.sec02 .box .text-box .text b{
    color: #56ACE1;
}
.sec02 .box .text-box2 .text b{
    color: #56ACE1;
}
.sec02 .box .img{
    position: absolute;
    bottom: 34px;
}
.sec02 .box:nth-of-type(odd) .img{
    left: 0;
}
.sec02 .box:nth-of-type(even) .img{
    right: 0;
}
.sec02 .box:nth-of-type(odd) .text-box{
    margin-left: auto;
    border-right: 2px solid #0969A3;
}
.sec02 .box:nth-of-type(even) .text-box{
    border-left: 2px solid #0969A3;
}
.sec02 .box:nth-of-type(3) .img,
.sec02 .box:nth-of-type(4) .img{
    bottom: 84px;
}


/* SECTION 03 */
.sec03{
    background: url(img/sec03/bg.jpg) repeat top left;
}
.sec03-title{
    text-align: center;
    margin-bottom: 30px;
}
.sec03-title .text-img{
    margin-bottom: 10px;
}
.sec03-title-text{
    font-weight: bold;
    font-size: 54px;
    color: #0969A3;
    line-height: 1.2;
    margin-top: 15px;
}
.sec03-title-text span{
    font-size: 34px;
}
.sec03 .box{
    background-color: #fff;
    max-width: 980px;
    margin: 70px auto 0;
    position: relative;
    padding: 50px 0 80px;
}
.sec03 .box img.ps-ab{
    top: 0;
    right: 160px;
    transform: translateY(-100%);
}
.sec03 .box .box-inner{
    max-width: 680px;
    margin: 0 auto;
}
.sec03 .box .text{
    color: #fff;
    font-size: 26px;
    font-weight: bold;
    border-radius: 44px;
    text-align: center;
    padding: 24px 0;
    margin-bottom: 43px;
    position: relative;
    max-width: 482px;
}
.sec03 .box .text::after{
    content: "";
    transform: translateY(100%);
    bottom: 0;
    width: 48px;
    height: 30px;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
}
.sec03 .box .text:nth-of-type(3){
    max-width: 100%;
}
.sec03 .box .text:nth-of-type(odd){
    background-color: #56ACE1;
}
.sec03 .box .text:nth-of-type(odd)::after{
    background-image: url(img/sec03/tail01.svg);
    left: 80px;
}
.sec03 .box .text:nth-of-type(even){
    background-color: #9DCFEB;
    margin-left: auto;
}
.sec03 .box .text:nth-of-type(even)::after{
    background-image: url(img/sec03/tail02.svg);
    right: 80px;
}
.sec03 .box .text:last-child{
    margin-bottom: 0;
}


/* SECTION 04 */
.sec04-title{
    text-align: center;
}
.sec04-title-text{
    font-weight: bold;
    font-size: 54px;
    line-height: 1.3;
    color: #0969A3;
    margin: -10px 0;
}
.sec04-title-text span{
    font-size: 32px;
}
.sec04 .box{
    margin-top: 60px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.sec04 .box .icon-img{
    width: 150px;
}
.sec04 .box .text-box{
    width: calc(100% - 200px);
}
.sec04 .box .text-box .text.top{
    font-size: 34px;
    font-weight: bold;
    color: #004874;
    line-height: 1.4;
    margin-bottom: 10px;
}
.sec04 .flex{
    align-items: flex-end;
    justify-content: space-between;
}

/* SECTION 05 */
.sec05{
    background-color: #FFF5F9;
}
.sec05-title{
    text-align: center;
}
.sec05-title-text{
    display: inline-block;
    position: relative;
    font-size: 54px;
    font-weight: bold;
    line-height: 1.3;
    color: #0969A3;
}
.sec05-title-text span{
    color: #56ACE1;
    font-size: 24px;
}
.sec05-title-text img.ps-ab{
    top: 0;
    left: -100px;
}
span.line{
    display: block;
}
.sec05 .box{
    background-color: #fff;
    padding: 40px;
    max-width: 942px;
    margin: 50px auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.sec05 .box .reason-num{
    color: #56ACE1;
    font-weight: 600;
    font-size: 25px;
    letter-spacing: 0.03em;
    text-align: center;
    line-height: 1;
    padding-right: 20px;
    margin-right: 20px;
    border-right: 1px solid #56ACE1;
    font-family: 'Crimson Text', 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
}
.sec05 .box .reason-num span{
    display: block;
    font-size: 65px;
    font-weight: normal;
    letter-spacing: 0;
    margin-top: 5px;
}
.sec05 .box .box-flex{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 20px;
}
.sec05 .box .box-flex .text.top{
    font-size: 32px;
    font-weight: bold;
    color: #0969A3;
}
.sec05 .box .img{
    width: 30%;
}
.sec05 .box .text-box{
    width: 64%;
}
.sec05 .box .text-box>.text{
    line-height: 1.9;
}


/* SECTION 06 */
.sec06{
    background: url(img/sec03/bg.png) repeat top left;
}
.sec06-title{
    text-align: center;
    margin-bottom: 40px;
}
.sec06-title-text{
    font-size: 54px;
    font-weight: bold;
}
.sec06 .intro-box{
    background-color: #FFFCAA;
    text-align: center;
    padding: 30px 0;
    max-width: 980px;
    margin: 0 auto;
}
.sec06 .intro-box .text{
    font-size: 32px;
    font-weight: bold;
    color: #56ACE1;
}
.sec06 .intro-box .text span{
    color: #E86171;
}
.sec06 .box-flex{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    max-width: 748px;
    margin: 20px auto 0;
    justify-content: space-between;
}
.sec06 .box-flex .item{
    color: #E86171;
    width: 274px;
    height: 274px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #FFF4F5;
    border-radius: 50%;
    border: 2px solid #FF9BA7;
}
.sec06 .box-flex .item .text{
    font-weight: bold;
    font-size: 32px;
    color: #E86171;
}
.sec06 .box{
    background-color: #fff;
    border: 4px solid #56ACE1;
    position: relative;
    margin-top: 70px;
    padding: 65px 60px 40px;
    z-index: 0;
}
.sec06 .box .label-text{
    transform: translate(-50%,-50%);
    top: 0;
    left: 50%;
    position: absolute;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    background-color: #56ACE1;
    width: 100%;
    padding: 5px 0 6px;
}
.sec06 .box .label-text::before,
.sec06 .box .label-text::after{
    content: "";
    position: absolute;
    top: 0;
    width: 24px;
    height: 54px;
}
.sec06 .box .label-text::before{
    left: 1px;
    transform: translateX(-100%);
    background: url(img/sec06/label-item01.svg) no-repeat center center / contain;
}
.sec06 .box .label-text::after{
    right: 1px;
    transform: translateX(100%);
    background: url(img/sec06/label-item02.svg) no-repeat center center / contain;
}
.sec06 .box.n1 .label-text{
    max-width: 648px;
}
.sec06 .box.n2 .label-text{
    max-width: 493px;
}
.sec06 .box.n1{
    padding-left: 150px;
    padding-right: 150px;
}
.sec06 .box .img{
    text-align: center;
    margin-bottom: 58px;
}
.sec06 .box.n1 ul{
    margin: 15px 0;
}
.sec06 .box.n1 ul li{
    font-weight: bold;
    color: #0969A3;
    line-height: 2.2;
}
.sec06 .box.n1 ul li span{
    background:linear-gradient(transparent 85%, #FFFF3B 85%);
}
.sec06 .box .text{
    font-weight: bold;
}
.sec06 .box img.ps-ab{
    bottom: 20px;
    right: 20px;
    z-index: -1;
}
.sec06 .box .flex{
    justify-content: space-between;
    margin-bottom: 10px;
}
.sec06 .box .flex .item{
    background-color: #F0F0F0;
    width: 12.2%;
    text-align: center;
}
.sec06 .box .flex .item .icon-img{
    padding-top: 15px;
}
.sec06 .box .flex .item .text{
    line-height: 1.375;
}
.sec06 .box .flex .item .text.top{
    font-weight: bold;
    font-size: 20px;
    padding: 15px 15px;
    line-height: 1.8;
    color: #fff;
}
.sec06 .box.n2 ul li{
    font-size: 12px;
    padding-left: 1em;
}
.sec06 .box.n2 ul li::before{
    content: "※";
    margin-left: -1em;
}
.sec06 .box .flex:nth-of-type(1) .item:nth-of-type(1){
    background-color: #6E6E6E;
}
.sec06 .box .flex:nth-of-type(2) .item:nth-of-type(1){
    background-color: #E86171;
}
.sec06 .box .flex:nth-of-type(2) .text:not(.top){
    color: #004874;
}
.sec06{
    padding-bottom: 100px;
}


/* SECTION 07 */
.sec07{
    /*background: url(img/sec01/bg.png) no-repeat center center / cover;*/
    text-align: center;
}
.sec07::before,
.sec07::after{
    content: "";
    height: 178px;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
}
.sec07::after{
    background: linear-gradient(to bottom left, rgba(255,255,255,0) 50%, #EFF9FF 50.5%) no-repeat top left/100% 100%;
    z-index: -1;
}
.sec07::before{
    background: linear-gradient(to bottom right, rgba(255,255,255,0) 50%, #F5F5F5 50.5%) no-repeat top left/100% 100%;
    z-index: -2;
}
.sec07 .wrap{
    position: relative;
    padding-bottom: 80px;
    z-index: 0;
}
.sec07 .wrap::before{
    content: "";
    height: calc(100% - 178px);
    width: 100vw;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background-color: #EFF9FF;
    z-index: -1;
}
.sec07 .wrap2::before{
    content: "";
    height: calc(100% - 178px);
    width: 100vw;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    /*background-color: #EFF9FF;*/
    z-index: -1;
}
.sec07-title{
    text-align: center;
    margin-bottom: 30px;
}
.sec07-title .text-img{
    margin-bottom: 10px;
}
.sec07-title-text{
    font-weight: bold;
    font-size: 54px;
    color: #0969A3;
    line-height: 1.2;
    margin-top: 15px;
}
.sec07-title-text span{
    font-size: 34px;
}
.sec07-slider-wrap{
    max-width: 970px;
    margin: 0 auto;
}
.sec07-slider{
    line-height: 1;
}
.sec07-slider .slide-arrow{
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    z-index: 1;
    transition: .2s;
    cursor: pointer;
}
.sec07-slider .slide-arrow:hover{
    opacity: .6;
}
.sec07-slider .next-arrow{
    right: -65px;
}
.sec07-slider .prev-arrow{
    left: -65px;
}
.sec07 .check-box{
    margin: 46px auto;
    max-width: 970px;
    border: 4px solid #56ACE1;
    border-radius: 20px;
    padding: 40px 30px;
    background-color: #fff;
}
.sec07 .check-box ul{
    display: flex;
    flex-wrap: wrap;
}
.sec07 .check-box ul li:nth-of-type(1),
.sec07 .check-box ul li:nth-of-type(4),
.sec07 .check-box ul li:nth-of-type(7){
    width: 43%;
}
.sec07 .check-box ul li:nth-of-type(2),
.sec07 .check-box ul li:nth-of-type(5),
.sec07 .check-box ul li:nth-of-type(8){
    width: 33%;
}
.sec07 .check-box ul li:nth-of-type(3),
.sec07 .check-box ul li:nth-of-type(6),
.sec07 .check-box ul li:nth-of-type(9){
    width: 24%;
}
.sec07 .check-box ul li:nth-of-type(7),
.sec07 .check-box ul li:nth-of-type(8),
.sec07 .check-box ul li:nth-of-type(9){
    margin-bottom: 0;
}
.sec07 .check-box ul li{
    color: #0969A3;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
}
.sec07 .check-box ul li span,
.sec07 .flex .text.top span{
    background:linear-gradient(transparent 85%, #FFFF3B 85%);
}
.sec07 .check-box ul li::before{
    content: "";
    vertical-align: bottom;
    width: 32px;
    height: 28px;
    display: inline-block;
    margin-right: 12px;
    background: url(img/sec07/check.svg) no-repeat center center / contain;
}
.sec07 .flex{
    max-width: 986px;
    margin: 0 auto;
    justify-content: space-between;
    margin-bottom:20px;
    margin-top:20px;
}
.sec07 .flex .text-box{
    width: 45%;
}
.sec07 .flex .text-box .text.top{
    font-weight: bold;
    font-size: 48px;
    color: #0969A3;
    margin-bottom: 5px;
}
.sec07 .flex .text-box .text.sub{
    font-weight: bold;
    font-size: 32px;
    color: #6E6E6E;
    margin-bottom: 5px;
}
.sec07 .flex .text-box .text:not(.top){
    line-height: 2;
}
.sec07 .flex .text-box .item-img{
    text-align: right;
}
.sec07 .box{
    position: relative;
    background-color: #fff;
    padding: 67px 76px;
    margin-top: 100px;
}
.sec07 .box .label-text{
    width: 492px;
    text-align: center;
    margin: 0 auto;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    background-color: #56ACE1;
    padding: 5px 0 6px;
    position: relative;
}
.sec07 .box .label-text.n1{
    transform: translate(-50%,-50%);
    top: 0;
    left: 50%;
    position: absolute;
}
.sec07 .box .label-text::before,
.sec07 .box .label-text::after{
    content: "";
    position: absolute;
    top: 0;
    width: 24px;
    height: 54px;
}
.sec07 .box .label-text::before{
    left: 1px;
    transform: translateX(-100%);
    background: url(img/sec06/label-item01.svg) no-repeat center center / contain;
}
.sec07 .box .label-text::after{
    right: 1px;
    transform: translateX(100%);
    background: url(img/sec06/label-item02.svg) no-repeat center center / contain;
}
.sec07 .box .box-flex{
    justify-content: space-between;
    display: flex;
    flex-wrap: wrap;
}
.sec07 .box .box-flex .text-box{
    width: 48%;
}
.sec07 .box .box-flex .text-box .text.top{
    font-size: 20px;
    color: #0969A3;
    font-weight: bold;
    margin-bottom: 10px;
}
.sec07 .box .box-flex .text-box .name{
    text-align: right;
    margin-top: 10px;
}
.sec07 .box .time-table{
    margin: 40px 0 70px;
}
.sec07 .box .time-table table{
    width: 100%;
}
.sec07 .box .time-table table th,
.sec07 .box .time-table table td{
    border: 1px solid #C4C4C4;
    text-align: center;
    height: 70px;
    vertical-align: middle;
    font-size: 20px;
}
.sec07 .box .time-table table th:nth-of-type(even),
.sec07 .box .time-table table td:nth-of-type(even){
    background-color: #FCFBED;
}
.sec07 .box .time-table table th:nth-of-type(1){
    width: 200px;
}
.sec07 .box .map{
    margin: 40px 0 20px;
}
.sec07 .box .map iframe{
    width: 100%;
    height: 320px;
    vertical-align: bottom;
}
.sec07 .box .access-detail{
    display: flex;
    flex-wrap: wrap;
}
.sec07 .box .access-detail dl{
    display: flex;
    flex-wrap: wrap;
}
.sec07 .box .access-detail dl dt img{
    margin-right: 10px;
    vertical-align: baseline;
}
.sec07 .box .access-detail dl dt{
    color: #0969A3;
    font-weight: bold;
    font-size: 18px;
    margin-right: 2em;
}
.sec07 .box .access-detail dl dd{
    font-weight: bold;
}
.sec07 .box .access-detail dl:nth-of-type(1) dt img{
    position: relative;
    bottom: -2px;
}
.sec07 .box .access-detail dl:nth-of-type(1){
    padding-right: 37px;
    width: 55%;
    border-right: 1px solid #C4C4C4;
}
.sec07 .box .access-detail dl:nth-of-type(2){
    padding-left: 37px;
    width: 45%;
}
br.s-up{
    display: none;
}


/* SECTION 08 */
.sec08-title{
    margin-bottom: 30px;
    text-align: center;
}
.sec08-title-text{
    font-size: 54px;
}
.sec08 .box{
    position: relative;
}
.sec08 .box .text-box{
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    left: 0;
    width: 100%;
    padding: 0 56px;
    background-color: #FFF5F9;
    border-radius: 108px;
    height: 215px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.sec08 .box .text-box .item{
    width: 360px;
}
.sec08 .box .text-box .text{
    font-size: 20px;
}
.sec08 .box .text-box .text.top{
    font-size: 32px;
    color: #0969A3;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 10px;
}
.sec08 .box .img{
    position: relative;
    z-index: 1;
}
.sec08 .box .img img{
    width: 576px;
}
.sec08 .box:nth-of-type(even) .img{
    text-align: right;
}
.sec08 .box:nth-of-type(odd) .text-box .item{
    margin-left: auto;
}
.sec08 .box:nth-of-type(odd) .img{
    padding-left: 66px;
}
.sec08 .box:nth-of-type(even) .img{
    padding-right: 66px;
}
.sec08-line{
    display: block;
    text-align: center;
    padding: 5px 0 5px;
}
.sec08-line:nth-of-type(odd){
    transform: translateX(30px);
}
.sec08-line:nth-of-type(even){
    transform: translateX(-30px);
}


/* SECTION 09 */
.sec09 .sec09-c1{
    background-color: #EFF9FF;
}
.sec09 .sec09-c2{
    background-size: auto auto;
    background-color: #EFF9FF;
    background-image: repeating-linear-gradient(90deg, transparent, transparent 20px, #E7F3FA 20px, #E7F3FA 35px );
}
.sec09 .flex{
    align-items: flex-end;
    justify-content: space-between;
}
.sec09-title{
    text-align: center;
    position: relative;
    background-color: #56ACE1;
    border: 4px solid #fff;
    color: #fff;
    font-weight: bold;
    padding: 6px 0;
    margin-bottom: 45px;
    z-index: 0;
}
.sec09-title-text{
    font-size: 44px;
    line-height: 1.3;
}
.sec09-title-subtext{
    font-size: 24px;
    color: #FFF621;
}
.sec09-title .logo-img{
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    left: 10px;
}
.sec09-title::before{
    content: "";
    z-index: -1;
    position: absolute;
    transform: translate(-50%,100%);
    bottom: 0;
    left: 50%;
    width: 55px;
    height: 37px;
    background: url(img/sec09/triangle.svg) no-repeat center center / contain;
}
.sec09 .line-box{
    background-color: #fff;
    padding: 10px 20px 10px 190px;
    margin-top: 30px;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.sec09 .line-box img.ps-ab{
    transform: translateY(-50%);
    top: 50%;
    left: 20px;
}
.sec09 .line-box .qr-img{
    margin-right: 10px;
}
.sec09 .line-box .qr-img img{
    width: 100px;
}
.sec09 .line-box .qr{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.sec09 .line-box .text-box .text{
    font-weight: bold;
}
.sec09 .line-box .text-box .text.adjust{
    font-size: 18px;
}
.sec09 .sec09-c1 .line-box .text-box .text span{
    color: #2EC928;
}
.sec09 .sec09-c2 .line-box .text-box .text span{
    color: #56ACE1;
}
.sec09 .line-box .text-box .text span.red{
    color: #E86171;
}
.sec09 .sec09-c2 .sec09-title .att{
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    right: 5px;
    background-color: #fff;
    font-size: 24px;
    font-weight: bold;
    color: #0969A3;
    border-radius: 50px;
    line-height: 1.2;
    padding: 12px 33px;
}
.sec09 .line-box .qr .text span{
    display: none;
}



/* SECTION 10 */
.sec10{
    background: url(img/sec10/bg.png) no-repeat center center / cover;
    height: 41.7vw;
}


/* SECTION 11 */
.sec11{
    background-color: #FFF5F9;
}
.sec11-title{
    text-align: center;
    margin-bottom: 60px;
}
.sec11-title-text{
    font-size: 54px;
    font-weight: bold;
    color: #0969A3;
    line-height: 1.2;
}
.sec11 .box{
    margin-top: 30px;
}
.sec11 .question-title{
    cursor: pointer;
    transition: .2s;
    background-color: #56ACE1;
    color: #fff;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    padding: 24px 60px 24px 80px;
    position: relative;
    font-size: 18px;
    font-weight: bold;
}
.sec11 .question-title::before{
    content: "";
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    left: 20px;
    width: 40px;
    height: 40px;
    background: url(img/sec11/question.svg) no-repeat center center / contain;
}
.sec11 .question-title .toggle{
    background-color: #fff;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    position: absolute;
    transform: translateY(-50%);
    right: 20px;
    top: 50%;
}
.sec11 .question-title .toggle span{
    width: 12px;
    height: 2px;
    background-color: #0969A3;
    position: absolute;
    transform: translate(-50%,-50%);
    top: 50%;
    left: 50%;
    transition: .2s;
}
.sec11 .question-title .toggle span:nth-of-type(1){
    transform: translate(-50%,-50%) rotate(90deg);
}
.sec11 .question-title .toggle.active span:nth-of-type(1){
    transform: translate(-50%,-50%) rotate(0);
}
.sec11 .question-title:hover{
    opacity: .6;
}
.sec11 .answer-box{
    background-color: #fff;
    padding: 20px 20px 20px 80px;
    position: relative;
}
.sec11 .answer-box::before{
    content: "";
    position: absolute;
    top: 20px;
    left: 20px;
    width: 40px;
    height: 40px;
    background: url(img/sec11/answer.svg) no-repeat center center / contain;
}
.sec11 .answer-box .img{
    margin-top: 10px;
}
.sec11 .answer-box .img img{
    width: 600px;
}


/* PMDA */
.sec12{
    font-size:90%;
    background-color: #FFF5F9;
}
#pmda dt{
    font-weight:bold;
}
#pmda dt:not(:first-child){
    margin-top:1em;
}
#pmda dd{
    margin-top:0.2em;
}

@media screen and (max-width: 1400px){
    .banner-sec img.ps-ab {
        top: -30px;
        right: 0;
        transform: translateX(30px);
        width: 400px;
    }
}

@media screen and (max-width: 1280px){
    .banner-sec img.ps-ab {
        top: 80px;
        transform: translateX(20px);
        width: 250px;
    }
    .banner-sec .wrap {
        max-width: 1030px;
    }
    .banner-sec .flex .banner-text img{
        width: 450px;
    }
    .banner-sec .banner-arrow img{
        width: 50px;
    }
    .banner-sec .banner-btn img{
        width: 490px;
    }
    .banner-sec .banner-contact .tel-box img{
        width: 300px;
    }
    .banner-sec .banner-contact .tel-box .time-text img{
        width: 160px;
    }
}


@media screen and (max-width: 750px){
    .body-wrap{
        min-width: 320px;
    }
    .wrap{
        padding: 0 20px;
    }
    .section{
        padding: 60px 0;
    }
    .text{
        font-size: 14px;
    }
    br.s-up{
        display: block;
    }


    /* FOOTER */
    #footer .footer-bottom-area .flex{
        display: block;
        text-align: center;
    }
    #footer .footer-bottom-area{
        padding: 15px 0;
    }
    #footer .footer-top-area{
        height: 45px;
    }
    #pagetop,
    #pagetop::before{
        width: 62px;
        height: 78px;
    }
    #pagetop .text {
        font-size: 11px;
        padding-top: 11px;
        padding-left: 19px;
    }
    #pagetop a:hover .text::after{
        bottom: 90px;
    }
    #pagetop a:hover .text::before{
        height: 100px;
    }


    /* SECTION 01 */
    .sec11-title-text,
    .sec07-title-text,
    .sec06-title-text,
    .sec05-title-text,
    .sec04-title-text,
    .sec02-title-text,
    .sec01 .sec01-title-text{
        font-size: 26px;
    }
    .sec01-subtext img{
        width: 130px;
    }
    .sec01-subtext{
        margin-bottom: 10px;
    }
    .sec01 .flex .box{
        width: 100%;
        margin-bottom: 20px;
    }
    .sec01 .flex .box .icon-img {
        width: 45px;
    }
    .sec01 .flex .box .text-box{
        width: calc(100% - 65px);
    }
    .sec01 .wrap>.text{
        font-size: 18px;
    }

    /* BANNER */
    .banner-sec {
        border: 10px solid #56ACE1;
    }
    .banner-sec .logo-img{
        position: initial;
    }
    .banner-sec .banner-title{
        font-size: 28px;
        line-height: 1.4;
        transform: initial;
        margin-top: 15px;
    }
    .banner-sec .banner-title span.n1{
        font-size: 26px;
    }
    .banner-sec .banner-title span.n2{
        font-size: 18px;
        display: block;
    }
    .banner-sec .banner-title span.banner-title-img{
        margin-bottom: 5px;
    }
    .banner-sec .banner-title span.banner-title-img img{
        width: 100px;
    }
    .banner-sec img.ps-ab{
        top: 80px;
        right: 0;
        transform: translateX(0);
        width: 110px;
    }
    .banner-sec .flex{
        display: block;
    }
    .banner-sec .flex .banner-text{
        text-align: center;
    }
    .banner-sec .banner-contact .text{
        margin: 15px 0 0;
    }
    .banner-sec .banner-arrow{
        padding: 10px 0;
        text-align: center;
    }
    .banner-sec .banner-arrow img{
        transform: rotate(90deg);
        width: 40px;
    }
    .banner-sec .banner-contact .tel-box .time-text{
        margin-left: 0;
        margin-top: 10px;
    }
    .banner-sec .banner-contact .tel-box{
        display: block;
        text-align: center;
    }
    .banner-sec .banner-contact .tel-box a img{
        width: 230px;
    }


    /* SECTION 02 */
    .sec02-title-text{
        margin-top: 10px;
    }
    .sec02 .box{
        margin: 50px auto 0;
    }
    .sec02 .box .img{
        position: initial;
        text-align: center;
    }
    .sec02 .box .text-box{
        padding: 20px;
        display: block;
    }
    .sec02 .box .text-box .case-num{
        text-align: center;
    }
    .sec02 .box .text-box .case-num img{
        width: 100px;
    }
    .sec02 .box .text-box .text{
        font-size: 18px;
    }


    /* SECTION 03 */
    .sec03 .box img.ps-ab{
        width: 70px;
        right: -15px;
    }
    .sec03-title-img{
        transform: initial;
    }
    .sec03-title-img img{
        width: 280px;
    }
    .sec03 .box{
        margin: 50px auto 0;
        padding: 20px 20px 40px;
    }
    .sec03 .box .text{
        font-size: 16px;
        margin-bottom: 25px;
        padding: 12px;
    }
    .sec03 .box .text::after{
        width: 35px;
        height: 15px;
    }


    /* SECTION 04 */
    .sec04-title-subtext img{
        width: 210px;
    }
    .sec04-title-text span{
        font-size: 16px;
    }
    .sec04-title-text{
        margin-top: 5px;
    }
    .sec04 .box{
        margin-top: 40px;
        display: block;
    }
    .sec04 .box .icon-img{
        width: 100%;
        text-align: center;
    }
    .sec04 .box .icon-img img{
        width: 70px;
    }
    .sec04 .box .text-box{
        width: 100%;
        margin-top: 15px;
    }
    .sec04 .box .text-box .text.top{
        font-size: 18px;
    }
    .sec04 .box .text-box .text.top br{
        display: none;
    }


    /* SECTION 05 */
    .sec05-title-text span{
        font-size: 16px;
    }
    .sec05-title-text img.ps-ab{
        position: initial;
        display: block;
        width: 80px;
    }
    .sec05{
        padding-top: 20px;
    }
    .sec05 .box{
        padding: 20px;
    }
    .sec05 .box .reason-num span{
        font-size: 45px;
    }
    .sec05 .box .reason-num{
        font-size: 20px;
        padding-right: 10px;
        margin-right: 15px;
    }
    .sec05 .box .box-flex .text.top{
        font-size: 20px;
        width: calc(100% - 90px);
    }
    .sec05 .box .text-box{
        width: 100%;
    }
    .sec05 .box .img{
        width: 100%;
        text-align: center;
        margin-top: 25px;
    }


    /* SECTION 06 */
    .sec06-title-subtext img{
        width: 270px;
    }
    .sec06 .intro-box .text{
        font-size: 18px;
    }
    .sec06 .intro-box{
        padding: 20px;
    }
    .sec06 .box-flex .item .text{
        font-size: 20px;
    }
    .sec06 .box-flex .item{
        width: 190px;
        height: 190px;
    }
    .sec06 .box-flex{
        flex-direction: column;
    }
    .sec06 .box-flex .deco{
        padding: 10px 0;
    }
    .sec06 .box-flex .deco img{
        width: 70px;
    }
    .sec06 .box .label-text{
        font-size: 16px;
        width: 90%;
    }
    .sec06 .box .label-text::before, .sec06 .box .label-text::after{
        display: none;
    }
    .sec06 .box{
        padding-right: 20px !important;
        padding-left: 20px !important;
        padding-bottom: 20px !important;
    }
    .sec06 .box .img{
        margin-bottom: 25px;
    }
    .sec06 .box img.ps-ab{
        width: 100px;
    }
    .sec06 .box .flex .item:nth-of-type(1){
        width: 100%;
    }
    .sec06 .box .flex .item .text.top{
        font-size: 16px;
        padding: 5px;
    }
    .sec06 .box .flex .item .text.top br{
        display: none;
    }
    .sec06 .box .flex .item{
        width: 48%;
        margin: 1%;
        padding: 10px 15px 15px;
    }
    .sec06 .box .flex .item:last-child{
        width: 98%;
    }
    .sec06 .box .flex .item .icon-img{
        padding-top: 0;
    }
    .sec06 .box .flex{
        margin-bottom: 20px;
    }
    .sec06{
        padding-bottom: 100px;
    }


    /* SECTION 07 */
    .sec07::before, .sec07::after{
        height: 50px;
    }
    .sec07{
        margin-top: -50px;
    }
    .sec07-title .text-img:first-child{
        margin-bottom: 10px;
    }
    .sec07-title .text-img:first-child img{
        width: 100px;
    }
    .sec07-title .text-img:nth-of-type(2) img{
        width: 280px;
    }
    .sec07 .wrap::before{
        height: calc(100% - 50px);
    }
    .sec07-title-text span{
        font-size: 20px;
    }
    .sec07-title-text{
        line-height: 1.4;
        margin-top: 0;
    }
    .sec07-title .text-img{
        margin-bottom: 0;
    }
    .sec07 .slick-slide{
        margin: 0 5px;
    }
    .sec07-slider .slide-arrow{
        width: 35px;
    }
    .sec07-slider .next-arrow{
        right: 5px;
    }
    .sec07-slider .prev-arrow{
        left: 5px;
    }
    .sec07 .check-box ul li{
        width: 100% !important;
        font-size: 16px;
        margin-bottom: 15px;
    }
    .sec07 .check-box ul li::before{
        width: 22px;
        height: 18px;
        vertical-align: sub;
        position: relative;
        top: -2px;
    }
    .sec07 .check-box{
        padding: 20px;
        border: 2px solid #56ACE1;
        border-radius: 10px;
    }
    .sec07 .check-box ul li:nth-of-type(7), .sec07 .check-box ul li:nth-of-type(8){
        margin-bottom: 15px;
    }
    .sec07 .flex{
        display: block;
    }
    .sec07 .flex .text-box{
        width: 100%;
        margin-bottom: 20px;
    }
    .sec07 .flex .text-box .text.top{
        font-size: 18px;
    }
    .sec07 .flex .text-box .item-img img{
        width: 100px;
    }
    .sec07 .flex .img{
        text-align: center;
    }
    .sec07 .box .label-text{
        width: 75%;
    }
    .sec07 .box .label-text{
        font-size: 18px;
        padding: 1px 0 2px;
    }
    .sec07 .box .label-text::before, .sec07 .box .label-text::after{
        width: 17px;
        height: 35px;
    }
    .sec07 .box{
        padding: 47px 20px 20px;
    }
    .sec07 .box .box-flex{
        display: block;
    }
    .sec07 .box .box-flex .img{
        text-align: center;
    }
    .sec07 .box .box-flex .text-box{
        width: 100%;
        margin-top: 20px;
    }
    .sec07 .box .box-flex .text-box .text.top{
        font-size: 18px;
    }
    .sec07 .box .box-flex .text-box .name{
        font-size: 14px;
    }
    .sec07 .box .time-table table th, .sec07 .box .time-table table td{
        font-size: 14px;
        height: 45px;
    }
    .sec07 .box .time-table table th:nth-of-type(1){
        width: 115px;
    }
    .sec07 .box .time-table {
        margin: 20px 0 40px;
    }
    .sec07 .box .map iframe{
        height: 200px;
    }
    .sec07 .box .access-detail dl:nth-of-type(2){
        padding-left: 0;
        width: 100%;
        margin-top: 15px;
    }
    .sec07 .box .access-detail dl:nth-of-type(1){
        padding-right: 0;
        width: 100%;
        border-right: none;
    }
    .sec07 .box .access-detail dl dt img{
        width: 13px;
    }
    .sec07 .box .access-detail dl dt{
        font-size: 16px;
    }
    .sec07 .box .access-detail dl dd{
        font-size: 14px;
    }
    .sec07 .wrap{
        padding-bottom: 60px;
    }
    .sec07 .box .label-text::before{
        left: 2px;
    }


    /* SECTION 08 */
    .sec08 .box .text-box{
        position: initial;
        transform: initial;
        border-radius: 20px;
        height: auto;
        padding: 50px 20px 20px;
        margin-top: -35px;
    }
    .sec08 .box .img{
        padding: 0 !important;
        text-align: center;
    }
    .sec08 .box .text-box .text.top{
        font-size: 18px;
        margin-bottom: 5px;
    }
    .sec08 .box .text-box .text.top br{
        display: none;
    }
    .sec08 .box .text-box .text{
        font-size: 14px;
    }
    .sec08-line{
        display: none;
    }
    .sec08 .box:not(:last-child){
        margin-bottom: 35px;
    }


    /* SECTION 09 */
    .sec09-title{
        padding: 0 15px 15px;
        margin-bottom: 35px;
    }
    .sec09-title .logo-img{
        position: initial;
        transform: initial;
    }
    .sec09-title-text{
        font-size: 18px;
    }
    .sec09-title-subtext{
        font-size: 14px;
    }
    .sec09-title::before{
        width: 36px;
        height: 24px;
    }
    .sec09 .flex{
        display: block;
        text-align: center;
    }
    .sec09 .flex .box{
        margin-bottom: 20px;
    }
    .sec09 .line-box img.ps-ab{
        display: block;
        margin: 0 auto 15px;
        width: 100px;
        position: initial;
        transform: initial;
    }
    .sec09 .line-box{
        padding: 15px;
    }
    .sec09 .line-box .text-box .text.adjust{
        font-size: 16px;
    }
    .sec09 .line-box .qr{
        display: block;
        text-align: center;
        margin-top: 15px;
        width: 100%;
    }
    .sec09 .sec09-c2 .sec09-title .att{
        font-size: 16px;
        position: initial;
        transform: initial;
        margin-top: 10px;
        border-radius: 10px;
        padding: 10px;
    }
    .sec09 .line-box .text-box .text br{
        display: none;
    }
    .sec09 .line-box .text-box .text br.s-up{
        display: block;
    }
    .sec09 .line-box .qr .text span{
        display: block;
        background-color: #2EC928;
        color: #fff;
        font-weight: bold;
        margin-top: 10px;
        padding: 3px 0;
    }
    .sec09 .line-box .qr .text img{
        display: none;
    }


    /* SECTION 10 */
    .sec10{
        height: 55vw;
    }


    /* SECTION 11 */
    .sec11 .question-title{
        padding: 15px 40px 15px 50px;
    }
    .sec11 .question-title .text{
        font-size: 15px;
    }
    .sec11 .question-title::before,
    .sec11 .answer-box::before{
        width: 25px;
        height: 25px;
        left: 10px;
    }
    .sec11 .question-title .toggle{
        right: 10px;
        width: 20px;
        height: 20px;
    }
    .sec11 .question-title .toggle span{
        width: 10px;
    }
    .sec11 .answer-box{
        padding: 20px 20px 20px 50px;
    }
    .sec11 .question-title:hover{
        opacity: 1;
    }
}

@media screen and (max-width: 374px){
    .sec01 .flex .box .text-box .text br{
        display: none;
    }
    .sec01 .flex .box .att{
        text-align: right;
    }
    .banner-sec .banner-title{
        font-size: 23px;
    }
    .sec05-title-text span{
        font-size: 13px;
    }
    .sec06 .intro-box .text,
    .sec05 .box .box-flex .text.top{
        font-size: 16px;
    }
    .sec06 .box .label-text{
        font-size: 13px;
    }
    .sec07 .box .time-table table th, .sec07 .box .time-table table td{
        font-size: 13px;
        height: 40px;
    }
    .sec07 .box .time-table table th:nth-of-type(1){
        width: 95px;
    }
    .sec07 .box .access-detail dl dd{
        font-size: 13px;
    }
    .sec09-title-subtext{
        font-size: 12px;
    }
    .sec09-title-text{
        font-size: 17px;
    }
}







#menu_sp{
	position: fixed;
	text-align: right;
    right: 50px;
    left: 0px;
    bottom: 12px;
    width: auto;
    z-index:9999;
}


#menu_sp .menu {
    box-sizing:border-box;
    padding:12px;
    display: flex;
    justify-content:space-between;
    align-items: center;
    background: #cccccc36;
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
}

#menu_sp .menu_tel {
}

.menu_line img {
    display: inline;
    width: 14px;
    margin-right: 5px;
    transform: translate(0,2px);
    /* box-sizing: content-box; */
}

.menu_line a {
    font-size: 11px;
    text-decoration: none;
    color: #fff;
    background: #EE781F;
    /* display: block; */
    text-align: center;
    height: 40px;
    padding: 0 32px;
    border-radius: 30px;
    display: flex;
    align-items: center;
    line-height: 1.4;
}

.menu_tel a {
    color: #fff;
    background: #004874;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    width: 40px;
    height: 40px;
    border: solid 1px;
    border-radius: 50%;
    font-weight:bold;
    text-decoration: none;
}


@media( min-width: 768px){
	.sp{
		display: none;
	}
	.pc{
		display: block;
	}

    #menu_sp{
        position: fixed;
        left:60vw;
        top:2em;
        bottom:initial;
        width: 35vw;
    }


    .menu_line,.menu_tel{height:auto;text-align: center;}
    .menu_line{width:60%;}
    .menu_tel{width:38%;}
    .menu_line a {
        font-size: 0.8rem;
        text-decoration: none;
        color: #fff;
        background: #EE781F;
        height: 60px;
        padding: 0 10px;
        border-radius: 30px;
        display: flex;
        width:100%;
        box-sizing:border-box;
        align-items: center;
        justify-content:center;
        line-height: 1.5;
        text-align: center;
    }
    .menu_tel a {
        color: #fff;
        background: #004874;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.1rem;
        width: auto;
        height: 60px;
        border: solid 1px;
        border-radius: 30px;
        text-decoration: none;
    }

}
@media( max-width:767.98px ){
	.sp,
    #menu_sp{
		display: block;
	}
	.pc{
		display: none;
	}
}


#event{
	position:relative;
	margin:-120px auto 80px;
    text-align:center;
}

#event .menu_line{
	position:relative;
	margin:-0.5em auto 0;
	width:400px;
	max-width:80%;
	text-align:center;
	height:auto;
}

#event .menu_line div{
	font-size:120%;
	margin:0 auto;
	width:90%;
	text-align:center;
	height:auto;
	font-weight:bold;
	letter-spacing:0.1em;
}

#event .menu_line a{
	height:auto;
	padding:0.8em;
}


/*** add 29 oct ***/
.float{
    position:absolute;
    width:30%;
    max-width:400px;
    top:280px;
    right:8%;
    box-sizing:border-box;
    padding:1%;
    background:#fff;
    border-radius:6px;
    animation-name: fadein;
    animation-delay: 500ms;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    transform: translateY(50px);
    opacity: 0;
    z-index:9999;
    box-shadow:0 0 6px rgba(0,0,0,0.3);
}

@keyframes fadein {
    0% {
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.float img{
    margin:0 auto;
    max-width:100%;
}

.float p{
    margin-bottom:1em;
    text-align:center;
}

.float .banner-btn{
    margin:0 auto;
    width:80%;
}

@media screen and (max-width: 750px){
    .float{
        position:absolute;
        width:80%;
        max-width:80%;
        right:10%;
        left:auto;
    }
    .float p{
        margin-bottom:0.5em;
    }
}