body{
    font-family: "Helvetica Neue", Helvetica, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", 游ゴシック, "Yu Gothic", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    font-weight: 400;
    font-size: 16px;
  }
  div.wrap{
      overflow: hidden;
  }
  .container {
      max-width: 1080px;
  }
  @media screen and (max-width: 1010px){
    .container {
        padding: 0 1.5rem;
    }
  }
  @media screen and (max-width: 460px){
    nav.is-fixed-top .container {
        padding: 0 1.5rem 0 0 ;
    }
  }
  .overwidth{
      margin:0 -200% !important;
      padding:0 200%;
  }
  .has-image-centered {
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
  .has-margin-1{
      margin-top: 70px;
      margin-bottom:70px;
  }
  .has-margin-2{
      margin-top: 60px;
      margin-bottom:60px;
  }
  .has-margin-3{
      margin-top: 50px;
      margin-bottom:50px;
  }
  .has-margin-4{
      margin-top: 40px;
      margin-bottom:40px;
  }
  .has-margin-5{
      margin-top: 30px;
      margin-bottom:30px;
  }
  .has-margin-6{
      margin-top: 20px;
      margin-bottom:20px;
  }
  .has-margin-7{
      margin-top: 10px !important;
      margin-bottom:10px !important;
  }
  .has-margin-top-150{
      margin-top: 150px;
  }
  .has-margin-top-100{
      margin-top: 100px;
  }
  .has-margin-top-1{
      margin-top: 70px;
  }
  .has-margin-top-2{
      margin-top: 60px;
  }
  .has-margin-top-3{
      margin-top: 50px;
  }
  .has-margin-top-4{
      margin-top: 40px;
  }
  .has-margin-top-5{
      margin-top: 30px;
  }
  .has-margin-top-6{
      margin-top: 20px;
  }
  .has-margin-top-7{
      margin-top: 10px !important;
  }
  .has-margin-bottom-1{
      margin-bottom: 70px !important;
  }
  .has-margin-bottom-2{
      margin-bottom: 60px !important;
  }
  .has-margin-bottom-3{
      margin-bottom: 50px !important;
  }
  .has-margin-bottom-4{
      margin-bottom: 40px !important;
  }
  .has-margin-bottom-5{
      margin-bottom: 30px !important;
  }
  .has-margin-bottom-6{
      margin-bottom: 20px !important;
  }
  .has-margin-bottom-7{
      margin-bottom: 10px;
  }
  .has-padding-1{
      padding-top: 70px;
      padding-bottom:70px;
  }
  .has-padding-2{
      padding-top: 60px;
      padding-bottom:60px;
  }
  .has-padding-3{
      padding-top: 50px;
      padding-bottom:50px;
  }
  .has-padding-4{
      padding-top: 40px;
      padding-bottom:40px;
  }
  .has-padding-5{
      padding-top: 30px;
      padding-bottom:30px;
  }
  .has-padding-6{
      padding-top: 20px;
      padding-bottom:20px;
  }
  .has-padding-7{
      padding-top: 10px;
      padding-bottom:10px;
  }
  .has-padding-8{
    padding-top: 5px;
    padding-bottom:5px;
}
  .has-padding-top-1{
      padding-top: 70px;
  }
  .has-padding-top-2{
      padding-top: 60px;
  }
  .has-padding-top-3{
      padding-top: 50px;
  }
  .has-padding-top-4{
      padding-top: 40px;
  }
  .has-padding-top-5{
      padding-top: 30px;
  }
  .has-padding-top-6{
      padding-top: 20px;
  }
  .has-padding-top-7{
      padding-top: 10px;
  }
  .has-padding-top-0 {
    padding-top: 0;
    }
  .has-padding-bottom-1{
      padding-bottom: 70px !important;
  }
  .has-padding-bottom-2{
      padding-bottom: 60px;
  }
  .has-padding-bottom-3{
      padding-bottom: 50px;
  }
  .has-padding-bottom-4{
      padding-bottom: 40px;
  }
  .has-padding-bottom-5{
      padding-bottom: 30px;
  }
  .has-padding-bottom-6{
    padding-bottom: 20px;
    }
  .has-padding-bottom-7{
      padding-bottom: 10px;
  }
  .has-padding-bottom-155{
      padding-bottom: 155px !important;
  }
  .has-padding-bottom-0{
    padding-bottom: 0 !important;
}
  .reverse-row-order {
    flex-direction: row-reverse;
  }
  .is-vertical-center {
    display: flex;
    align-items: center;
  }
  .columns.is-vcentered {
    -webkit-box-align: center;
       -ms-flex-align: center;
          align-items: center;
  }
  .hamburger {
    position: absolute;
    right: 15px;
    top: 15px;
    width: 43px;
    height: 28px;
    cursor: pointer;
    z-index: 99;
    background: url(../images/sp_btn_menu.png);
    background-size: contain;
}
/* global-setting */
a img:hover,
a:hover{
    opacity: .7;
}

h2.section-title {
    font-size: 28px;
    font-weight: bold;
    position: relative;
    padding: 1.5rem;
    text-align: center;
  }

h2.section-title:before {
position: absolute;
bottom: 15px;
left: calc(50% - 45px);
width: 90px;
height: 3px;
content: '';
border-radius: 3px;
background: #FF9959;
}
section .container{
    max-width: 950px;
}
@media screen and (max-width:768px){
    .section{
        padding: 1rem 0.5rem;
    }
    .has-image-centered-mobile {
        margin-left: auto;
        margin-right: auto;
        display: block;
      }
      .has-image-centered-mobile-imp {
        display: block;
        margin-left: 50%;
        }
}
@media screen and (max-width:550px) {
    section .container{
        padding: 0 0.5rem;
        width: 100%;
    }
}
@media screen and (min-width:769px){
    a[href^="tel:"] {
        pointer-events: none;
        cursor: default;
    }
}

@media screen and (max-width:768px){
    img.doctor{
        right: -60px;
        max-width: 50%;
    }
    .kvbg img{
        max-width: 65%;
    }
}

@media screen and (min-width:769px) and (max-width:910px){
    img.doctor{
        max-width: 30%;
    }
}

@media screen and (min-width:428px) and (max-width:699px){
    .kvbg img{
        max-width: 60%;
    }
}

@media screen and (max-width:480px){
    .columns.kvactions{
        margin-top: 30px;
    }
}


/* grobal-nav */
.mainmenu .container{
    max-width: 1150px;
}
.logo img{
    max-width: 180px;
}

.logo{
    padding-left: 0;
    margin-top: 10px;
}
.nav1st{
    padding-left: 0;
}
.nav2nd{
    margin-top: 10px;
}

.mainmenu {
    font-size: 12px;
    margin-top: -10px;
    padding-bottom: 5px;
    background: #fff;
    filter: drop-shadow(10px 10px 10px rgba(0,0,0,0.2));
}
.mainmenu .gnav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
}
.mainmenu .gnav li {
    padding: 9px 0;
    text-align: left;
    transition: all .3s ease-in-out;
}
.mainmenu .gnav a {
    color: #000;
}

