@charset "utf-8";
/* CSS Document */
/*-----------------------------
 reset
-------------------------------*/
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, 
img, small, strong, sub, sup,b, i,dl, dt, dd, ol, ul, li,
 form, label,table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,hgroup, menu, nav, section,
time, mark, audio, video {
margin:0;	padding:0;border:0;outline:0;font-size:100%;
vertical-align:baseline;background:transparent;line-height:1.7;
}
th{font-style:normal;font-weight:normal;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;*font-size:100%;}

body {line-height:1;font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Meiryo,"メイリオ","ＭＳ Ｐゴシック",Helvetica,Sans-Serif;}
nav ul {list-style:none;}
table {	border-collapse:collapse;border-spacing:0;}
input, select {vertical-align:middle;}
article, aside, figure, footer, header,hgroup, nav, section { display:block; }
img{vertical-align:bottom;width:100%;display: block;}
a:hover{opacity: .8;}
/*-----------------------------
 common
-------------------------------*/
body{
    font-family: 'Noto Sans', sans-serif;
    font-family: 'Noto Sans JP', sans-serif;
    color: #51585F;
}
.wrap{
    width: 100%;
    max-width: 750px;
    margin: 0 auto;
    background:#fff;
}
.wrap img{
    width: 100%;
    height: auto;
}
.overlaid{
    position: relative;
}
.abs{
    position: absolute;
}
/*-----------------------------
 title
-------------------------------*/
.ttl_01{
    width: 29.7%;
    left: 0;
    right: 0;
    margin: 8.8% auto;
}
.ttl_02{
    width: 78.3%;
    left: 0;
    right: 0;
    margin: 8.8% auto;
}
.ttl_03{
    width: 62.3%;
    left: 0;
    right: 0;
    margin: 8.8% auto;
}
.ttl_04{
    width: 48.7%;
    left: 0;
    right: 0;
    margin: 8.8% auto;
}

/*-----------------------------
 table
-------------------------------*/
.m_wrap{
    padding:0 3%;
}
table#contents {
    border: solid 1px #f2f2f2;
    border-collapse: collapse;
    border-spacing:0;
    width:100%;
    margin:5% 0 0 0;
}
table#contents th {
    width:30%;
    text-align:left;
    box-sizing:border-box;
    border: solid 1px #B7DEF1;
    font-size:18px;
    background-color:#E0F4FC;
    line-height: 1.6;
    padding: 12px 12px 16px;
    font-weight:normal;
}
table#contents td {
    width: 70%;
    padding: 12px 20px 16px;
    box-sizing: border-box;
    border: solid 1px #B7DEF1;
    font-size: 18px;
    vertical-align: middle;
    line-height: 1.6;
}
table#contents td a,
table#contents td a:visited{
    text-decoration:none;
    color:#B7DEF1;
}
@media screen and (max-width:750px) {
    table#contents th {
        font-size:2.4vw;
        padding:1.6vw 1.6vw 2.133vw;
    }
    table#contents td {
        font-size:2.4vw;
        padding:1.6vw 2.666vw 2.133vw;
    }
}
@media screen and (max-width:640px) {
    table#contents th {
        font-size:3.1vw;
    }
    table#contents td {
        font-size:3.1vw;
    }
}
/*-----------------------------
 kojin
-------------------------------*/
.kojin_wrap {
    margin:0 auto;
    padding:0 5%;
    font-size:18px;
}
ul.kojin {
    list-style-type:disc;
    margin:0 0 0 1em;
    padding:0;
}
.kojin_h3 {
    max-width:750px;
    font-size:24px;
    font-weight: 600;
    border-bottom:1px solid #B7DEF1;
    line-height:40px;
    margin:15px 0 15px;
}
@media screen and (max-width:750px) {
    .kojin_wrap {
        font-size:2.4vw;
    }
    .kojin_h3 {
        font-size:3.2vw;
        line-height: 5.333vw;
        margin:2vw 0 2vw;
    }
}
@media screen and (max-width:640px) {
    .kojin_wrap {
        font-size:3.1vw;
    }
    .kojin_h3 {
        line-height: 6.133vw;
        font-size:3.9vw;
    }
}
/*-----------------------------
 faq_title
-------------------------------*/
.faq_ttl01{
    width: 42%;
    text-align: left;
    margin: -2% 0 5.5% -3.2%;
}
.faq_ttl02{
    width: 45.3%;
    text-align: left;
    margin: -2% 0 5.5% -3.2%;
}
.faq_ttl03{
    width: 54.2%;
    text-align: left;
    margin: -2% 0 5.5% -3.2%;
}
.faq_ttl04{
    width: 95.5%;
    text-align: left;
    margin: -2% 0 5.5% -3.2%;
}
/*-----------------------------
 faq_accordion
-------------------------------*/
.qa{
    background-color: #fff;
    padding: 0 0 2.9%;
    font-size: 28px;
}
.qa_set{
    width: 690px;
    margin: 0 auto 5.8%;
    overflow: hidden;
    border-radius: 10px;
    border :1px solid #B7DEF1;
    background-color: #B7DEF1;
}
.qa_set_last{
    margin: 0 auto;
}
.qa_q{
    display: flex;
    align-items: start;
    background-color: #fff;
    position: relative;
    cursor: pointer;
    padding: 2.55% 2.4%;
    transition: all 0.3s;
}
.qa_q circle, .qa_q path{
    transition: fill 0.1s;
}
@media screen and (min-width:640px) {
    .qa_q:hover{
        background-color: #B7DEF1;
        color: #fff;
    }
    .qa_q:hover,.qa_q:hover circle{
        fill: #fff;
    }
    .qa_q:hover,.qa_q:hover path{
        fill: #B7DEF1;
    }
}
.open.qa_q{
    background-color: #B7DEF1;
    color: #fff;
}
.open.qa_q circle{
    fill: #fff;
}
.open.qa_q path{
    fill: #B7DEF1;
}

