html {
    font-size: 62.5%; /* 10px */
    height: -webkit-fill-available;
}
body {
    width:100%;
    min-height: 100vh;
    /* mobile viewport bug fix */
    min-height: -webkit-fill-available;
    font-family: 'Noto Sans JP', YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
    font-weight:400;
    font-size: 1.7rem;/* 17px */
    color: #000;
    line-height: 1.8;
}
input {
    -webkit-appearance: none;
    border-radius: 0;
  }
@media screen and (max-width:768px){
    body {
        font-size: 1.5rem;/* 15px */
    }
}
a {
    text-decoration: none;
}
.mt10 {
    margin-top:min(0.8vw ,10px);
}
.mt20 {
    margin-top:min(1.6vw ,20px);
}
.mt30 {
    margin-top:clamp(15px,4vw ,30px);
}
.mt40 {
    margin-top:clamp(20px,4vw ,40px);
}
.mt50 {
    margin-top:clamp(20px ,4vw ,50px);
}
.mt60 {
    margin-top:min(5vw ,60px);
}
.mt70 {
    margin-top:min(5.5vw ,70px);
}
.mb20 {
    margin-bottom:min(1.6vw ,20px);
}
.mb50 {
    margin-bottom:clamp(30px,4.8vw ,50px);
}
.pt10 {
    padding-top:min(1.2vw ,10px);
}
.pt20 {
    padding-top:min(1.6vw ,20px);
}
.pt70 {
    padding-top:min(5.5vw ,70px);
}
.ctr {
    text-align: center;
}
.br_sp {
    display: none;
}
.font_wh {
    color:#fff !important;
}
@media screen and (max-width:768px){
    .br_sp {
        display: block;
    }
}
/*--------------------fade-up用----------------------*/
.effect-fade {
	opacity: 0;
	transform: translate(0, 100px); /* フェードインで動く高さを指定 */
	transition: all 700ms; /* フェードインにかかる時間を指定 */
}
.effect-scroll {
	opacity: 1;
	transform: translate(0, 0);
}
/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ 共通タイトル ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
.title_h3 {
    font-size:clamp(2.5rem,3.5vw,4rem);
    color: #0C2F73;
    text-align: center;
}
.title_h3 span {
    font-size:clamp(1.3rem,1.4vw,1.5rem);
    letter-spacing: .1em;
    color: #0C2F73;
    text-align: center;
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ フローティングボタン ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/

/*--------------トップに戻るボタン-----------------*/
#top_btn{
    width: 50px;
    height: 50px;
    position: fixed;
    right: 15px;
    bottom: 70px;
    background-color:#0C2F73;
    z-index: 99;
}
#top_btn a{
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
}
#top_btn a::before{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f077';
    font-size: 20px;
    color: #fff;
    position: absolute;
    width: 20px;
    height: 20px;
    top: -15px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}
/*--------------フッターボタン-----------------*/
ul#footer_btn{
    width:100%;
    display: flex;
    position: fixed;
    left: 0px;
    bottom: 0px;
    z-index: 99;
    padding:0 !important;
    margin: 0 !important;
}
ul#footer_btn li {
    width:50%;
    list-style-type: none;
    text-align: center;
    font-weight: 700;
}
ul#footer_btn li a {
    font-size:clamp(2rem , 2vw , 2rem) !important;
}
@media screen and (min-width:769px){
    ul#footer_btn {
        display: none;
    }
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ リンクボタン ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
.btn-navy,
a.btn-navy {
  color: #fff;
  font-size:clamp(1.4rem , 1.2vw, 1.6rem);
  background-color: #0C2F73;
  padding:1rem 2rem;
}
.btn-navy:hover,
a.btn-navy:hover {
    color: #fff;
    background: #387EE6;
}
.btn-red,
a.btn-red {
  color: #fff;
  font-size:clamp(1.4rem , 1.2vw, 1.6rem);
  background-color: #CC0000;
  padding:1rem;
}
.btn-red:hover,
a.btn-red:hover {
    color: #fff;
  background: #FF0606;
}
a.btn-radius {
   border-radius: 100vh;
}