.navbtn li{
    margin-right: 0;
    margin-right: 0;
    display: inline-block;
}

.navbtn li img{
    height: 24px;
}

.nav2nd .column:last-child{
    padding-top: .5rem;
    font-weight: bold;
}


@media screen and (min-width:1024px) and (max-width:1064px) {
    nav.mainmenu .gnav a{
        /* padding: 19px 19px; */
    }
}

@media screen and (max-width:768px) {
    nav.mainmenu .columns {
        margin-bottom: 0;
    }
    .nav1st{
        padding: 0;
    }
}
@media screen and (max-width:436px) {
    .logo img {
        max-width: 200px;
        padding-bottom: 7px;
    }
}

/* keyvisual */
.hero{
    background:#444444 url(../images/kv_bg.jpg);
    background-size: cover;
    overflow:hidden;
}
.hero-body {
    padding: 10px 0 0;
    position: relative;
}
.hero-body h1 {
    font-size: 34px;
    font-weight: 600;
    line-height: 1.4;
    margin-top: 15px;
}
.hero-body p.subtitle{
    font-size: 15px;
    line-height: 1.5rem;
}
img.doctor{
    position: absolute;
    bottom:0;
    max-height: 400px;
}
.kvbg{
    background: url(../images/kv_bg2.png);
    background-size: contain;
}

.kvactions{
    margin-top: 100px;
}

@media screen and (max-width:550px) {
    .hero{
        background:#444444 url(../images/sp_kv_bg.jpg);
        background-size: cover;
        overflow:hidden;
    }
}


/* intro */

section.intro{
    background: #FF9959;
}

.intro-topics .column p{
    position: relative;
    color: #fff;
    font-size: 20px;
    line-height: 1.2;
    font-weight: bold;
    margin-left: 45px;
}