.qa_q svg{
    width: 8.2%;
    margin-right: 3%;
}
.qa_q_txt{
    width: 80%;
    margin-top: .5%;
}
.qa_a{
    background-color: #fff;
    display: none;
    padding: 3.55% 2.4%;
}
.qa_a img{
    width: 8.2%;
    margin-right: 3%;
}
.qa_a_txt01{
    display: flex;
    align-items: start;
    background-color: #fff;
}
.qa_a_txt02{
    margin-top: .5%;
}
.icon{
    position: absolute;
    max-width: 45px;
    width: 6vw;
    height: 6vw;
    max-height: 45px;
    top: 0;
    bottom: 0;
	right: 1.7%;
    margin: auto 0;
}
.icon::before{
    content: "";
    position: absolute;
    width: 59%;
    height: 2px;
    background-color: #B7DEF1;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    transition: all 0.3s;
}
.icon::after{
    content: "";
    position: absolute;
    width: 59%;
    height: 2px;
    background-color: #B7DEF1;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(90deg);
    transition: all 0.3s;
}
@media screen and (max-width:750px) {
    .qa{
        font-size: 3.733vw;
    }
    .qa_set{
        width: 92vw;
        border-radius: 1.333vw;
    }
    .icon::before{
        height: 0.26vw;}
    .icon::after{
        height: 0.26vw;}
}
.active::after{
    transform: rotate(0deg);
}
.open .icon::before,
.open .icon::after{
    background-color: #fff;
}
@media screen and (min-width:640px) {
    .qa_q:hover .icon::after,
    .qa_q:hover .icon::before{
        background-color: #fff;
    }
}
/*-----------------------------
 menu
-------------------------------*/
.Tabmenu{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.TabBtn__flx{
    margin:3.8% 1% 0;
    flex: 0 1 47.2%;
}
.Tabmenu li{
    list-style: none;
}
.TabWrap--02,.TabWrap--03,.TabWrap--04{
    display: none;
}

/*----------------------------- footer -------------------------------*/
.foot_navi_wrap { background-color: #B7DEF1; padding: 0; margin: 13.8% auto 2.2%; max-width: 750px; width: 100%; }

.foot_navi { font-size: 28px; color: #51585F; margin: 0 auto; }

.foot_navi ul { margin: 0 auto; padding: 0; }

.foot_navi li { display: block; float: none; padding: 6px 0 6px 4.3%; margin: 0; border-bottom: 1px solid #fff; }

.foot_navi li a { display: block; color: #807272; text-decoration: none; line-height: 1.7; }

.foot_navi li:nth-child(1) { padding: 6px 0 6px 4.3%; margin: 0; border-top: 1px solid #e8e4e6; }

.foot_bottom_wrap { font-size: 24px; color: #807272; text-align: center; margin-bottom: 3%; }

@media screen and (max-width: 750px) { .foot_navi { font-size: 3.733vw; }
  .foot_navi li { padding: 0.8vw 0 0.8vw 4.3%; border-bottom: 0.1333vw solid #fff; }
  .foot_navi li:nth-child(1) { padding: 0.8vw 0 0.8vw 4.3%; border-top: 0.1333vw solid #e8e4e6; }
  .foot_bottom_wrap { font-size: 3.2vw; } }