/*-----------------------------------------------*/
#wrap {
    width:100%;
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ header ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
header {
    width:100%;
    position: fixed;
    height:90px;
    display:flex;
    align-items: center;
    background-color:#fff;
    z-index: 100;
    transition: all 1s;
    filter: drop-shadow(1px 1px 2px rgba(0,0,0,0.3));
}
header a {
    color: #000;
}
.header-inner {
    width:100%;
    max-width:1280px;
    margin:0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#logo h1 {
    width:clamp(130px , 18vw, 190px);
    margin-left:10px;
}
nav ul {
    display: flex;
    align-items: center;
    position: relative;
}
nav ul li {
    list-style-type: none;
}
nav ul li a {
    position:relative;
    display: block;
    text-decoration: none;
    font-weight: 700;
    font-size:clamp(1.4rem , 1.2vw, 1.6rem);
    letter-spacing: 0.05rem;
    margin-right: 25px;
    transition: all .5s;
}
nav ul li a:hover {
    color:#387EE6;
}
.hamburger ,.globalMenuSp{
    display: none;
}

/*---------------headerレスポンシブ------------------*/
@media screen and (max-width:1000px){
    header {
        height:70px;
    }
    nav.f_item {
        display: none;
    }
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ main ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
main {
    width:100%;
    /*height:100%;*/
}
.main_image_wrap {
    width: 100%;
    background-color: #387EE6;
    padding-top:clamp(100px , 15vw , 150px);
    padding-bottom:5vw;
}
.main_image_inner {
    width:90%;
    max-width:1100px;
    margin:0 auto;
}
.main_image_inner h2 {
    position: relative;
    margin: 0 auto;
    padding: 1rem;
    background-color: #FFF700;
    font-size: clamp(1.8rem , 3.5vw ,3.8rem);
    line-height: 1.2;
    color:#387EE6;
    text-align: center;
    border-radius: 20px;
}
.main_image_inner h2:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -20px;
    border: 20px solid transparent;
    border-top: 20px solid #FFF700;
}
.main_catch {
    width:100%;
    margin-top:3rem;
    display: flex;
    justify-content: space-between;
}
.main_catch_l {
    width:65%;
    max-width: 650px;
}
.sub_catch {
    color:#FFF700;
    font-size:clamp(2.5rem , 3vw , 3.2rem);
    font-weight: 700;
    display: flex;
    align-items: center;
}
.sub_catch::before,
.sub_catch::after {
	content: '';
	width: 3px;
	height: 30px;
	background-color: #FFF700;
}
.sub_catch::before {
	margin-right: 20px;
	transform: rotate(-35deg);
}
.sub_catch::after {
	margin-left: 20px;
	transform: rotate(35deg);
}
.main_catch_l h3 {
    color:#fff;
    font-size:clamp(3rem , 4vw , 4.8rem);
    line-height: 1.3;
}
.catch_s {
    font-size:clamp(2.5rem , 3vw , 3.5rem);  
}
.catch_l {
    font-size:clamp(3.5rem , 7vw , 8rem);  
}
.main_catch_r {
    width:35%;
    max-width: 450px;
    min-width: 280px;
}
.main_icon {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top:clamp(2rem, 3vw, 3rem) !important;
}
.main_icon li {
    position: relative;
    width: 14.5%;
    margin: 0.5%;
}
.main_icon li div img {
    display:block;
    margin: auto;
}
.spacer {/*折り返し調整用*/
    display: none;
}
/*---------------mainレスポンシブ-----------------*/
@media screen and (max-width:1000px){
    nav.f_item {
        display: none;
    }
}
@media screen and (max-width:768px){
    .main_catch {
        flex-direction: column;
        justify-content: center;
    }
    .main_catch_l {
        width:100%;
        max-width: 768px;
        text-align: center;
    }
    .main_catch_r {
        width:70%;
        margin:3rem auto;
    }
    .sub_catch {
        justify-content: center;
    }
    .main_icon {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        margin-top:clamp(2rem, 3vw, 3rem) !important;
    }
    .spacer {/*折り返し調整用*/
        display: block;
        width: 100%;
    }
    .main_icon li {
        width: 23%;
        margin: 1%;
        font-size:1.5rem;
    }
}
@media screen and (max-width:550px){
    .main_icon li {
        width: 30%;
    }
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ about ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
.about {
    width:96%;
    max-width: 1000px;
    margin-top:clamp(3rem , 4.5vw , 5.5rem);
    margin-bottom:clamp(5rem , 7.5vw , 8rem);
    margin-right:auto;
    margin-left:auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}
h3.about_title {
    position: relative;
    font-size:clamp(2.8rem , 5.5vw , 6.5rem);
    color: #0C2F73;
    padding-right: 2rem;
    padding-left: 2rem;
    padding-top:clamp(1rem , 1.2vw , 1.5rem);
    padding-bottom:clamp(1rem , 1.2vw , 1.5rem);
    border-bottom: 4px solid #0C2F73;
}
h3.about_title:before,
h3.about_title:after {
    position: absolute;
    top: 100%;
    left: 50%;
    content: "";
    height: 0;
    width: 0;
}
h3.about_title:before {
    border: 15px solid;
    border-color: transparent;
    border-top-color: #0C2F73;
    margin-left: -15px;
}
h3.about_title:after {
    border: 10px solid;
    border-color: transparent;
    border-top-color: white;
    margin-left: -10px;
}
.about_sub {
    text-align: center;
    font-size:clamp(1.6rem , 3.5vw , 3.5rem);
    font-weight: 700;
    margin-top:clamp(2.5rem , 5.5vw , 6rem);
    margin-bottom:clamp(1rem , 3vw , 3rem);
    display: flex;
}
.about_sub::before,
.about_sub::after {
	content: '';
	width: 3px;
	height: clamp(6rem , 11.5vw , 12rem);
	background-color: #000;
}
.about_sub::before {
	margin-right: clamp(2.5rem , 5vw , 6rem);
	transform: rotate(-30deg);
}
.about_sub::after {
	margin-left: clamp(2.5rem , 5vw , 6rem);
	transform: rotate(30deg);
}
.border_gy {
    border:1px solid #ccc !important;
}

/*---------------aboutレスポンシブ-----------------*/
@media screen and (max-width:550px){
    .main_icon li {
        width: 30%;
    }
    h3.about_title {
        padding-right: 0;
        padding-left: 0;
    }
}


/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ information ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
section.information {
    width:100%;
    background-image: url(../images/info_back.jpg);
    background-repeat: no-repeat;
    background-size:cover;
    background-position: 50% 50%;
    padding-top: clamp(3rem , 5vw , 5rem);
    padding-bottom: clamp(3rem , 5vw , 5rem);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.info_img {
    display: block;
    width:15%;
    min-width:150px;
}
.info_text {
    font-size:clamp(1.7rem , 2.5vw, 2.8rem);
    font-weight: 700;
    margin-top: clamp(1.5rem , 2.5vw , 3rem);
}
.info_text2 {
    font-size:clamp(2rem , 2.5vw, 3rem);
    font-weight: 700;
    margin-top: clamp(1rem , 1vw , 1.5rem);
    margin-bottom: clamp(1.2rem , 1.2vw , 1.8rem);
}
.f_red {
    color:#CC0000;
}
ul.info_btn {
    list-style-type: none;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    font-size:clamp(2rem , 3vw , 3rem);
    font-weight: 700;
}
ul.info_btn li{
    width:270px;
    padding:0.7rem;
}
.btn-info-navy,
a.btn-info-navy {
  color: #fff;
  font-size:clamp(1.6rem , 1.5vw, 2rem);
  background-color: #0C2F73;
  padding:1rem 2rem;
  width:100%;
  display: block;
  transition: all .5s;
}
.btn-info-navy:hover,
a.btn-info-navy:hover {
    color: #fff;
    background: #387EE6;
}
.btn-info-red,
a.btn-info-red {
  color: #fff;
  font-size:clamp(1.6rem , 1.5vw, 2rem);
  background-color: #CC0000;
  padding:1rem 2rem;
  width:100%;
  display: block;
  transition: all .5s;
}
.btn-info-red:hover,
a.btn-info-red:hover {
    color: #fff;
  background: #FF0606;
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ price ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
section#price {
    width:96%;
    max-width:1000px;
    margin-top:clamp(3rem ,5vw , 6rem);
    margin-bottom:clamp(5rem , 7.5vw , 8rem);
    margin-right:auto;
    margin-left:auto;
}
.price_wrap {
    width:100%;
    display:flex;
    justify-content: space-between;
    margin-top:clamp(2rem ,2.5vw , 3rem);
    margin-bottom:1rem;
}
.price_wrap_l {
    margin-right:2rem;
}
.price_h4 {
    font-size:clamp(1.6rem , 1.5vw, 2rem);
}
.price_h4 span{
    font-size:clamp(1.3rem , 1.5vw, 1.7rem);
    font-weight: 400;
}
.price_table_pc {
    font-size:clamp(1.6rem , 1.5vw , 1.8rem);
}
.price_table_pc th , .price_table_pc td{
    border-right:2px solid #fff;
    border-bottom:2px solid #fff;
    padding:1rem;
    text-align: center;
}
.price_table_pc th {
    background-color: #0C2F73;
    color:#fff;
}
.price_table_pc td {
    background-color: #eee;
}
.size_cell1 , .size_cell2 {
    width:clamp(180px , 24vw ,240px);
}
.price_cell1 , .price_cell2 {
    width:clamp(120px , 15vw ,150px);
}
.size_list {
    font-weight: 700;
}
.size_details {
    font-size:clamp(1.3rem , 1.5vw , 1.6rem);
}
ul.price_note {
    font-size:1.4rem;
    list-style-type:square !important;
}
ul.price_note li {
    margin-left: 2.5rem;
}
.option {
    margin-top: clamp(1.3rem , 1.4vw , 1.5rem);
    font-size:clamp(1.4rem , 1.5vw , 1.6rem);
    font-weight: 700;
}
.price_table_sp {
    display: none;
}
/*----------------priceレスポンシブ------------------*/
@media screen and (max-width:768px){
    .price_wrap {
        flex-direction: column;
    }
    .price_wrap_l {
        margin-right:0;
    }
    .price_wrap_r {
        margin-top:3rem;
    }
    .price_table_pc , price_table_pc tbody {
        width:100% !important;
    }
    .price_table_pc th , .price_table_pc td{
        border-right:1px solid #fff;
        border-bottom:1px solid #fff;
        padding:0.5rem 0;
        text-align: center;
        font-size:1.4rem;
    }
    .size_cell1 {
        width:70%
    }
    .price_cell1 {
        width:30%;
    }
    .size_cell2 {
        width:54%
    }
    .price_cell2 {
        width:23%;
    }
    .sp_none {
        display: none;
    }
    .price_table_sp {
        display:table;
        width:100% !important;
        /*font-size:clamp(2.5rem , 3vw ,3rem);*/
    }
    .price_table_sp th , .price_table_sp td{
        border-right:1px solid #fff;
        border-bottom:1px solid #fff;
        padding:0.5rem 0;
        text-align: center;
        font-size:1.4rem;
    }
    .price_table_sp th {
        background-color: #0C2F73;
        color:#fff;
    }
    .price_table_sp td {
        background-color: #eee;
    }
    .size_cell3 {
        width:70%;
    }
    .price_cell3 {
        width:30%;
    }
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ SIMULATION ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
section#simulation {
    width:100%;
    background-color: #D4E5FF;
    padding-top:clamp(3rem ,5vw , 6rem);
    padding-bottom:clamp(5rem , 7.5vw , 8rem);
}
.simulation_text {
    width:100%;
    background-color: #A8CAFF;
    margin-top:clamp(3rem ,5vw , 6rem);
    padding-top:clamp(2rem ,3.5vw , 3.5rem);
    padding-bottom:clamp(2rem ,3.8vw ,3.8rem);
    text-align: center;
}
.simulation_h4 {
    color: #0C2F73;
    font-size:clamp(2rem , 2.5vw , 2.8rem);
}
.simulation_text p {
    margin-top: 2rem;
    font-weight: 700;
    font-size:clamp(1.3rem , 1.8vw , 1.8rem);
}
.simulation_ex {
    width:96%;
    max-width:1000px;
    margin-top:clamp(3rem ,5vw , 6rem);
    margin-right:auto;
    margin-left:auto;
}
.simulation_ex_balloon {
    position: relative;
    background-color: #fff;
    font-size: clamp(1.4rem , 3.5vw ,1.8rem);
    color: #0C2F73;
    border-radius: 20px;
}
.simulation_ex_balloon:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -20px;
    border: 20px solid transparent;
    border-top: 20px solid #fff;
}
.balloon_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding:clamp(1rem , 2vw , 2rem);
}
.simulation_ex_balloon_l {
    width:20%;
    min-width: 100px;
    margin-right: 2rem;
}
.simulation_ex_balloon_r {
    width:80%;
}
.balloon_r_title {
    font-size: clamp(1.8rem , 2.5vw ,2.5rem);
    font-weight: 700;
}
.balloon_r_text {
    font-size: clamp(1.4rem , 1.8vw ,1.8rem);
    margin-top: clamp(0.5rem , 1vw , 1rem);
    line-height: 1.6;
}
.amuloginara {
    margin-top: clamp(2.7rem , 5vw , 5rem);
    text-align: center;
}
.simulation_ex img {
    display: inline-block;
    width:85%;
    max-width:450px;
}
.simulation_price_wrap {
    display: flex;
    justify-content: space-between;
    margin-top: clamp(3rem , 5vw , 5rem);
    margin-bottom: clamp(1rem , 3vw ,3rem);
}
.simulation_price {
    width:32%;
    max-width:310px;
    border: 2px solid #0C2F73;
    background-color: #fff;
    padding-bottom:clamp(1rem , 2vw ,2rem);
}
.simulation_kosuu {
    background-color: #0C2F73;
    color: #fff;
    font-weight: 700;
    text-align: center;
    padding: 0.5rem 0.5rem 0 0.5rem;
    font-size: clamp(2.2rem , 2.4vw ,2.4rem);
    border-bottom:1px solid #0C2F73;
}
dl.simulation_hikaku {
    background-image: url(../images/sankaku.svg);
    background-repeat: no-repeat;
    background-size: contain;
    margin-top:-1px;
    padding-top:clamp(2.5rem , 4vw ,4rem);
    padding-right:clamp(1rem , 2vw ,2rem);
    padding-left:clamp(1rem , 2vw ,2rem);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    font-size: clamp(2rem , 2.4vw , 2.4rem);
}
dl.simulation_hikaku dt {
    width: 40%;
}
dl.simulation_hikaku dd {
    width: 60%;
    text-align: right;
}
.amu_price {
    color:#CC0000;
}
.simulation_sagaku {
    color: #fff;
    font-size:clamp(2.5rem , 2.8vw, 3rem);
    background-color: #CC0000;
    font-weight: 700;
    padding:0.5rem 1rem;
    margin-top:clamp(0.5rem , 1vw ,1rem);
    margin-left:clamp(1rem , 2vw ,2rem);
    margin-right:clamp(1rem , 2vw ,2rem);
    border-radius: 100vh;
    text-align: center;
}
.simulation_sagaku span {
    font-size:clamp(1.5rem , 1.8vw, 2rem);
}
.kome {
    font-size:1.3rem;
}
.ss_obi {
    background-color: #0C2F73;
    font-size:clamp(2rem , 2.5vw, 2.5rem);
    color: #fff;
    font-weight: 700;
    text-align: center;
    margin-top:clamp(2.5rem , 4vw ,4.5rem);
    margin-bottom:clamp(1rem , 2vw ,2rem);
    padding:1rem 0;
}
ul.ss_hyo_title {
    background-color: #EBEBEB;
    display: flex;
    justify-content: space-between;
    width:100%;
    text-align: center;
    margin-top:clamp(1rem , 2vw ,2rem) !important;
}
.ss_hyo_title li {
    width:25%;
    padding:1rem 0;
    font-size:clamp(1.5rem , 2vw, 2rem);
}
ul.ss_hyo_o , ul.ss_hyo_am {
    background-color: #fff;
    display: flex;
    justify-content: space-between;
    width:100%;
    text-align: center;
    margin-top:clamp(0.5rem , 1vw ,1rem) !important;
}
ul.ss_hyo_am {
    margin-bottom:clamp(6rem , 9vw ,9rem) !important;
}
ul.ss_hyo_o li {
    width:25%;
    padding:2rem 0;
    font-size:clamp(1.5rem , 2.7vw, 2.8rem);
    font-weight: 700;
}
ul.ss_hyo_am li {
    width:25%;
    padding:2rem 0;
    font-size:clamp(1.8rem , 3vw, 3.2rem);
    font-weight: 700;
    color: #CC0000;
}
.costdown_text {
    position: relative;
    text-align: center;
    font-weight: 700;
    font-size:clamp(1.7rem , 2.5vw, 2.5rem);
    padding-top:2vw;
    color: #0C2F73;
}
.costdown_text::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f0d7';
    font-size: clamp(8rem , 9vw, 10rem);
    color: #0C2F73;
    position: absolute;
    top:clamp(-9rem , -15vw, -15rem);
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}
.costdown_h4 {
    width:70%;
    max-width:700px;
    margin: 1.5vw auto;
    background-color: #fff;
    color:#CC0000;
    font-weight: 700;
    font-size:clamp(1.8rem ,3vw, 3rem);
    padding:2vw 1vw;
    border: 2px solid #CC0000;
    border-radius: 10px;
    line-height: 1.3;
    display: flex;
    align-items: center;
    justify-content: center;
}
.costdown_h4::before  {
    content: "";
    display: inline-block;
    background: url(../images/point.svg) no-repeat;
    width: 50px;
    height:50px;
    background-size: contain;
    margin-right: 8px;
}
.cost_br_sp {
    display: none;
}
/*---------------SIMULATIONレスポンシブ-----------------*/
@media screen and (max-width:768px){
    .simulation_price_wrap {
        flex-direction: column;
        align-items: center;
    }
    .simulation_price {
        width:70%;
        min-width:310px;
        margin-bottom: 2vw;
    }
}
@media screen and (max-width:699px){
    .cost_br_sp {
        display: block;
    }
    .costdown_h4 {
        width:auto;
        max-width:100%;
        margin: 1.8vw auto;
    }
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ reason ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
section#reason {
    width:100%;
    background-color: #0C2F73;
    padding-top:clamp(4rem , 6vw , 6rem);
    padding-bottom:clamp(4rem , 6vw , 6rem);
}
.reason_inner {
    width:96%;
    max-width:1000px;
    margin:3vw auto;
}
.reason_box {
    width:100%;
    background-color: #fff;
    padding:2rem;
}
.reason_box h4 {
    font-size: clamp(1.6rem , 2.5vw, 2.1rem);
    border-bottom:1px solid #0C2F73;
    padding-bottom: 0.5rem;
    color: #0C2F73;
}
.reason_box_inner {
    width:100%;
    display: flex;
    justify-content: space-between;
    margin-top:clamp(1.5rem , 2vw , 2rem);
}
.reason_box_img {
    width:30%;
}
.reason_box_img img {
    width:100%;
}
.reason_box_text {
    width:67%;
}
/*---------------reasonレスポンシブ-----------------*/
@media screen and (max-width:768px){
    .reason_box_inner {
        flex-direction: column;
        align-items: center;
    }
    .reason_box_img , .reason_box_text {
        width:100%;
    }
    .reason_box_text {
        margin-top:2.2vw;
    }
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ voice ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
section#voice {
    width:100%;
    background-color: #F3F3F3;
    padding-top:clamp(4rem , 6vw , 6rem);
    padding-bottom:clamp(4rem , 6vw , 6rem);
}
.voice_inner {
    width:96%;
    max-width:1000px;
    margin:3vw auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.voice_box {
    width:48%;
    background-color: #fff;
    padding:2rem;
    margin-top:clamp(1.5rem , 2vw , 2rem);
    filter: drop-shadow(1px 1px 2px rgba(0,0,0,0.3));
}
.voice_title1 , .voice_title2 , .voice_title3 , .voice_title4 {
    font-size: clamp(1.6rem , 2.5vw, 2.1rem);
    border-bottom:1px solid #0C2F73;
    font-weight: 700;
    padding-bottom: 1rem;
    display: flex;
    align-items: center;
    color: #0C2F73;
}
.voice_title1::before  {
    content: "";
    display: inline-block;
    background: url(../images/voice01.svg) no-repeat;
    width: 60px;
    height:60px;
    background-size: contain;
    margin-right: 8px;
}
.voice_title2::before  {
    content: "";
    display: inline-block;
    background: url(../images/voice02.svg) no-repeat;
    width: 60px;
    height:60px;
    background-size: contain;
    margin-right: 8px;
}
.voice_title3::before  {
    content: "";
    display: inline-block;
    background: url(../images/voice03.svg) no-repeat;
    width: 60px;
    height:60px;
    background-size: contain;
    margin-right: 8px;
}
.voice_title4::before  {
    content: "";
    display: inline-block;
    background: url(../images/voice04.svg) no-repeat;
    width: 60px;
    height:60px;
    background-size: contain;
    margin-right: 8px;
}
.text_right {
    text-align: right;
}
/*---------------voiceレスポンシブ-----------------*/
@media screen and (max-width:768px){
    .voice_inner {
        flex-direction: column;
        align-items: center;
    }
    .voice_box {
        width:100%;
    }
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ flow ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
section#flow {
    width:96%;
    max-width:1000px;
    margin: 0 auto;
    padding-top:clamp(4rem , 6vw , 6rem);
    padding-bottom:clamp(4rem , 6vw , 6rem);
}
.flow_balloon , .flow_balloon2 {
    width:100%;
    position: relative;
    background-color: #DCEAFF;
    font-size: clamp(1.4rem , 3.5vw ,1.8rem);
    color: #0C2F73;
}
.flow_balloon:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -20px;
    border: 20px solid transparent;
    border-top: 20px solid #DCEAFF;
}
.flow_inner {
    width:100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom:clamp(2.5rem , 3.5vw , 3.5rem);
    padding: clamp(1.5rem , 2vw , 2rem);
}
.flow_l {
    width:10%;
    min-width: 70px;
    padding-right:1rem;
}
.flow_r {
    width:88%;
}
.flow_title {
    font-size: clamp(1.8rem , 2.5vw ,2.5rem);
    font-weight: 700;
}
.flow_text {
    font-size: clamp(1.4rem , 1.7vw ,1.7rem);
    margin-top: 0.5rem;
    line-height: 1.6;
}
.flow_r_sub {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.flow_r_sub_l {
    width:78%;
}
.flow_r_sub_r {
    width:20%;
}
/*---------------flowレスポンシブ-----------------*/
@media screen and (max-width:768px){
    .flow_r_sub {
        flex-direction: column;
        align-items: flex-start;
    }
    .flow_r_sub_l {
        width:100%;
    }
    .flow_r_sub_r {
        width:130px;
    }
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ Q&A ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
section#qa {
    width:100%;
    background-color: #F3F3F3;
    padding-top:clamp(4rem , 6vw , 6rem);
    padding-bottom:clamp(4rem , 6vw , 6rem);
}
.qa_inner {
    width:96%;
    max-width:1000px;
    margin:0 auto;
}
/*アコーディオン部分*/
.toggle {
	display: none;
}
.Label {		/*タイトル*/
	padding-right: clamp(0.5rem , 1vw ,1rem);
    padding-left: clamp(0.5rem , 1vw ,1rem);
    padding-top: clamp(1rem , 2vw ,2rem);
    padding-bottom: clamp(1rem , 2vw ,2rem);
	display: flex;
    align-items: center;
	color: #0C2F73;
    background-color: #fff;
    line-height: 1.3;
}
.Label::before{		/*Qアイコン*/
    content: "";
    display: inline-block;
    background: url(../images/q.svg) no-repeat;
    width: 40px;
    height:40px;
    background-size: contain;
    margin-right: 8px;
}
.Label::after{		/*タイトル横の矢印*/
	content:"";
	width: 10px;
	height: 10px;
	border-top: 2px solid #0C2F73;
	border-right: 2px solid #0C2F73;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}
.Label,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
    font-size: clamp(1.4rem , 2vw ,2.4rem);
    font-weight: 700;
}
.content {		/*本文*/
	height: 0;
	padding:0 20px;
	overflow: hidden;
    font-weight: 400;
    font-size: clamp(1.4rem , 1.8vw ,1.8rem);
    background-color: #DCEAFF;
    margin-top:clamp(0.5rem , 1vw , 1rem);
    margin-bottom:clamp(1.5rem , 2vw , 2rem);
    display: flex;
}
.content p {
    padding:1.5rem;
}
.toggle:checked + .Label + .content {	/*開閉時*/
	height: auto;
	padding:10px ;
	transition: all .1s;
}
.toggle:checked + .Label::after {
	transform: rotate(-45deg) !important;
}
/*---------------Q&Aレスポンシブ-----------------*/
@media screen and (max-width:768px){
    .Label::before{		/*Qアイコン*/
        width: 30px;
        height:30px;
    }
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ company ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
section#company{
    width:96%;
    max-width:1000px;
    margin: 0 auto;
    padding-top:clamp(4rem , 6vw , 6rem);
    padding-bottom:clamp(4rem , 6vw , 6rem);
}
dl.company_data {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    margin-top:clamp(3rem , 5vw , 5rem);
}
dl.company_data dt {
    width: 15%;
    text-align: center;
    background-color: #0C2F73;
    color: #fff;
    font-weight: 700;
    padding: 1rem;
    margin-bottom:clamp(0.5rem , 1vw , 1rem);
}
dl.company_data dd {
    width: 85%;
    background-color: #EBEBEB;
    padding: 1rem 2rem;
    margin-bottom:clamp(0.5rem , 1vw , 1rem);
}
.font_bl {
    color: #387EE6;
    font-weight: 700;
}
/*---------------companyレスポンシブ-----------------*/
@media screen and (max-width:768px){
    dl.company_data {
        flex-direction: column;
    }
    dl.company_data dt {
        width: 100%;
    }
    dl.company_data dd {
        width: 100%;
    }
}

/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ footer ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
footer {
    width:100%;
}
.footer_inner {
    width:96%;
    max-width:1000px;
    margin:0 auto;
    padding:3vw 0;
    display: flex;
    justify-content:space-between;
}
.footer_l {
    width:40%;
}
.footer_logo {
    width:190px;
}
.address {
    font-size: 1.5rem;
    margin-top:2rem;
}
nav.footer_r {
    width:60%;
}
ul.footer_nav {
    display: flex;
    align-items: center;
    position: relative;
}
ul.footer_nav li {
    list-style-type: none;
}
ul.footer_nav li a {
    position:relative;
    display: block;
    text-decoration: none;
    font-weight: 700;
    font-size:clamp(1.5rem , 1.2vw, 1.6rem);
    letter-spacing: 0.05rem;
    transition: all .5s;
    color: #000;
}
ul.footer_nav li a:hover {
    color:#387EE6;
}
.copyright {
    text-align: center;
    font-size: 1.2rem;
    background-color: #387EE6;
    color: #fff;
    letter-spacing: .1em;
    font-weight:400;
    padding: 2rem 0 10rem;
}
/*-----------------footerレスポンシブ-------------------*/
@media screen and (max-width:1000px){
    .footer_inner {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .footer_l {
        width:100%;
        order:2;
        margin-top:clamp(2rem , 2.5vw , 2.5rem);
    }
    .footer_r {
        width:100%;
        order:1;
        margin-top:clamp(2.5rem , 4.5vw , 4.5rem);
    }
    ul.footer_nav {
        flex-direction: column;
    }
    ul.footer_nav li {
        margin-bottom:1rem;
    }
    ul.footer_nav li a {
        margin-right:0 !important;
    }
    .footer_logo {
        display: inline-block;
        width:130px;
    }
    .address {
        font-size: 1.3rem;
        margin-top:1rem;
        line-height: 1.3;
    }
    .copyright {
        font-size: 1.1rem;
    }
}

/*==============================ハンバーガーメニュー==============================*/

@media screen and (max-width:1000px){
    .hamburger {
        display : block;
        position: fixed;
        z-index : 3;
        right : 13px;
        top   : 12px;
        width : 42px;
        height: 42px;
        cursor: pointer;
        text-align: center;
      }
      .hamburger span {
        display : block;
        position: absolute;
        width   : 30px;
        height  : 2px ;
        left    : 6px;
        background : #0C2F73;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition   : 0.3s ease-in-out;
        transition        : 0.3s ease-in-out;
      }
      .hamburger span:nth-child(1) {
        top: 10px;
      }
      .hamburger span:nth-child(2) {
        top: 20px;
      }
      .hamburger span:nth-child(3) {
        top: 30px;
      }
      
      /* ナビ開いてる時のボタン */
      .hamburger.active span:nth-child(1) {
        top : 16px;
        left: 6px;
        -webkit-transform: rotate(-45deg);
        -moz-transform   : rotate(-45deg);
        transform        : rotate(-45deg);
      }
      
      .hamburger.active span:nth-child(2),
      .hamburger.active span:nth-child(3) {
        top: 16px;
        -webkit-transform: rotate(45deg);
        -moz-transform   : rotate(45deg);
        transform        : rotate(45deg);
      }
      
      nav.globalMenuSp {
        display: block;
        position: fixed;
        z-index : 2;
        top  : 0;
        left : 0;
        color: #fff;
        background: #fff;
        text-align: center;
        transform: translateX(100%);
        transition: all 0.6s;
        width: 100%;
        font-size: 1.7rem !important;
      }
      
      nav.globalMenuSp ul {
        background: #fff;
        margin: 0 auto;
        padding: 10vw 0;
        width: 100%;
        height:100vh;
        flex-direction: column;
      }
      
      nav.globalMenuSp ul li {
        list-style-type: none;
        padding: 0;
        width: 100%;
        border-bottom: 1px solid #ccc;
      }
      nav.globalMenuSp ul li:last-child {
        padding-bottom: 0;
        border-bottom: none;
      }
      
      nav.globalMenuSp ul li a {
        display: block;
        color: #0C2F73;
        padding: 1em 0;
        text-decoration :none;
      }
      
      /* このクラスを、jQueryで付与・削除する */
      nav.globalMenuSp.active {
        transform: translateX(0%);
      }
}