.intro-topics .column p:before{
   content: " ";
   background: url(../images/icon_check.png);
   background-size: contain;
   display: block;
   position: absolute;
   width: 39px;
   height: 39px;
   left: -50px;
   top: 5px;
}

@media screen and (max-width:550px) {
    .intro-topics .column p{
        margin-left: 55px;
        letter-spacing: 3px;
    }
}

@media screen and (max-width: 768px){
    .intro .column.is-3.is-full-mobile{
        padding-top: 0;
    }
}


#id_search select{
    text-align: center;
}
span.searchicon {
    font-size: 36px;
    display: block;
    text-align: center;
    margin: auto;
}
#id_search button#submitbtn {
    background: none;
    border: none;
    cursor: pointer;
}
#id_search button#submitbtn:hover{
    opacity: .7;
}

/* price */
.price .container{
    max-width: 952px;
}

.price-card{
    filter: drop-shadow(5px 5px 5px rgba(0,0,0,0.3));
    background: #fff;
    border-radius: 15px;
    max-width: 910px;
    margin: 30px auto 0;
}
.price-info-wrap{
    flex: none;
    width: 27%;
}
.price-info-01,
.price-info-02 {
    border-right: 1px solid #ddd;
}
.price-info-01 .column:not(:last-child),
.price-info-02 .column:not(:last-child){
    margin-bottom: 0;
    padding-bottom: 0;
}
.label-01{
    background: #FF4A66;
    font-size: 18px;
    text-align: center;
    border-radius: 15px 0 0 15px;
}
.label-02{
    background: #FF9959;
    font-size: 18px;
    text-align: center;
    border-radius: 15px 0 0 15px;
}
.price-info img{
    max-width: 95px;
}
.price-info-text{
    font-size: 15px;
}
.price-num-01{
    font-size: 35px;
    font-weight: bold;
    color: #FF4A66;
}
.price-info-01 span{
    font-size: 22px;
    font-weight: bold;
    color: #FF4A66;
}
.price-num-02{
    font-size: 35px;
    font-weight: bold;
    color: #FF9959;
}
.price-info-02 span{
    font-size: 22px;
    font-weight: bold;
    color: #FF9959;
}
.price-desc-01,
.price-desc-02{
    position: relative;
}
.price-desc-01 li:before{
    content: " ";
    background: url(../images/icon_price_01.png);
    background-size: contain;
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    left: 20px;
}
.price-desc-02 li:before{
    content: " ";
    background: url(../images/icon_price_02.png);
    background-size: contain;
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    left: 20px;
}
.price-desc-01 ul,
.price-desc-02 ul{
    margin-left: 15px;
}
.price-desc-01 li,
.price-desc-02 li{
    margin-left: 20px;
    text-align: left;
    font-weight: bold;
}
.price-act img{
    width: 165px;
    max-width: 100%;
}

table.table {
    width: 100%;
    text-align: center;
    margin: auto;
}

table.table th,
table.table td{
 border: 1px solid #B6B6B6;
 /*text-align: center;*/
 vertical-align: middle;
}

table.table{
    border-bottom: 1px solid #B6B6B6;
}

table.table th span {
    background: #FF4A66;
    color: #fff;
    display: block;
    padding: 10px 15px;
    max-width: 150px;
    margin: 0 auto;
}

table .price-num{
    font-size: 40px;
    font-weight: bold;
    color: #FF4A66;
}

table .option th{
    background: #FFDAC3;
}
table .option td{
    background: #FFFFE4;
}
table .option td b{
    color: #FF4A66;
    font-weight: normal;
}

table .option td span.yen {
    display: inline-block;
    text-align: left;
    font-size: 0.7em;
    margin-left: 5px;
}

.tabarea th:nth-child(n+2),
.tabarea tbody tr:nth-child(1) th{
    background: #EEE;
}

@media screen and (max-width: 640px) {
    .last td:last-child {
      border-bottom: solid 1px #ccc;
      width: 100%;
    }
    .table {
      width: 80%;
    }
    .table th,
    .table td {
  　　border-bottom: none;
      display: block;
      width: 100%;
    }
  }

.price .card {
    border-radius: 15px;
}

.price .card .title{
    font-size: 22px;
    margin-bottom: 1rem;
}

.price .card-description{
    border-bottom: 1px solid #CFCFCF;
    padding-bottom: 15px;
    font-weight: bold;
}

.price .card-description span{
    color: #FF4A66;
    display: inline-block;
    background: #FFECEF;
    padding: 1px 10px;
    border-radius: 15px;
    margin-bottom: 5px;
}

.price .card-description i{
    font-style: normal;
}

.price .card-description b{
    color: #FF4A66;
}

.price .card-content{
    padding-bottom: 0;
}

.price .card-footer{
    border-top: none;
}

.price .card-footer{
    position: relative;
}

.price .card-footer span{
    font-size: 34px;
    margin-right: 5px;
}

.price .card-footer{
    font-size: 12px;
    font-weight: bold;
}

.price .card-act{
    display: block;
    text-align: center;
}
.price .card-act img{
    max-width: 80%;
}


@media screen and (max-width:768px) {
    .label-01,
    .label-02{
        border-radius: 15px 15px 0 0;
    }
    .price-act img{
        width: 100%;
    }
    .price-info-01:first-of-type,
    .price-info-02:first-of-type{
        background: #F6F6F8;
    }
    .price-num-01,
    .price-num-02{
        font-size: 50px;
    }
    .label-01,
    .label-02{
        font-size: 1.3em;
        padding-top: 15px;
        padding-bottom: 15px;
    }
    .price-info-text{
        font-size: 1.2em;
    }
    .price .card-description i{
        position: absolute;
        top: 10px;
        right: 10px;
    }
}


/* certificate-sample */


.certificate-sample .container{
    max-width: 950px;
}




/* businesshours */

.businesshours .container{
    max-width: 950px;
}


/* location */

.location .container{
    max-width: 950px;
}

.location .title{
    font-size: 18px;
}
.location .title span{
    font-size: 16px;
    font-weight: normal;
    color: #fff;
    background:#FF4A66;
    border-radius: 15px;
    padding: 5px 25px;
    margin-right: 10px;
}

.location table.table{
    border: 1px solid #BEBEBE;
}

.location .table th {
    background: #FFDAC3;
    font-weight: normal;
    padding: 24px 15px;
    border-bottom: 1px solid #BEBEBE;
}

.location .table td{
    padding: 24px 15px;
}

@media screen and (max-width: 640px) {
    .location .table th{
        text-align: center;
    }
}

/* flow */

.flow .column{
    position: relative;
}

.flow .icon-img{
    max-width: 82px;
    position: absolute;
    top:50%;
    margin-top: -50px;
    left: 50%;
    margin-left: -20px;
}

.flow .card{
    border-radius: 15px;
    background: #F6F6F8;
    position: relative;
    box-shadow: none;
}

.flow .card .title{
    font-size: 18px;
    margin-bottom: .5em;
}

.flow .columns:not(:last-child) .card:after{
    content: " ";
    background: url(../images/flow_arrow.png);
    background-size: contain;
    width:33px;
    height: 20px;
    display: block;
    position: absolute;
    left: 50%;
    margin-left: -33px;
    bottom: -30px;
}

@media only screen and (min-width: 0px) and (max-width: 768px){
    .flow .column:first-child{
        min-height: 85px;
    }
    .flow .icon-img{
        margin-left: -40px;
    }
    .flow .columns:not(:last-child) .card:after{
        margin-left: -20px;
    }
    .flow .columns:last-child .column.is-10{
        margin-top: 20px;
    }
}



/* voice */

.voice{
    background: #FFDAC3;
}

.voice .container{
    max-width: 950px;
}

.voice .card{
    font-size: 14px;
    border-radius: 5px;
}

.voice .star{
    font-size: 12px;
}

.star5_rating{
    position: relative;
    z-index: 0;
    display: inline-block;
    white-space: nowrap;
    color: #CCCCCC;
    /*font-size: 30px; */
    margin-right: 5px;
}

.star5_rating:before, .star5_rating:after{
    content: '★★★★★';
}

.star5_rating:after{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
    color: #FCD93A;
}

.star5_rating[data-rate="5"]:after{ width: 100%; }
.star5_rating[data-rate="4.5"]:after{ width: 90%; }
.star5_rating[data-rate="4"]:after{ width: 80%; }
.star5_rating[data-rate="3.5"]:after{ width: 70%; }
.star5_rating[data-rate="3"]:after{ width: 60%; }
.star5_rating[data-rate="2.5"]:after{ width: 50%; }
.star5_rating[data-rate="2"]:after{ width: 40%; }
.star5_rating[data-rate="1.5"]:after{ width: 30%; }
.star5_rating[data-rate="1"]:after{ width: 20%; }
.star5_rating[data-rate="0.5"]:after{ width: 10%; }
.star5_rating[data-rate="0"]:after{ width: 0%; }

.voice a{
    color: #FF5F00;
    font-size: 14px;
}

.voice a:after{
    content: " ";
    background: url(../images/more_arrow.png);
    background-size: contain;
    display: inline-block;
    width:4px ;
    height: 12px;
    margin-left: 8px;
}




/* faq */

.accbox {
    margin: 2em auto;
    padding: 0;
    max-width: 900px;/*最大幅*/
    font-size: 16px;
}

/*ラベル*/
.accbox label {
    display: block;
    margin: 1.5px 0;
    padding: 15px 20px;
    color: #000;
    /* font-weight: bold; */
    background: #F6F6F8;
    cursor :pointer;
    transition: all 0.5s;
    position: relative;

    border-radius: 15px;
}

/*アイコンを表示*/

.accbox label:after {
    content: '';
    background:url(../images/faq_open.png) ;
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    padding-right: 8px;
    right: 25px;
    top: 20px;
    width: 16px;
    height: 9px;
    position: absolute;
}


.accbox label:hover {
    opacity: .8;
}


.accbox input {
    display: none;
}


.accbox .accshow {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
    position: relative;
    margin-bottom: 20px;
}


.cssacc:checked + label + .accshow {
    height: auto;
    padding: 5px;
    opacity: 1;
}

.accbox .accshow p{

}

.accbox .accshow p {
    margin: 30px 20px;
}

.cssacc:checked + label:after {
    content: '';
    background-image: url(../images/faq_open.png);
    transform: rotate( 180deg );
}

@media screen and (min-width:481px) and (max-width:804px){
    label.faqtitle {
        padding-right: 90px;
        padding-left: 50px;
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .accbox label:before{
        position: absolute;
        left: 10px;
        top: 22%;
    }
    .accbox label span{
        height: 70%;
    }
    .accbox label:after{
        top: 50%;
    }
}

@media screen and (max-width:480px){
    label.faqtitle {
        padding-right: 80px;
        padding-left: 50px;
    }
    .accbox label:before{
        position: absolute;
        left: 10px;
    }
    .accbox label:after{
        top: 50%;
        right: 15px;
    }
    .accbox label span{
        height: 70%;
        right: 60px;
    }
}


/* requirements */

.requirements{
    background: #F6F6F8;
}


.requirements .accbox label{
    border: none;
    background: #fff;
}


.requirements span{
    color: #C90000;
    background:#FFECEF;
    padding: 10px 15px;
    border-radius: 5px;
}


@media screen and (max-width:480px){
    .requirements span{
        display: block;
    }
}


/* privacy */

section.privacypolicy h3{
    border-left: 2px solid #FF9959;
    padding-left: 15px;
}

section.privacypolicy h4{
    color: #4E5A62;
    display: block;
    padding-bottom: 15px;
    border-bottom: 1px solid #FF9959;
}

/* about */

section.aboutcompany table.table th,
section.aboutcompany table.table td{
    border-right: none;
    border-left: none;
    padding: 15px;
}

section.aboutcompany table.table th{
    background: #FFE3D1;
    font-weight: normal;
    text-align: center;
}

section.aboutcompany table.table td{
    padding-left: 40px;
    text-align-last: left;
}

.footer-fixed{
    min-height: 100vh; /* ←コンテンツの高さの最小値＝ブラウザの高さに指定 */
    position: relative;/* ←相対位置 */
    padding-bottom: 60px; /* ←フッターの高さを指定 */
    box-sizing: border-box;
    /* ↑ヘッダーやフッターを含むすべての要素の高さ＝min-height:100vhになるように指定 */
}

.footer-fixed .footer{
    position: absolute;/* ←絶対位置 */
    bottom: 0;
    width: 100%;

}

/* footer */

section.footer {
    background: #FF9959;
    padding: 0 0 1rem;
    color: #fff;
}

.footer_nav li{
    line-height: 1.8;
}

.footer_nav a{
    font-size: 14px;
    font-weight: bold;
    color: #FFF;
}


  /*spmenu*/
  .sp-tel-btn{
    position: fixed;
    top: 5px;
    right: 125px;
    width: 55px;
    height: 50px;
    cursor: pointer;
    z-index: 300;
  }
  .sp-contact-btn{
    position: fixed;
    top: 5px;
    right: 65px;
    width: 55px;
    height: 50px;
    cursor: pointer;
    z-index: 300;
  }

  .global-nav {
    position: fixed;
    right: -350px;
    top: 0;
    width: 350px;
    height: 100vh;
    padding-top: 75px;
    background-color: #0009;
    transition: all .6s;
    z-index: 301;
    overflow-y: auto;
    color: #000;
  }

  .global-nav__list {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .global-nav__item {
    text-align: left;
    padding: 0 14px;
    border-bottom: 1px solid #eee;
  }
  .global-nav__item:before {
      content: "";
      /* background: url(../images/list01.png); */
      width: 7px;
      height: 7px;
      position: absolute;
      margin-top: 23px;
  }
  .global-nav__item:after {
    content: "";
    background-image: url(../images/arrow_right.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 6px;
    height: 21px;
    position: absolute;
    right: 20px;
    margin-top: -41px;
}
  .global-nav__item a,
  .global-nav__item label {
    display: block;
    padding: 20px 0;
    text-decoration: none;
    color: #fff;
    margin-left: 20px;
  }
  .global-nav__item a:hover {
    background-color: #eee;
  }
  .global-nav__btn img {
      max-width: 80%;
      margin: auto;
      display: block;
      margin-top: 15px;
  }
  .hamburger__line {
    position: absolute;
    left: 11px;
    width: 18px;
    height: 1px;
    background-color: #fff;
    transition: all .6s;
  }
  .hamburger__line--1 {
    top: 14px;
  }
  .hamburger__line--2 {
    top: 20px;
  }
  .hamburger__line--3 {
    top: 26px;
  }
  .black-bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    background-color: #000;
    opacity: 0;
    visibility: hidden;
    transition: all .6s;
    cursor: pointer;
  }
  img#link0{
    position: fixed;
    visibility: hidden;
  }


  .nav-open .global-nav {
    right: 0;
  }
  .nav-open .black-bg {
    opacity: .8;
    visibility: visible;
  }
  .nav-open .hamburger__line--1 {
    transform: rotate(45deg);
    top: 20px;
  }
  .nav-open .hamburger__line--2 {
    width: 0;
    left: 50%;
  }
  .nav-open .hamburger__line--3 {
    transform: rotate(-45deg);
    top: 20px;
  }
  .nav-open img#link0 {
    visibility: visible;
    position: fixed;
    width: 50px;
    height: 50px;
    right: 10px;
    top: 10px;
}

  .global-nav__item.subnav:after{
    content:none;
  }

  .global-nav__item.subnav label{
    padding-bottom: 5px;
  }

  .global-nav__item.subnav label:after {
      content: url(../images/arrow_bottom.png);
      display: inline-block;
      vertical-align: middle;
      -webkit-transform: scale(0.3);
      transform: scale(0.3);
      position: absolute;
      right: 1px;
  }

  .global-nav__item.subnav input:checked + label:after{
      content: url(../images/arrow_top.png);
  }


  .acd-check{
      display: none;
  }
  .acd-label{
      display: block;
      margin-bottom: 1px;
      padding: 10px;
  }
  .acd-content{
      height: 0;
      opacity: 0;
      padding: 0 10px;
      transition: 0s;
      visibility: hidden;
  }
  .acd-check:checked + .acd-label + .acd-content{
      height: 450px;
      opacity: 1;
      padding: 10px;
      visibility: visible;
  }

  .subnav_title{
    margin-left: 20px;
    margin-top: 10px;
    margin-bottom: 5px;
  }

  .subnav_title:before {
      content: "";
      background: url(../images/list01.png);
      width: 7px;
      height: 7px;
      position: absolute;
      left: 25px;
      margin-top: 7px;
  }

  .subnav ul li a:before {
      content: "";
      background: url(../images/list01.png);
      width: 7px;
      height: 7px;
      position: absolute;
      left: 40px;
      margin-top: 8px;
  }

  .global-nav__item.subnav a{
    margin-left: 30px;
    padding: 10px 0;
  }

  @media screen and (min-width: 1024px){
    .sphamburger {
        display: none;
    }
  }

  @media screen and (max-width: 768px){
      .address{
          display: inline;
      }
  }


/*tab*/
.tabarea {
    margin-top: 50px;
    padding-bottom:20px;
    background-color: #fff;
    max-width: 950px;
    margin: 0 auto;
    }


  .tab_item {
    background-color: #fff;
    border: 1px solid #ddd;
    font-size: 20px;
    text-align: center;
    color: #000;
    display: block;
    float: left;
    text-align: center;
    font-weight: bold;
    transition: all 0.2s ease;
    line-height: 70px;
    margin: 15px 0 0;
    border-radius: 50px;
    cursor: pointer;
    width: calc(50%/2.1);
    display: inline-block;
  }

  .tab_item {

  }

  .tab_item:first-of-type {
      margin-right: 0;
      margin-left: 27%;
      border-radius: 50px 0 0 50px;
      border-right: none;
  }

  .tab_item:last-of-type{
    border-radius: 0 50px 50px 0;
    border-left: none;
  }

  .tab_item span{
    background-color: #fff;
    /* border: 1px solid #ddd; */
    font-size: 20px;
    text-align: center;
    color: #FF9959;
    display: block;
    float: left;
    text-align: center;
    font-weight: bold;
    transition: all 0.2s ease;
    line-height: 70px;
    border-radius: 50px;
    cursor: pointer;
    width: 100%;
    display: inline-block;
  }

  .tab_item span:hover {
    opacity: 0.75;
  }

  input[name="tab_item"] {
    display: none;
  }

  .tab_content {
    display: none;
    clear: both;
    overflow: hidden;
    padding: 2px 10px 25px;
  }


  #osaka:checked ~ #osaka_content,
  #tokyo:checked ~ #tokyo_content {
    display: block;
  }

  .tabarea input:checked + .tab_item span {
    background-color: #FF9959;
    color: #fff;
    /* border-bottom: none; */
    position: relative;
  }

  .tabarea input + .tab_item{

  }
  .tabarea input:checked + .tab_item{
      box-shadow:none;
  }

  @media only screen and (min-width: 0px) and (max-width: 768px){
      label.tab_item.size:last-of-type {
          line-height: 1.3;
          padding-top: 7px;
      }
      .tab_content{
        padding: 1px 1px 20px;
        overflow: inherit;
    }
  }

  @media only screen and (min-width: 0px) and (max-width: 460px) {
      .tabarea{
          max-width: 100%;
      }
      .tabarea .tab_item{
          font-size: .9em;
      }
      label.tab_item {
        width: calc(50%/1.5);
      }
      .tab_item:first-of-type{
          margin-left: 15%;
      }
      section.inquiry{
          padding: 3rem 0.5rem;
      }
      .tab_content{
          padding: 1px 1px 20px;
      }
      .agreebox input{
          margin-right: 5px;
      }

  }

  @media only screen and (min-width: 0px) and (max-width: 400px) {
      label.checkbox {
          white-space: nowrap;
      }
  }


/* page certificate */


#certificate .keyvisual{
    background: url(../images/kv_bg_certificate.jpg);
    background-size: cover;
    background-position: center;
}

#certificate .hero-body{
    padding-top: 150px;
    padding-bottom: 150px;
}

@media screen and (max-width: 768px){
    #certificate .keyvisual{
        background: url(../images/sp_kv_bg_certificate.jpg);
        background-position: 0 0;
        background-size: cover;
    }
    #certificate .hero-body{
        padding-top: 100px;
        padding-bottom: 100px;
    }
}


section.intro2{
    background: #FF9959;
}

#certificate .intro-topics .column p:before{
    top: 50%;
    margin-top: -20px;
}



/* country */
.country{
    background: url(../images/country_bg.jpg);
    background-size: contain;
    background-repeat: repeat-x;
    background-position: center 100px;
}
.country h3{
    color: #FF9959;
}

.country h3 {
    display: flex;
    align-items: center;
  }

.country h3:after {
    border-top: 1px solid #FF9959;
    content: "";
    width: 10em;
    margin-left: 1em;
  }
.country h3:nth-last-of-type(-n+2):after {
    width: 5em;
}

@media screen and (max-width: 911px){
    .country h3:after {
        margin-left: .5em;
        }
}

@media screen and (max-width: 768px){
    .country h3:after{
        content: none;
    }
}


.country li{
    line-height: 1.9;
}

.country li:before{
    content: " ";
    background: url(../images/icon_countory.png);
    background-size: contain;
    display: inline-block;
    width: 17px;
    height: 16px;
    margin-right: 5px;
}

/* method */



/* proof */

.proof h2.section-title:before{
    background:#00BDC7;
}

.proof .app-btn img{
    max-width: 350px ;
}


@media screen and (max-width: 768px){

    .proof .app-btn img{
        max-width: 80%;
    }
}





/* page inquiry */
.inquiry-form .container{
    max-width: 700px;
}
.has-form span{
    color: #FF4A66;
}
.require:after{
    content: "*";
    color: #FF4A66;
    margin-left: 5px;
}

.has-submit img{
    max-width: 380px;
}

.has-form button{
	background-color: transparent;
	border: none;
	cursor: pointer;
}

.has-form button:hover{
	opacity: .8;
}

@media only screen and (min-width: 0px) and (max-width: 550px){
	.has-submit img{
        max-width: 100%;
    }
    label.checkbox.require {
        font-size: 3.7vw;
    }


}


/* page application */
.application-form .container{
    max-width: 740px;
}
span.info{
    color: #FF9959;
    font-weight: bold;
    background: #FFEADD;
    border: 1px solid #FF9959;
    border-radius: 5px;
    padding: 15px;
}

.radiobigbtn .radiobtn{
    display: none;
}
.radiobigbtn label {
    border: 1px solid #E6E6E6;
    font-size: 16px;
    padding: 25px 38px;
    width: 100%;
    border-radius: 10px;
    margin-bottom: 15px;
  }
  .radiobigbtn label span{
    color: #4E5A62;
  }
  .radiobigbtn label span a{
      color: #FF9959;
  }
  .radiobigbtn label span b{
      color: #FF4A66;
  }

input.radiobtn:checked + label {
background-color: #FF9959;
}

input.radiobtn:checked + label span{
    color: #fff;
}

input.radiobtn:checked + label span a{
    color: #fff;
}

.radiobigbtn label span{
    display: inline-block;
}
.radiobigbtn label span:first-child{
    width: 40%;
}
.radiobigbtn label span:nth-child(2){
    width: 30%;
}
.radiobigbtn label span:last-child{
    width: 30%;
    text-align: right;
}

.topic-text{
    color: #FF4A66;
}


.radiomidbtn .radiobtn,
.radiomidbtn input#other{
    display: none;
}


.radiomidbtn label {
    border: 1px solid #E6E6E6;
    font-size: 18px;
    padding: 20px 50px;
    border-radius: 10px;
    margin-bottom: 15px;
}

.radiomidbtn input:last-child{
    border: 1px solid #E6E6E6;
    font-size: 18px;
    padding: 20px 10px;
    border-radius: 10px;
    margin-bottom: 15px;
}


.columns.date{
    border: 1px solid #DDD;
    border-radius: 5px;
    padding: 15px 0;
    font-size: 16px;
}

span.ui-datepicker-year{
    color: #fff;
}


@media only screen and (min-width: 0px) and (max-width: 685px){
    span.info {
        display: block;
    }
    .radiobigbtn label span:first-child{
        width: 50%;
    }
    .radiobigbtn label span:nth-child(2){
        width: 50%;
    }
}

/* page thanks */

#thanks section.section.titlebox{
    min-height: 70vh;
}

/* pagenation */
.pagenation {
    font-size: 1em;
    line-height: 1;
    padding: 1em;
    margin: .5em auto 1em;
    text-align: center;
    width: auto;
}
.pagination:after, .pagination div::after,
.pagenation:after, .pagenation ul::after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}
.pagenation ul {
    margin: 0;
}
.pagenation li {
    list-style: none outside none;
    margin-left: .25em;
    display: inline-block;
}
.pagenation li:first-child {
    margin-left: 0;
}
.pagenation li.prev a,
.pagenation li.next a {
    font-weight: bold;
    color: #fff;
    background-color: #B6B6B6;
}
.pagenation li.active {
    background-color: #FF9959;
    color: #FFFFFF;
    cursor: not-allowed;
    padding: .6em .8em;
    border: 1px solid #FF9959;
    display: inline-block;
}
.pagenation li a::after {
    display: none;
}
@media only screen and (min-width: 0px) and (max-width: 768px){
    .pagenation {
        font-size: .8em;
    }
    .pagenation li.active {
        background-color: #FF9959;
        color: #FFFFFF;
        cursor: not-allowed;
        padding: .6em .8em;
        display: inline-blok;
    }
}
.pagenation li a {
    line-height: 1;
    background: #fff;
    color: #636363;
    display: block;
    padding: .6em .8em;
    text-decoration: none;
    border: 1px solid #B6B6B6;
}
.pagenation li a:hover {
    background-color: #FF9959;
    border: 1px solid #FF9959;
    color: #fff;
    opacity: .75;
    transition: opacity ease .3s;
}
.pagenation li.prev,
.pagenation li.next,
.pagenation li.active {
    position: relative;
    top: 1px;
}