@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');

@font-face {
   font-family: 'Corpgo';
   src: url('./common/font/Corporate-Logo-Bold-ver2.ttf') format('truetype');
   ;

}

* {
   font-family: 'Noto Sans JP', sans-serif;
}

html {
   width: 100%;
   overflow-x: auto;
}

body {
   width: 100%;
}

@media (min-width: 768px) {
   body {
      min-width: 1200px;
      overflow-x: auto;
   }
}



div.inner p {
   margin-bottom: 0;
}

.ast-main-header-wrap .ast-container {
   max-width: 1020px !important;
}

.mb8 {
   margin-bottom: 8px !important;
}

.mb20 {
   margin-bottom: 20px !important;
}

.mb40 {
   margin-bottom: 40px !important;
}

.mb60 {
   margin-bottom: 60px !important;
}

.w100 {
   width: 100% !important;
}

.tac {
   text-align: center !important;
}

.white {
   color: #fff !important;
}

.bg_blue1 {
   background-color: #0071BC !important;
}

.bg_blue2 {
   background-color: #3290CC !important;
}

.bg_blue3 {
   background-color: #5CAAD9 !important;
}

.bg_orange {
   background-color: #EB6C4F !important;
}

.bg_yellow {
   background-color: #F3D33B !important;
}

.bg_gray2 {
   background-color: #C4CACD !important;
}



/* ヘッダー */
.header_info {
   text-align: right;
}

.header_info p {
   color: #0071BC;
   font-size: 12px;
   margin: 0;
}

.header_info .tel {
   font-size: 22px;
   position: relative;
}

.header_info .tel::before {
   content: "";
   width: 26px;
   height: 26px;
   position: absolute;
   left: 59px;
   top: 3px;
   background-size: contain;
   background-image: url(/wp-content/themes/astrachild-mjp/common/img/mobile_icon.png);
}

@media screen and (max-width:921px) {
   .header_info {
      background-color: #fff;
      text-align: center;
   }

   .header_info p {}

   .header_info .tel {
      display: inline;
   }

   .header_info .tel::before {
      left: -29px;
      top: 5px;
   }
}

.sub_nav_area {
   width: 100%;
   margin: 0 auto;
   border-bottom: 1px solid #c4cacd;
   background-color: #fff;
}

.sub_nav_area ul {
   width: 1020px;
   list-style: none;
   display: flex;
   margin: 0 auto;
}

.sub_nav_area ul li {
   width: 25%;
   height: 80px;
   text-align: center;
   vertical-align: middle;
   position: relative;
}

.sub_nav_area ul li::before {
   content: '';
   width: 1px;
   height: 40px;
   background: #c4cacd;
   margin: -20px 0 0;
   position: absolute;
   top: 50%;
   left: 0;
   display: block;
}

.sub_nav_area ul li:last-child::after {
   content: '';
   width: 1px;
   height: 40px;
   background: #c4cacd;
   margin: -20px 0 0;
   position: absolute;
   top: 50%;
   right: 0;
   display: block;
}

.sub_nav_area ul li a {
   width: 100%;
   min-height: 80px;
   color: #1c355c;
   text-decoration: none;
   padding: 11px 2px;
   position: relative;
   display: table;
}

.sub_nav_area ul li a:hover {
   opacity: 0.6;
}

.sub_nav_area ul li a span {
   vertical-align: middle;
   display: table-cell;
   font-size: 16px;
   font-weight: bold;
}

/* page_kv */
section#page_kv {
   margin: 0 calc(50% - 50vw);
   position: relative;
   max-height: 330px;
   overflow: hidden;
}

section#page_kv .kv_ttl_area {
   max-width: 1020px;
   position: absolute;
   top: 0;
   bottom: 0;
   right: 0;
   left: 0;
   margin: 0 auto;
   display: flex;
   align-items: center;
}

section#page_kv .kv_ttl_area .kv_ttl_box {
   width: 510px;
   height: 150px;
   background-color: #0071bcc4;
   padding: 5px;
}

section#page_kv .kv_ttl_area .kv_ttl_box .kv_ttl_inner {
   border: 2px solid #fff;
   display: flex;
   flex-wrap: wrap;
   height: 100%;
   align-items: center;
   padding: 0 10px;
}

section#page_kv .kv_ttl_area .kv_ttl_box .kv_ttl_inner h2 {
   width: 100%;
   color: #fff;
   font-size: 26px;
}

section#page_kv .kv_ttl_area .kv_ttl_box .kv_ttl_inner h3 {
   width: 100%;
   color: #fff;
   font-size: 18px;
}

section#page_kv .breadcrumb {
   position: absolute;
   bottom: 0;
   background-color: #ffffff84;
   width: 100%;
}

section#page_kv .breadcrumb p {
   max-width: 1020px;
   margin: 0 auto;
   font-size: 14px;
   line-height: 2rem;
}

@media (max-width: 1200px) and (min-width: 768px) {
   section#page_kv {
      margin: 0 -90px;
   }
}

@media (max-width: 767px) {
   section#page_kv {
      height: 240px;
   }

   section#page_kv img {
      object-fit: cover;
      height: 100%;
      width: 100%;
   }

   section#page_kv .kv_ttl_area {
      max-width: 100%;
   }

   section#page_kv .kv_ttl_area .kv_ttl_box {
      width: 70%;
      height: auto;
      margin: 0 auto;
   }

   section#page_kv .kv_ttl_area .kv_ttl_box .kv_ttl_inner {
      min-height: 80px;
      text-align: center;
   }

   section#page_kv .kv_ttl_area .kv_ttl_box .kv_ttl_inner h2 {
      font-size: 20px;
      margin-bottom: 0;
   }

   section#page_kv .kv_ttl_area .kv_ttl_box .kv_ttl_inner h3 {
      font-size: 16px;
      margin-top: 20px;
   }

   section#page_kv .breadcrumb p {
      padding-left: 16px;
   }
}

/* page_kv */

.hover_item:hover {
   opacity: 0.6;
}

.inner {
   width: 1020px;
   max-width: 100%;
   margin: auto;
}

.title_blue {
   background-color: #0071BC;
   color: #fff;
   font-size: 20px;
   line-height: 55px;
   height: 55px;
   padding-left: 20px;
   margin-bottom: 30px;
   margin-top: 60px;
   font-weight: bold;
}

.title_blue_big {
   background-color: #0071BC;
   color: #fff;
   font-size: 20px;
   height: 65px;
   padding-left: 20px;
   padding-top: 7px;
   font-weight: bold;
   margin-bottom: 30px;
   margin-top: 60px;
}


.red {
   color: #EB6C4F;
}

.bold {
   font-weight: bold;
}

.text_area {
   border: dotted 2px;
   border-color: #C4CACD;
   padding: 20px;
   margin-bottom: 30px;
}

.pc_only {
   display: block !important;
}

.sp_only {
   display: none !important;
}

@media (max-width: 767px) {
   .pc_only {
      display: none !important;
   }

   .sp_only {
      display: block !important;
   }

   .title_blue_big {
      background-color: #0071BC;
      color: #fff;
      font-size: 17px;
      height: auto;
      padding-left: 20px;
      padding-top: 7px;
      font-weight: bold;
      margin-bottom: 30px;
      margin-top: 60px;
   }

   .inner {
      width: 100%;
      max-width: 500px;
      margin: auto;
   }
}

/*************************************
 *
 *ボタン
 *
 ************************************* */

.btn_area {
   border: solid 3px;
   border-color: #F0F3F5;
   border-radius: 10px;
   padding: 20px;
   margin-bottom: 30px;
   margin-top: 30px;
   display: flex;
   justify-content: space-evenly;
}

.btn_area a {
   width: 100%;
   height: 100%;
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   align-content: center;
}

.btn_base {
   border-radius: 10px;
   position: relative;
   display: flex;
   justify-content: space-around;
   align-items: center;
   width: 466px;
   height: 55px;
   background: linear-gradient(90deg, rgba(92, 170, 217) 0%, rgba(0, 113, 188) 100%);
   box-shadow: 2px 3px 3px 0px rgba(10, 66, 103, 0.5);

}

.btn_yellow {

   border-radius: 10px;
   position: relative;
   display: flex;
   justify-content: space-around;
   align-items: center;
   width: 430px;
   height: 75px;
   background: linear-gradient(90deg, rgba(245, 213, 63) 0%, rgba(224, 186, 4) 100%);
   box-shadow: 2px 3px 3px 0px rgba(0, 0, 0, 0.16);
}

.btn_orange {

   border-radius: 10px;
   position: relative;
   display: flex;
   justify-content: space-around;
   align-items: center;
   width: 430px;
   height: 75px;
   background: linear-gradient(90deg, rgba(235, 108, 79) 0%, rgba(217, 57, 21) 100%);
   box-shadow: 2px 3px 3px 0px rgba(0, 0, 0, 0.16);
}

.btn_text {
   color: #FFF;
   font-size: 20px;
   font-weight: bold;
   text-decoration-line: none;
   text-align: center;
}

.small {
   font-size: 16px;
}

.big {
   font-size: 20px;
   margin: 4px 0;
}

.middle {
   font-size: 18px;
   margin: 4px 0;
}


@media (max-width: 767px) {
   .btn_area {
      border: solid 3px;
      border-color: #F0F3F5;
      border-radius: 10px;
      padding: 20px;
      margin-bottom: 30px;
      display: flex;
      flex-wrap: wrap;
   }

   .btn_base {
      border-radius: 10px;
      position: relative;
      display: flex;
      justify-content: space-around;
      align-items: center;
      width: 100%;
      height: auto;
      min-height: 50px;
      background: linear-gradient(90deg, rgba(92, 170, 217) 0%, rgba(0, 113, 188) 100%);
      box-shadow: 2px 3px 3px 0px rgba(10, 66, 103, 0.5);

   }

   .btn_yellow {

      border-radius: 10px;
      position: relative;
      display: flex;
      justify-content: space-around;
      align-items: center;
      width: 100%;
      height: auto;
      min-height: 50px;
      background: linear-gradient(90deg, rgba(245, 213, 63) 0%, rgba(224, 186, 4) 100%);
      box-shadow: 2px 3px 3px 0px rgba(0, 0, 0, 0.16);
      margin-bottom: 10px;
   }

   .btn_orange {

      border-radius: 10px;
      position: relative;
      display: flex;
      justify-content: space-around;
      align-items: center;
      width: 100%;
      height: auto;
      min-height: 50px;
      background: linear-gradient(90deg, rgba(235, 108, 79) 0%, rgba(217, 57, 21) 100%);
      box-shadow: 2px 3px 3px 0px rgba(0, 0, 0, 0.16);
   }

   .btn_text {
      color: #FFF;
      font-size: 14px;
      font-weight: bold;
      text-decoration-line: none;
   }

   .small {
      font-size: 12px;
   }


}

/*************************************
 *
 *TOP
 *
 ************************************* */

.ast-container:has(div.home) {
   width: 100%;
   max-width: 100%;
   padding: 0%;
}

.inner.home {
   width: 100%;
}

.home #kv {
   position: relative;
}

.home #kv .kv_img {
   width: 100%;
   height: auto;
}

.home #kv .btn_area {
   position: absolute;
   flex-wrap: wrap;
   border: none;
   background-color: #fff;
   padding: 30px;
   width: 430px;
   right: 9%;
   top: 24%;
   border-radius: 0;
}

@media (max-width: 1300px) {
   .home #kv .btn_area {
      right: 20px;
      top: 70px;
   }
}

.home #kv .btn_area>p {
   width: 100%;
   font-weight: bold;
   text-align: center;
   margin: 0 auto 8px;
   font-size: 17px;
}

.home #kv .btn_area>p:nth-of-type(2) {
   margin-top: 34px;
}

.home #kv .btn_area>div {
   width: 100%;
}

.home #kv p.lead {
   font-family: 'Corpgo';
   font-size: 24px;
   text-align: center;
   background-color: #F0F3F5;
   line-height: 3.5rem;
}

@media (max-width: 767px) {
   .home #kv {
      margin: 0 calc(50% - 50vw);
   }

   .home #kv p.lead {
      font-size: 15px;
      line-height: 2.5rem;
   }
}

.home #lead {
   max-width: 1020px;
   margin: 0 auto;
}

.home #lead .btn_area.area_A {
   border: none;

}

.home #lead .service_content {
   display: flex;
   flex-wrap: wrap;
   border: solid 3px;
   border-color: #F0F3F5;
   border-radius: 10px;
   padding: 8px;
   width: 100%;
   margin: 100px 0;
}

.home #lead .service_content .title {
   background-color: #0071BC;
   border-radius: 10px;
   display: flex;
   align-items: center;
   width: 180px;
   height: 150px;
   justify-content: center;
   padding: 0;
}

.home #lead .service_content .title p {
   color: #fff;
   font-size: 26px;
   font-weight: bold;
   text-align: center;
   margin-bottom: 0px;

}

.home #lead .service_content .txt {
   font-weight: bold;
   padding-left: 10px;
   width: calc(100% - 180px);
   display: flex;
   flex-wrap: wrap;
   align-items: center;
}

.home #lead .service_content .txt p {
   font-size: 21px;
   line-height: 1.5rem;
   margin-bottom: 8px;
}

.home #lead .service_content .txt small {
   font-size: 16px;
   line-height: 1.5rem;
   margin-bottom: 8px;
}



@media (min-width: 768px) {
   .home #lead .btn_area.area_A .btn_yellow::after {
      background-color: #F0F3F5;
      content: "";
      width: 3px;
      height: 55px;
      position: absolute;
      right: -24px;
   }

}

@media (max-width: 767px) {
   .home #lead {
      padding: 0 16px;
   }

   .home #kv p.lead {
      font-size: 15px;
      line-height: 2.5rem;
   }

   .home #lead .service_content {
      margin: 50px 0;
   }

   .home #lead .service_content .title {
      width: 100%;
      height: 90px;
   }

   .home #lead .service_content .title p {
      color: #fff;
      font-size: 20px;
      font-weight: bold;
      text-align: center;
      margin-bottom: 0px;
      line-height: 2.5rem;

   }

   .home #lead .service_content .txt {
      width: 100%;

   }

   .home #lead .service_content .txt p {
      font-size: 21px;
      line-height: 2rem;
      margin: 12px 0;
   }

   .home #lead .service_content .txt small {
      font-size: 16px;
      line-height: 1.5rem;
      margin: 12px 0;
   }
}

/*タブ切り替え全体のスタイル*/
.tabs {
   margin-top: 50px;
   /* padding-bottom: 40px; */
   background-color: #fff;
   box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
   width: 100%;
   margin: 60px auto;
   border-radius: 10px;

}

/*タブのスタイル*/
.tab_item {
   width: calc(100%/2);
   height: 100px;
   /* border-bottom: 3px solid #5ab4bd; */
   /* background-color: #d9d9d9; */
   line-height: 50px;
   font-size: 16px;
   text-align: center;
   /* color: #565656; */
   display: block;
   float: left;
   text-align: center;
   font-weight: bold;
   transition: all 0.2s ease;
   font-size: 28px;
   display: flex;
   justify-content: center;
   align-items: center;
   border-radius: 10px 10px 0 0;
}

.tab_item.w_holiday {
   background-color: #0071BC;
   color: #fff;
}

.tab_item.m_passport {
   background-color: #CBDFEB;
   color: #000;
}

.tab_item:hover {
   opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
   display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
   display: none;
   padding: 40px 16px 0;
   clear: both;
   overflow: hidden;
}


/*選択されているタブのコンテンツのみを表示*/
#w_holiday:checked~#w_holiday_content,
#m_passport:checked~#m_passport_content {
   display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked+.tab_item {
   /* background-color: #5ab4bd; */
   /* color: #fff; */
   border: 1px solid #000;
   border-radius: 10px 10px 0 0;
}


.tab_content {
   background-color: #F0F3F5;
}

.orange {
   color: #EB6C4F !important;
}

.tab_content .large {
   font-size: 30px;
}

.tab_content .small {
   font-size: 12px;
   position: relative;
   top: -30px;
   left: 140px;
}

.tab_content .point_list {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
}

.tab_content h3.lead {
   text-align: center;
   font-size: 24px;
   margin-bottom: 30px;
}

.tab_content .point_list .point_box {
   width: 32%;
   border-radius: 10px;
   box-shadow: 0px 5px 5px 0px #0000002e;
   background-color: #fff;
   margin-bottom: 30px;
}

.tab_content .point_list .point_box:nth-child(4) {
   width: 100%;
   text-align: center;
}

.tab_content .point_list .point_box p.ttl {
   margin: 0;
   background-color: #0071BC;
   color: #fff;
   text-align: center;
   font-size: 18px;
   font-weight: bold;
   line-height: 3rem;
   border-radius: 10px 10px 0 0;
   padding: 0;
   width: 100%;
   position: relative;
}

#m_passport_content.tab_content .point_list .point_box p.ttl {
   background-color: #CBDFEB;
   color: #000;
}

.tab_content .point_list .point_box p.ttl::after {
   content: "";
   position: absolute;
   top: 90%;
   left: 50%;
   margin-left: -15px;
   border: 15px solid transparent;
   border-top: 15px solid #0071BC;
}

#m_passport_content.tab_content .point_list .point_box p.ttl::after {
   border-top: 15px solid #CBDFEB;
}

.tab_content .point_list .point_box h4 {
   font-size: 18px;
   text-align: center;
   margin-top: 20px;
}

.tab_content .point_list .point_box h5 {
   font-size: 15.5px;
   text-align: center;
   margin-top: 20px;
}

.tab_content .point_list .point_box hr {
   background-color: #F0F3F5;
   height: 3px;
   margin: 8px 10px;
}

.tab_content .point_list .point_box p {
   padding: 0 8px;
}

#w_holiday_content .btn_base {
   background: #0071BC;
}

#m_passport_content .btn_base {
   background: #CBDFEB;

}

#m_passport_content .btn_base a {
   color: #000;
}

#m_passport_content .price {
   position: relative;
}

#m_passport_content .price::after {
   content: "※";
   position: absolute;
   right: -10px;
   top: -5px;
   color: #000;
   font-size: 15px;
}

@media (max-width: 767px) {
   .tab_item {
      font-size: 3.8vw;
      line-height: 2rem;
   }

   .tab_content h3.lead {
      font-size: 16px;
   }

   .tab_content .large {
      font-size: 24px;
   }

   .tab_content .small {
      left: 0;
   }

   .tab_content .point_list .point_box {
      width: 100%;
   }
}



.home #service_system,
.home #qa,
.home #news {
   background-color: #F0F3F5;
   padding: 30px 0;
   margin: 60px 0;
}

.home #news {
   margin: 60px 0 0;
}

.home .sec_inner {
   width: 100%;
   max-width: 1020px;
   margin: 0 auto;
}

.home .sec_inner>h3 {
   font-weight: bold;
   font-size: 26px;
}

.home .sec_inner>hr {
   background-color: #0071BC;
   height: 1px;
   margin: 8px 0;
}

.home .sec_inner>p {
   font-size: 16px;
}

.img_list {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   margin-top: 30px;
}

.img_list a:hover {
   opacity: 0.6;
}

.img_list .img_box {
   width: 23%;
   height: 300px;
   padding: 16px;
   text-align: center;
   border-top: 3px solid #0071BC;
   background-color: #fff;
   margin: 0 1% 30px;
}

.img_list .img_box img {
   height: 120px;
   object-fit: contain;
}

.img_list .img_box p {
   font-weight: bold;
   font-size: 18px;
   margin: 15px 0 0;
}

.img_list .img_box p .small {
   font-size: 16px;
}

.img_list .img_box small {
   font-size: 10px;
   color: #000;
}

.home #qa .sec_inner .img_list .img_box {
   border-top: 3px solid #CBDFEB;
}

@media (max-width: 767px) {

   .home #service_system,
   .home #qa,
   .home #news {
      background-color: #F0F3F5;
      padding: 30px 16px;
   }

   .home #news {
      margin-bottom: 0px;
   }

   .home .sec_inner {
      width: 100%;
      max-width: 1020px;
      margin: 0 auto;
   }

   .home .sec_inner>h3 {
      font-weight: bold;
      font-size: 24px;
   }

   .home .sec_inner>hr {}

   .home .sec_inner>p {}

   .img_list {
      margin-top: 30px;
   }

   .img_list .img_box {
      width: 48%;
      padding: 8px;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      height: auto;
      min-height: 250px;
   }

   .img_list .img_box img {
      height: 100px;
      object-fit: contain;
   }

   .img_list .img_box p {
      font-weight: bold;
      font-size: 16px;
      margin: 15px 0 0;
   }

   .img_list .img_box p .small {
      font-size: 14px;
   }

   .img_list .img_box small {
      font-size: 12px;

   }

   .home #qa .sec_inner .img_list .img_box {
      border-top: 3px solid #CBDFEB;
   }
}

.home #btn {
   max-width: 1020px;
   width: 100%;
   margin: 0 auto;
}

.home #btn .btn_area {}

.home #btn .btn_area .btn_box {
   width: 45%;
}

.home #btn .btn_area .btn_box p {
   font-size: 20px;
   font-weight: bold;
   text-align: center;
   margin: 0 0 12px;
}



@media (max-width: 767px) {
   .home #btn {
      padding: 0 16px;
   }

   .home #btn .btn_area .btn_box {
      width: 100%;
   }

   .home #btn .btn_area .btn_box p {
      font-size: 4vw;
   }

   .home #btn .btn_area .btn_box:last-child p {

      margin: 30px 0 12px;
   }
}

.home #news .news_box {
   margin: 30px 0;
   background-color: #fff;
   width: 100%;
   height: 310px;
   overflow-x: auto;
   border-radius: 10px;
   padding: 20px 0;
}

.home #news .news_box .news_inner {
   height: auto;
}

.home #news .news_box .news_inner ul {
   width: 80%;
   margin: 0 auto;
}

.home #news .news_box .news_inner ul li {
   display: flex;
   align-items: center;
}

.home #news .news_box .news_inner ul time {
   width: 20%;
   font-size: 20px;
   text-align: center;
   padding-right: 0px;
}

.home #news .news_box .news_inner ul a {
   font-size: 20px;
}




@media (max-width: 767px) {
   .home #news .news_box .news_inner ul {
      width: 90%;
   }

   .home #news .news_box .news_inner ul li {
      flex-wrap: wrap;
      margin-bottom: 25px;
   }

   .home #news .news_box .news_inner ul time {
      width: 100%;
      text-align: left;
   }

   .home #news .news_box .news_inner ul a {
      width: 100%;
      font-size: 18px;
   }
}

/*************************************
*
*プライバシーポリシー
*
************************************* */

p {
   color: #333;
   line-height: 28px;
}

.headline {
   margin-top: 32px;
   color: #333;
}

.headline p {
   padding-left: 20px;
   margin: 4px 0;
}

.headline ol {
   color: #333;
   line-height: 28px;
   padding-left: 0px;
   margin-left: 20px;
}

.headline li {
   line-height: 28px;
   color: #333;
}


.link_area {
   padding: 10px 0;
}

.contact_area {
   border: solid #fff;
   background-color: #FFF;
   margin-top: 30px;
   text-align: center;
}

.contact_area p {
   text-align: left;
   display: inline-block;
}


@media (max-width: 767px) {


   .title_blue {
      background-color: #0071BC;
      color: #fff;
      font-size: 15px;
      line-height: 35px;
      height: auto;
      padding-left: 10px;
      margin-bottom: 30px;

   }

   .text_area {
      border: dotted;
      border-color: #C4CACD;
      padding: 10px;
   }


   p {
      color: #333;
      font-size: 14px;
      line-height: 28px;
   }

   .headline {
      font-size: 14px;
      margin-top: 20px;
   }

   .headline p {
      padding-left: 20px;
   }

   .headline ol {
      color: #333;
      font-size: 14px;
      line-height: 28px;
      padding-left: 0px;
      margin-left: 0;
   }

   .headline ul {
      margin: 4px 0;
   }

   .headline li {
      font-size: 14px;
      line-height: 28px;
      margin-left: 20px;
   }


   .contact_area {
      margin-top: 30px;
      margin-bottom: 60px;
      text-align: center;
      padding: 10px;
   }

   .contact_area p {
      text-align: left;
      display: inline-block;
   }

   #security_policy .text_area .headline li {
      word-wrap: break-word;
   }

}

/*************************************
 *
 *会社概要
 *
 ************************************* */

.corporate_profile_box {
   width: 100%;
   max-width: 1020px;
   margin-top: 60px;
   margin-bottom: 60px;

}

table {
   border-collapse: separate;
   /* border-spacing: 5px; */
   table-layout: fixed;
}


th {
   background-color: #0071BC;
   color: #fff;
   width: 20%;
   height: 35px;
   line-height: 28px;
   padding: 0 20px;

}

td {
   background-color: #F0F3F5;
   width: 100%;
   height: 35px;
   line-height: 28px;
   padding: 20px 0;
}

td.center {
   text-align: center;
}



#corporate_profile table,
#corporate_profile td,
#corporate_profile th {
   border: 4px #fff solid;
}

#corporate_profile th {
   padding: 0 10px;
   width: 180px;
}

#corporate_profile td {
   padding: 12px 0px;
}

#corporate_profile td.history {
   padding-left: 220px;
}

@media (max-width: 767px) {
   .corporate_profile_box {
      width: 100%;
   }


   #corporate_profile th,
   #corporate_profile td {
      display:
         block;
      width: 100%;
      border-bottom: none;
      font-size: 14px;
      text-align: center;
      height: auto;

   }

   #corporate_profile th {
      background: #0071BC;
      color: #ffffff;
      padding: 10px;
   }

   #corporate_profile td {
      background-color: #F0F3F5;
      padding: 10px;
   }

}



.bg_gray {
   border: solid #F0F3F5;
   background-color: #F0F3F5;
   margin-top: 30px;
   margin-bottom: 30px;
   padding: 20px;
}

.triangle {
   text-align: center;
}

#notes {
   font-size: 12px;
   line-height: 20px;
   color: #333;
}

#notes p {
   line-height: 20px;
}

#notes li::marker,
.features_area li::marker {
   font-size: 20px;
}

#notes li span,
.features_area li span {
   vertical-align: 0.2rem;
   position: relative;
   left: -6px;
}

@media (max-width: 767px) {
   #notes {
      font-size: 12px;
      line-height: 20px;
      color: #333;
   }

   #notes p {
      line-height: 20px;
      font-size: 12px;
   }

   #notes ul,
   .features_area ul {
      margin-left: 20px;
   }


}

/*************************************
 *
 *こんな時にお支払いします
 *
 ************************************* */
.red_bold {
   color: #EB6C4F;
   font-weight: bold;
}

.title_skyblue {
   background-color: #CBDFEB;
   color: #333;
   font-weight: bold;
   font-size: 20px;
   line-height: 55px;
   height: 55px;
   padding-left: 20px;
   margin: 30px 0;
}


#example.img_box {
   border-top: solid 5px #0071BC;
   border-bottom: solid 1px #C4CACD;
   border-right: solid 1px #C4CACD;
   border-left: solid 1px #C4CACD;
   width: 31%;
   height: auto;
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   padding: 2px 10px 12px;
}


#example.img_box p {
   font-size: 16px;
   font-weight: normal;
}

#example.img_box>p:nth-of-type(1) {
   text-align: left;
   height: 112px;
}

#example.img_box>p:nth-of-type(2) {
   height: 56px;
   margin: 20px 0;
}

#example.img_box>p:nth-of-type(3) {
   height: 90px;
}

.btn_area_white {
   padding: 20px 0;
   display: flex;
   justify-content: space-evenly;
}

.btn_area_white a {
   width: 100%;
   height: 100%;
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   align-content: center;
}

.btn_white {
   border: solid 1px #C4CACD;
   border-radius: 5px;
   position: relative;
   display: flex;
   justify-content: space-around;
   align-items: center;
   width: 430px;
   height: 75px;
   background: #ffffff;
   box-shadow: 2px 3px 3px 0px rgba(0, 0, 0, 0.16);
}

.btn_text_black {
   color: #333;
   font-size: 16px;
   text-decoration: underline;

}

.orange_area {
   padding: 20px;
   display: flex;
   flex-wrap: wrap;
   justify-content: space-evenly;
}

.others_orange {
   border-radius: 5px;
   position: relative;
   display: flex;
   justify-content: space-around;
   align-items: center;
   width: 430px;
   height: 75px;
   background: #FFBD67;
   box-shadow: 2px 3px 3px 0px rgba(0, 0, 0, 0.16);
   margin-bottom: 30px;
   font-size: 18px;
}


@media (max-width: 767px) {

   .title_skyblue {
      background-color: #CBDFEB;
      color: #333;
      font-weight: bold;
      font-size: 17px;
      line-height: 35px;
      height: auto;
      padding-left: 20px;
      margin: 30px 0;
   }


   #example.img_box {
      border-top: solid 5px #0071BC;
      border-bottom: solid 1px #C4CACD;
      border-right: solid 1px #C4CACD;
      border-left: solid 1px #C4CACD;
      width: 100%;
      height: auto;
      display: block;
   }

   #example.img_box>p:nth-of-type(1) {
      height: auto;
   }

   #example.img_box>p:nth-of-type(3) {
      height: auto;
   }



   .btn_area_white {
      display: flex;
      flex-wrap: wrap;
   }

   .btn_white {
      border: solid 1px #C4CACD;
      border-radius: 5px;
      position: relative;
      display: flex;
      justify-content: space-around;
      align-items: center;
      width: 100%;
      height: auto;
      min-height: 50px;
      background: #fff;
      box-shadow: 2px 3px 3px 0px rgba(0, 0, 0, 0.16);
      margin-bottom: 10px;
   }

   .btn_text_black {
      color: #333;
      font-size: 3vw;
      text-decoration: underline;
   }
}

/*************************************
 *
 *留学・ワーホリ保険
 *
 ************************************* */
.chart table td {
   background-color: #fff;
   padding: 20px;
}

.chart table tr>th:nth-child(1) {
   background-color: #434343;
   width: 40%;
}

.chart table tr>th:nth-child(2) {
   background-color: #EB6C4F;
   width: 30%;
}

.chart table tr>th:nth-child(3) {
   background-color: #F3D33B;
   width: 30%;
}

.chart table .trouble_box {
   display: flex;
   align-items: center;
   justify-content: center;
}

.chart table .trouble_box .trouble_box_txt {
   width: 70%;
   padding-right: 10px;
}

.chart table .trouble_box .trouble_box_txt p {
   margin: 0;
}

.chart table .trouble_box .trouble_box_img {
   width: 30%;
}

.chart table .trouble_box .trouble_box_img img {
   width: 100%;
   height: 100%;
   object-fit: contain;
}

.chart table .check_img_box {
   display: flex;
   align-items: center;
   justify-content: center;
}

.chart table .check_img_box img {
   width: 30%;

}

@media (max-width: 767px) {
   .chart .table_scroll {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;

   }

   .chart table {
      width: 100%;
      min-width: 1020px;
   }
}

.features_area {
   display: flex;
   justify-content: space-between;
   flex-wrap: wrap;
   margin-bottom: 30px;
}


.features_box {
   background: linear-gradient(270deg, rgba(92, 170, 217) 0%, rgba(0, 113, 188) 100%);
   border-radius: 10px;
   width: 460px;
   height: 120px;
   display: flex;
   justify-content: center;
   align-items: center;
}

.inner-radius {
   background-color: #FFF;
   border-radius: 10px;
   width: 440px;
   height: 100px;
   text-align: center;
   display: flex;
   justify-content: center;
   align-items: center;
}

.features_box p {
   font-size: 18px;
   font-weight: bold;
   margin: 0;
}

.blue_balloon {
   background-color: #0071BC;
   width: 100%;
   height: 45px;
   border-radius: 5px 5px 0 0;
   position: relative;
}

.blue_balloon:after {
   content: "";
   position: absolute;
   right: 0;
   bottom: -10px;
   left: 0;
   width: 0px;
   height: 0px;
   margin: auto;
   border-style: solid;
   border-color: #0071BC transparent transparent transparent;
   border-width: 20px 20px 0 20px;
}

.blue_balloon p {
   color: #FFF;
   font-size: 18px;
   font-weight: bold;
   text-align: center;
   line-height: 45px;
   margin: 0;
}

.white_area {
   border: solid 1px #C4CACD;
   border-top: none;
   width: 100%;
   height: auto;
   padding: 18px 9px;
   display: flex;
   align-items: center;
   justify-content: center;
}

.white_area p {
   font-size: 18px;
   margin: 0;
   line-height: 3rem;
   text-align: center;
}

@media (max-width: 767px) {
   .features_area {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
   }


   .features_box {
      background: linear-gradient(270deg, rgba(92, 170, 217) 0%, rgba(0, 113, 188) 100%);
      border-radius: 10px;
      width: 320px;
      height: 100px;
      display: flex;
      justify-content: center;
      align-items: center;
      margin-bottom: 10px;
   }

   .inner-radius {
      background-color: #FFF;
      border-radius: 10px;
      width: 305px;
      height: 85px;
      text-align: center;
   }

   .features_box p {
      font-size: 14px;
      font-weight: bold;
   }

   .white_area p {
      line-height: 3rem;
      margin-top: 10px;
      font-size: 17px;
   }
}


.plan_box_orange {
   background-color: #EB6C4F;
   border-radius: 20px 20px 0 0;
   width: 500px;
   height: auto;
   text-align: center;
   padding-bottom: 20px;
}

.plan_box_orange p {
   color: #FFF;
   margin: 10px 0;
}

.plan_box_yellow {
   background-color: #F3D33B;
   border-radius: 20px 20px 0 0;
   width: 500px;
   height: auto;
   text-align: center;
   padding-bottom: 20px;
}

.plan_box_yellow p {
   color: #FFF;
   margin: 10px 0;
}


.inner-box {
   background-color: #FFF;
   width: 480px;
   height: 86%;
   margin: auto;
}

.inner-box .bg_gray {
   border-radius: 40px;
   width: 400px;
   height: auto;
   margin: 20px auto;
   padding: 2px;
}

.inner-box p {
   color: #333;
}

.plan_img {
   margin: 20px 0;
   height: 112px;
   object-fit: contain;
}

@media (max-width: 767px) {
   .plan_box_orange {
      background-color: #EB6C4F;
      border-radius: 10px 10px 0 0;
      width: 440px;
      height: 555px;
      text-align: center;
      margin-bottom: 10px;
   }

   .plan_box_orange p {
      color: #FFF;
   }

   .plan_box_yellow {
      background-color: #F3D33B;
      border-radius: 10px 10px 0 0;
      width: 440px;
      height: 555px;
      text-align: center;
      margin-bottom: 10px;
   }

   .plan_box_yellow p {
      color: #FFF;
   }

   .inner-box {
      background-color: #FFF;
      width: 94%;
      height: 86%;
      margin: auto;
   }

   .inner-box .bg_gray {
      border-radius: 40px;
      width: 90%;
      height: auto;
      margin: 12px auto;
      padding: 0px;
   }

   .inner-box p {
      color: #333;
   }

   .plan_img {
      margin: 20px 0;
   }

}

.compensation_box {
   border: solid #C4CACD 1px;
   width: 470px;
   height: auto;
   text-align: center;
   margin-bottom: 30px;
   padding-bottom: 30px;
}

.compensation_box p {
   margin: 16px 0;
}

.compensation_box>p:nth-of-type(1) {
   min-height: 82px;
   display: flex;
   justify-content: center;
   align-items: center;
   padding-bottom: 4px;
   margin: 0;
   line-height: 1.6rem;
}

.short {
   height: 1px;
   width: 90%;
   background-color: #C4CACD;
   margin: 0 auto;

}

@media (max-width: 767px) {
   .compensation_box {
      border: solid #C4CACD 1px;
      width: 100%;
      height: auto;
      text-align: center;
      margin-bottom: 30px;
      padding-bottom: 20px;
   }

   .short {
      size: 1px;
      width: 310px;
      color: #C4CACD;

   }

}

.plan_box_blue {
	background-color: #3290CC;
	border-radius: 20px 20px 0 0;
	width: 500px;
	height: 480px;
	margin-bottom: 10px;
}

.plan_box_blue p {
   color: #fff;
   text-align: center;
   font-size: 18px;
   margin: 15px 0;
}


.inner_box_small {
   background-color: #FFF;
   width: 480px;
   height: 400px;
   margin: auto;
   padding-top: 3px;
}

.inner_box_small .inner_box_small_title {
   color: #000;
}

.inner_box_small_img {
   margin: 20px auto;
   text-align: center;
   display: block;
}

.inner_box_small_title p {
   font-weight: bold;
   text-align: center;
   color: #333;
}

.inner_box_small ul li {
   width: 80%;
   margin-left: 30px;
}


@media (max-width: 767px) {
   .plan_box_blue {
      background-color: #3290CC;
      border-radius: 20px 20px 0 0;
      width: 330px;
      height: auto;
      text-align: center;
      margin-bottom: 10px;
      padding-bottom: 20px;

   }

   .inner_box_small {
      background-color: #FFF;
      width: 310px;
      height: auto;
      margin: auto;
      padding: 3px 10px;
   }

   .inner_box_small ul li {
      width: 90%;
      text-align: left;
      margin: 0 auto;
   }

}

.other_service {
   margin: 60px 0;
}

.service_box {
   width: 980px;
   height: 150px;
   margin: 0 auto;
   margin-top: 60px;

}

.service_text {
   display: flex;
   align-items: center;
   border-bottom: 1px solid #C4CACD;
   padding: 12px 0;
}

.text_title {
   font-size: 18px;
   font-weight: bold;
}

.service_text p {
   width: 800px;
}

.service_img {
   width: 20%;
   height: 120px;
   object-fit: contain;
}

.long {
   color: #C4CACD;
   margin: 20px 0;
   width: 980px;
}

@media (max-width: 767px) {
   .other_service {
      margin: 60px 0;
   }

   .service_box {
      width: 340px;
      height: 290px;
      margin: 0 auto;
      margin-top: 60px;
   }

   .service_text {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
   }

   .text_title {
      font-size: 18px;
      font-weight: bold;
   }

   .service_text p {
      width: 800px;
   }

   .service_img {
      margin-left: 0px;
      width: 50%;
   }

   .long {
      color: #C4CACD;
      margin: 20px 0;
      width: 980px;
   }


}


#question .accordion-area {
   list-style: none;
   width: 100%;
   margin: 0 auto;
}

#question .accordion-area li {
   margin: 20px 0;
}

#question .accordion-area section {
   border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
#question .title {
   position: relative;
   /*+マークの位置基準とするためrelative指定*/
   cursor: pointer;
   font-size: 1rem;
   font-weight: bold;
   padding: 1% 5% 1% 30px;
   transition: all .5s ease;
   background-color: #CBDFEB;
   display: flex;
   line-height: 2;
}

/*アイコンの＋と×*/
#question .title::before,
#question .title::after {
   position: absolute;
   content: '';
   width: 15px;
   height: 2px;
   background-color: #333;

}

#question .title::before {
   top: 48%;
   right: 15px;
   transform: rotate(0deg);

}

#question .title::after {
   top: 48%;
   right: 15px;
   transform: rotate(90deg);

}

/*　closeというクラスがついたら形状変化　*/
#question .title.close::before {
   transform: rotate(45deg);
}

#question .title.close::after {
   transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
#question .box {
   display: none;
   /*はじめは非表示*/
   background: #EFF2F4;
   margin: 0;
   padding: 1% 5% 1% 30px;
}

#question .box p {
   display: flex;
}

@media (max-width: 767px) {

   #question .title,
   #question .box {
      padding: 1% 37px 1% 20px;
   }
}


#voice .voice_list {
   display: flex;
   flex-wrap: wrap;
   padding: 0 16px;
   justify-content: space-between;
}

#voice .voice_list .voice_box {
   border: 1px solid #C4CACD;
   border-radius: 10px;
   padding: 10px;
   display: flex;
   align-content: space-between;
   width: 48%;
   margin-bottom: 20px;
}

#voice .voice_list .voice_box .img_box {
   width: 30%;
   display: flex;
   align-content: center;
   justify-content: center;
}

#voice .voice_list .voice_box .img_box img {
   width: 100%;
   height: auto;
   object-fit: contain;
}

#voice .voice_list .txt_box {
   width: 70%;
   padding-left: 10px;
}


@media (max-width: 767px) {
   #voice .voice_list {
      padding: 0;
   }

   #voice .voice_list .voice_box {
      width: 100%;
   }
}

/*************************************
 *
 *インターネット専用契約
 *
 ************************************* */

#features_mpassport .features_area {
   margin: 30px 0;
}

#features_mpassport .plan_box_blue {
   width: 32%;
   height: auto;
}

#features_mpassport .plan_box_blue p {
   color: #000;
   font-size: 16px;
   text-align: left;
}

#features_mpassport .plan_box_blue>p {
   font-size: 20px;
   margin: 10px 0;
}

#features_mpassport .inner_box_small {
   width: 96%;
   height: 79%;
   padding: 3px 12px 40px;
}

#features_mpassport .features_ttl {
   font-size: 24px;
   margin-top: 80px;
}

#features_mpassport .features_ttl::after {
   content: "／";
}

#features_mpassport .features_ttl::before {
   content: "＼";
}

#hoten_mpassport>p {
   font-size: 20px;
}

#hoten_mpassport .compensation_box {
   position: relative;
   margin: 30px 0;
}

#hoten_mpassport .compensation_box .label_box {
   position: absolute;
   top: -27px;
   left: -1px;
}

#hoten_mpassport .features_area {
   margin: 50px 0 30px;
}

#hoten_mpassport .compensation_box .label_box span {
   margin-right: 1px;
   border-radius: 10px 10px 0 0;
   padding: 0;
   color: #fff;
   font-weight: bold;
   width: 95px;
   display: inline-block;
   font-size: 14px;
}

#support .service_list {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
}

#support .service_list .service_box_a {
   background-color: #F0F3F5;
   border-radius: 10px;
   width: 32%;
   display: flex;
}

#support .service_list .service_box_a .service_img {
   width: 30%;
   display: flex;
   align-items: center;
   padding: 10px;
}

#support .service_list .service_box_a .service_img img {
   width: 100%;
   height: 100%;
   object-fit: contain;
}

#support .service_list .service_box_a .service_txt {
   width: 70%;
   display: flex;
   align-items: center;
   padding: 0 10px;
}


@media (max-width: 767px) {
   #features_mpassport .plan_box_blue {
      width: 100%;
      margin-bottom: 30px;
   }

   #features_mpassport .features_ttl {
      font-size: 20px;
      position: relative;
   }

   #features_mpassport .features_ttl::before {
      font-size: 50px;
      position: absolute;
      left: -23px;
      bottom: 12px;
      rotate: 18deg;
   }

   #features_mpassport .features_ttl::after {

      font-size: 50px;
      position: absolute;
      right: -23px;
      bottom: 12px;
      rotate: -18deg;
   }

   #support .service_list .service_box_a {
      width: 100%;
      margin-bottom: 30px;
   }
}

/*************************************
 *
 *フォーム
 *
 ************************************* */
.form_body input,
.form_body select,
.form_body textarea {
   background: #fff !important;
   box-shadow: 2px 2px 4px #46444429 !important;
   border: 1px solid #C7C7C7 !important;
   border-radius: 5px !important;
   padding-right: 28px;
   min-width: 90px;
}

.form_body {
   margin: 60px auto;
}

.form_body .red {
   color: red;
   width: 100%;
}

.form_body .flex_box {
   display: flex;
   padding: 20px 0;
   border-bottom: 1px solid #F0F3F5;
   flex-wrap: wrap;

}

.form_body .flex_box .ttl_area {
   width: 30%;
   display: flex;
   align-items: center;
   justify-content: flex-end;
   flex-wrap: wrap;
}

.form_body .flex_box .ttl_area p {
   font-weight: bold;
   font-size: 16px;
}

.form_body .flex_box .ttl_area .required {
   color: #fff;
   background-color: #B40202;
   padding: 0px 12px;
   margin-left: 20px;
   border-radius: 10px;
}

.form_body .flex_box .input_area {
   display: flex;
   align-items: center;
   width: 70%;
   padding-left: 80px;
   flex-wrap: wrap;
}

.form_body .flex_box .input_area .input_box {

   display: flex;
   align-items: center;
   margin-right: 20px;
   flex-wrap: wrap;
}

.form_body .flex_box .input_area .input_box span {
   margin-right: 10px;
}

.form_body .flex_box .input_area .input_box p {
   margin-right: 10px;
}

.form_body select {
   -webkit-appearance: none;
   appearance: none;
}

.form_body select::-ms-expand {
   display: none;
}

.select_wrap {
   position: relative;
}

.select_wrap::after {
   border-right: 3px solid #2D71B6;
   border-top: 3px solid #2D71B6;
   content: "";
   position: absolute;
   right: 10px;
   top: 12px;
   bottom: 0;
   /* margin: auto 0; */
   width: 14px;
   height: 14px;
   rotate: 135deg;
}

.mw_wp_form_confirm .form_body .select_wrap::after {
   content: none;
}

p:has(input[type="submit"]) {
   text-align: center;
}

input[type="submit"] {
   background: linear-gradient(-90deg, rgba(92, 170, 217) 0%, rgba(0, 113, 188) 100%);
   width: 100%;
   max-width: 326px;
   border-radius: 10px;
   font-size: 20px;
   box-shadow: 2px 3px 3px 0px rgb(10 66 103 / 50%);
   font-weight: bold;
}

input[type="checkbox"],
input[type="radio"] {
   box-shadow: none !important;
}



input[type="checkbox"] {
   height: 30px;

}

input[type=date] {
   color: #666;
   padding: 0.75em;
   height: auto;
   border-width: 1px;
   border-style: solid;
   border-color: var(--ast-border-color);
   border-radius: 2px;
   background: #fafafa;
   box-shadow: none;
   box-sizing: border-box;
   transition: all .2s linear;
}

.radio_flex {
   display: flex;
   flex-wrap: wrap;
   width: 400px;
   padding-left: 10px;
}

.option_label {
   width: 120px;
}

.form_body .flex_box .input_area .input_box.option span {
   margin-left: 0px;
}

.mw_wp_form .error {
   color: red;
   margin-left: 10px;
}

.mw_wp_form_confirm .red {
   display: none;
}

input[type="radio"] {
   appearance: none;
   position: absolute;
   border: none !important;
}

.mwform-radio-field-text::before {
   content: '';
   display: block;
   border-radius: 50%;
   border: 1px solid #000;
   width: 25px;
   height: 25px;
   margin-right: 10px;
}

.mwform-radio-field-text::after {
   content: '';
   position: absolute;
   left: 3px;
   display: block;
   border-radius: 50%;
   width: 10px;
   height: 10px;
   background-color: #fff;
}

.mwform-radio-field-text {
   position: relative;
   display: flex;
   align-items: center;
   min-width: 100px;
   margin: 4px 0;
}

input[type="radio"]:checked+.mwform-radio-field-text::after {
   content: '';
   position: absolute;
   left: calc(8px - 4px);
   display: block;
   border-radius: 50%;
   width: 17px;
   height: 17px;
   background-color: #2DAAE4;
}

input[type="radio"]:checked+.mwform-radio-field-text::before {
   border: 1px solid #2DAAE4;
}


@media (max-width: 767px) {
   .form_body {}

   .form_body .flex_box {
      flex-wrap: wrap;
      justify-content: center;
   }

   .form_body .flex_box .ttl_area {
      width: 100%;
      margin-bottom: 20px;
      justify-content: flex-start;
   }

   .form_body .flex_box .ttl_area p {}

   .form_body .flex_box .ttl_area .required {}

   .form_body .flex_box .input_area {
      padding: 0;
      justify-content: flex-start;
      width: 100%;
   }

   .form_body .flex_box .input_area .input_box {
      width: 100%;
      justify-content: flex-start;
      flex-wrap: wrap;
      margin: 10px 0;
   }

   .form_body .flex_box .input_area .input_box p {}

   .form_body select {
      width: 100%;
   }

   .form_body input {
      width: 100%;
   }

   .form_body .select_wrap {
      width: 100%;
      text-align: center;
   }

   input[type="submit"] {
      margin-bottom: 20px;
   }

   .form_body input[type="radio"] {
      width: auto;
   }

   .sp_wauto {
      width: auto !important;
   }

   .sp_w100 {
      width: 100% !important;
   }

   .form_body .checkbox_wrap {
      flex-wrap: wrap;
      justify-content: center;
   }

   .form_body .checkbox_wrap .mwform-checkbox-field-text {
      display: none;
   }
}

/*************************************
 *
 *ニュース
 *
 ************************************* */
#page .site-content {
   background-color: #fff;
}

.ast-separate-container.ast-right-sidebar #primary, .ast-separate-container.ast-left-sidebar #primary {
   border: 1px solid #C4CACD;
   padding-bottom: 20px;
}

.sidebar-main {
   border: 1px solid #C4CACD;
   padding: 20px;
   text-align: center;
}

.sidebar-main .cat_ttl {
   background-color: #F0F3F5;
}

.widget {
   margin-bottom: 2.5em;
}

.entry-header {
   display: flex;
   flex-direction: row-reverse;
   align-items: center;
   justify-content: center;
   flex-wrap: wrap;
   margin: 0;
}

.entry-header h2.entry-title {
   font-size: 17px;
   margin: 0;
   width: 70%;
}

.entry-header div.entry-meta {
   width: 30%;
   text-align: center;
}

.entry-meta * {
   color: #000;
}

.entry-content {
   display: none;
}

.single .entry-content {
   display: block;
}

#primary {
   border: 1px solid #C4CACD;
   padding: 30px 30px !important;
}

.ast-right-sidebar #secondary {
   border: none;
}

.pagenation_wrap {
   display: flex;
   width: 200px;
   margin: 40px auto;
}

.pagenation_wrap>div {
   width: auto;
   margin: 0 10px;
}

.pagenation_wrap>div a {
   color: #000;
}

.single .post-navigation {
   display: none;
}

.single .entry-header div.entry-meta {
   width: 100%;
   text-align: right;
   background-color: #F0F3F5;
   padding: 10px 8px;
}

.ast-single-post-order {
   width: 100%;
}

.ast-article-post:last-child .blog-layout-1 {
   border: none;
}

.ast-archive-description .ast-archive-title {
   text-align: center;
}

@media (min-width: 768px) {
   .news_wrap {
      display: flex;
   }
}

@media (max-width: 767px) {
   .ast-separate-container.ast-right-sidebar #primary, .ast-separate-container.ast-left-sidebar #primary {
      width: 95%;
      margin: 20px auto;
   }

   .ast-separate-container.ast-right-sidebar #secondary {
      padding: 0;
   }

   .sidebar-main {
      width: 95%;
      margin: 20px auto;
   }

   .entry-header {
      flex-direction: column-reverse;
   }

   .entry-header h2.entry-title {
      width: 100%;
   }

   .entry-header div.entry-meta {
      width: 100%;
      margin-bottom: 20px;
      text-align: left;
   }

   #primary {
      margin-top: 30px;
   }

   .ast-archive-description .ast-archive-title {
      font-size: 30px;
   }
}


/*************************************
 *
 *シミュレーション
 *
 ************************************* */

#simulation .title_blue {
   text-align: center;
   border-radius: 10px 10px 0 0;
   margin-bottom: 0;
}

#simulation .small{
   font-size: 12px;
   font-weight: normal;
}

#simulation .simulation_wrap {
   background-color: #F0F3F5;
   padding: 40px 125px;
}

#simulation .simulation_wrap .type_area {}

#simulation .simulation_wrap .area_ttl {
   font-size: 22px;
}

#simulation .btn_list {
   list-style: none;
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   margin: 0;
}

#simulation .btn_list li{
   width: 355px;
}



#simulation label,
#simulation select {
   background-color: #fff;
   padding: 10px 20px;
   box-shadow: 2px 2px 4px #46444429;
   border: 1px solid #C7C7C7;
   border-radius: 5px;
   width: 100%;
   text-align: center;
   display: inline-table;
   cursor: pointer;
   min-height: 55px;
}

#simulation .btn_list select{
   background: #fff;
    box-shadow: 2px 2px 4px #46444429;
    border: 1px solid #C7C7C7;
    border-radius: 5px;
}

#simulation .select_wrap::after {
   right: 30px;
   top: 50%;
   bottom: 50%;
   margin: auto 0;
}

#simulation select {
   -webkit-appearance: none;
   appearance: none;
}

#simulation select::-ms-expand {
   display: none;
}

#simulation input[type=radio]:checked+label {
   background-color: #0071BC;
   color: #fff;
   font-weight: bold;
}

#simulation .simulation_wrap hr {
   background-color: #C4CACD;
   height: 1px;
   margin: 40px 0px;
}

#simulation .btn_base{
   cursor: pointer;
}
#simulation .btn_base a:hover{
   color: #fff;
}

@media (max-width: 767px) {
   #simulation .simulation_wrap {
      padding: 40px 16px;
   }
   #simulation label, #simulation select {
      margin-bottom: 20px;
  }
  #simulation .select_wrap::after {
   right: 30px;
   top: 14px;
}
}

#simulation_result{
   display: none;
}

#simulation_result .result_title{
   font-size: 22px;
   font-weight: bold;
   text-align: center;
   margin-bottom: 60px;
}

#simulation_result .btn_area.flex-wrap{
   flex-wrap: wrap;
}

#simulation_result .btn_area.flex-wrap p{
   font-size: 20px;
}

#simulation_result .btn_base.btn_red{
   background: linear-gradient(90deg, #D93915 0%, #EB6C4F 100%);

}

.tbl_main {
   width: 100%;
   border-bottom: 1px solid #ccc;
   border-collapse: separate;
   background: #fff;
   font-size: 1.4rem;
   line-height: 1.3;
   margin: 0 0 25px;
   display: none;
 }
 .tbl_main th, .tbl_main td {
   border-top: 1px solid #ccc;
   border-right: 1px solid #ccc;
   vertical-align: middle;
   word-wrap: break-word;
   padding: 8px 5px;
   width: auto;
 }
 .tbl_main th,
 .tbl_main thead td {
   background: #434343;
   color: #fff;
   font-weight: bold;
   text-align: left;
   padding-right: 10px;
   padding-left: 10px;
 }
 .tbl_main th > sup,
 .tbl_main thead td > sup {
   font-weight: normal;
 }
 .tbl_main tr > :first-child {
   border-left: 1px solid #ccc;
 }
 .tbl_main td {
   text-align: center;
 }
 .tbl_main th > :last-child, .tbl_main td > :last-child {
   margin-bottom: 0;
 }
 .tbl_main thead > tr > th,
 .tbl_main thead > tr > td {
   font-size: 16px;
   text-align: center;
 }
 .tbl_main tbody > tr:nth-child(even) > td {
   background: #e1f2fa;
 }
 .tbl_main tfoot > tr > th {
   background: #ECF1F4;
   color: #4c4c4c;
   font-size: 16px;
   text-align: center;
   position: sticky;
   left: 0;
   z-index: 1;
 }
 .tbl_main tfoot > tr > td {
   background: #ffffe5;
 }
 
 .tbl_main .cell_index {
   width: 200px;
   position: sticky;
   left: 0;
   z-index: 1;
   font-size: 16px;
   text-align: center;
 }
 
 .tbl_main .cell_wid1em {
   width: 30px;
   border-right: 0;
   text-align: center;
   padding-right: 5px;
   padding-left: 5px;
   position: sticky;
   left: 0;
   z-index: 1;
 }
 
 .tbl_main .cell_sub {
   background: #7a7a7a;
   font-weight: normal;
   padding-right: 5px;
   padding-left: 5px;
   position: sticky;
   left: 30px;
   width: 200px;
 }
 
 .tbl_main .cell_wid1em + .cell_sub {
   border-left: 1px solid #ccc;
 }
 
 .tbl_main .cell_type {
   background: #1f3c66;
   text-align: center;
 }
 .tbl_main .cell_type_sub > * {
   border-top-style: dotted;
   background: #004e80;
 }
 .tbl_main .cell_type_sub > :first-child {
   border-left: 0;
 }
 
 .tbl_main .cell_add > tr > th {
   background: #4EA8DE;
 }
 .tbl_main .cell_add > tr > .cell_sub {
   background: #86BDDE;
 }
 .tbl_main .cell_add__txt {
   border-left: 0 !important;
   border-right: 0 !important;
   background: #fff !important;
   color: #0071BC;
   font-size: 1.6rem;
   font-weight: bold;
   text-align: center;
   position: unset;
   z-index: 1;
 }
 .tbl_main .cell_add__txt > span {
   padding: 0 0 0 35px;
   position: relative;
   display: inline-block;
 }
 /* + */
 .tbl_main .cell_add__txt > span:before,
 .tbl_main .cell_add__txt > span:after {
   content: '';
   background: #0071BC;
   position: absolute;
 }
 /* | */
 .tbl_main .cell_add__txt > span:before {
   width: 4px;
   height: 20px;
   top: 5px;
   left: 19px;
 }
 /* - */
 .tbl_main .cell_add__txt > span:after {
   width: 20px;
    height: 4px;
    top: 12px;
    left: 11px;
 }
 
 .tbl_main .cell_price > tr > td {
   color: #f23030;
   font-size: 1.6rem;
   font-weight: bold;
   padding: 10px;
 }
 .tbl_main .cell_price > tr:first-child > td {
   border-bottom-style: dotted;
 }
 .tbl_main .cell_price > tr > td:first-child {
   border-left: 0;
 }
 .tbl_main .cell_price > tr > td .num {
   font-size: 2.4rem;
   line-height: 1;
   letter-spacing: .1rem;
 }
 
 .tbl_main .cell_btn > td {
   border-top-style: dotted;
 }
 .tbl_main .cell_btn > :first-child {
   border-left: 0;
 }
 .tbl_main .cell_btn .btn_01 {
   letter-spacing: normal;
   white-space: nowrap;
   background-color: #D60000;
   border-radius: 40px;
   width: 130px;
   margin: 0 auto;
   box-shadow: 1px 2px 2px #890808a3;
 }

 a.apply_btn {
   color: #fff;
   font-size: 13px;
}

.apply_btn span b {
   font-size: 18px;
}
 
 .tbl_main .cell_tips {
   padding: 0 25px 0 0;
   position: relative;
   display: block;
 }

 .tbl_main .cell_sub .cell_tips {
   padding: 0 25px 0 0;
   position: absolute;
   display: block;
   top: 57%;
   bottom: 50%;
   right: 2px;
   margin: auto;
}
 .tbl_main .cell_tips > .icon_tips_01 {
   margin: -10px 0 0;
   position: absolute;
   top: 50%;
   right: 0;
 }
 .tbl_main .cell_wid1em .cell_tips {
   padding: 0 0 25px;
 }
 .tbl_main .cell_wid1em .cell_tips > .icon_tips_01 {
   margin: 0 -10px 0 0;
   top: auto;
   right: 50%;
   bottom: 0;
 }
 
 .tbl_main tbody > tr:nth-child(odd) > td {
   background: #fff;
 }

 .tbl_main tbody > tr:nth-child(even) > td {
   background: #ECF1F4;
 }
 .tbl_main .cell_type {
   background: #0071BC;
 }
 .tbl_main .cell_type_sub > * {
   background: #0071BC;
 }
 
 

 @media screen and (max-width: 767px) {
   .tbl_main th {
     padding: 6px 10px;
   }
   .tbl_main td {
     padding: 3px 5px;
   }
   .tbl_main thead > tr > th,
   .tbl_main thead > tr > td,
   .tbl_main tfoot > tr > th {
     font-size: 1.4rem;
   }
   .tbl_main tfoot > tr > th{
     position: static;
   }
   .tbl_main tbody > tr > td,
   .tbl_main tfoot > tr > td {
     white-space: nowrap;
   }
 
   .tbl_main .cell_index {
     width: auto;
     font-size: 1.4rem;
     position: static;
   }
 
   .tbl_main .cell_wid1em {
     width: 20px;
     font-size: 1.2rem;
     padding-right: 3px;
     padding-left: 3px;
     position: static;
   }
 
   .tbl_main .cell_sub {
         /* font-size: 1.2rem; */
    white-space: nowrap;
    position: relative;
    left: 0;
    padding-right: 24px;
   }
 
   .tbl_main .cell_type {
     text-align: left;
   }
 
   .tbl_main .cell_add__txt {
     font-size: 1.4rem;
     text-align: left;
     padding: 10px;
     position: static;
   }
   .tbl_main .cell_add__txt > span {
     padding: 2px 0 1px 40px;
   }
   /* | */
   .tbl_main .cell_add__txt > span:before {
      top: 6px;
      left: 18px;
   }
   /* - */
   .tbl_main .cell_add__txt > span:after {
      top: 14px;
      left: 10px;
   }
 
   .tbl_main .cell_price > tr > td {
     font-size: 1.4rem;
     padding: 5px;
   }
   .tbl_main .cell_price > tr > td .num {
     font-size: 1.5rem;
     letter-spacing: normal;
   }
 
   .tbl_main .cell_tips > .icon_tips_01 {
     width: 16px;
     margin: -8px 0 0;
   }
   .tbl_main .cell_wid1em .cell_tips {
     padding: 0 0 18px;
   }
   .tbl_main .cell_wid1em .cell_tips > .icon_tips_01 {
     margin: 0 -9px 0 0;
   }

   .tbl_scroll .cell_sub .tooltip{
      white-space: normal;
   }
   #simulation_result .btn_area.flex-wrap p{
      font-size: 16px;
   }
 }

 /* .tbl_scroll
----------------------------------------------- */
.tbl_scroll {
   margin: 0 0 25px;
   position: relative;
 }
 .tbl_scroll:before,
 .tbl_scroll:after {
   content: '';
   width: 30px;
   height: 100%;
   position: absolute;
   top: 0;
   z-index: 1;
   display: none;
 }
 .tbl_scroll:after {
   background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .1) 100%);
   background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .1) 100%);
   right: 0;
   height: calc(100% - 15px);
 }
 
 .tbl_scroll:before {
   background: -webkit-linear-gradient(left, rgba(0, 0, 0, .1) 0%, rgba(0, 0, 0, 0) 100%);
   background: linear-gradient(to right, rgba(0, 0, 0, .1) 0%, rgba(0, 0, 0, 0) 100%);
   height: calc(100% - 15px);
 }
 
 /*.tbl_scroll:before {
   background: -webkit-linear-gradient(left, rgba(0, 0, 0, .1) 0%, rgba(0, 0, 0, 0) 100%);
   background: linear-gradient(to right, rgba(0, 0, 0, .1) 0%, rgba(0, 0, 0, 0) 100%);
   left: 0;
 }
 
 .tbl_scroll.is_scroll_end,
 .tbl_scroll.is_scroll_midst {
   border-left: 1px solid #ccc;
 }
 .tbl_scroll.is_scroll_start,
 .tbl_scroll.is_scroll_midst {
   border-right: 1px solid #ccc;
 }*/
 
 .tbl_scroll_inner > :last-child {
   margin-bottom: 0;
 }
 
 .tbl_scroll_inner::-webkit-scrollbar,
 .tbl_scroll_inner::-webkit-scrollbar:horizontal {
   height: 14px;
   background: #ededed;
   border-radius: 10px;
 }
 .tbl_scroll_inner::-webkit-scrollbar-thumb,
 .tbl_scroll_inner::-webkit-scrollbar-thumb:horizontal {
   box-shadow: 0 0 0 1px #ededed inset;
   border-radius: 10px;
   background: #808080;
 }
 
 /* [data-table-scroll="on"] */
 .tbl_scroll[data-table-scroll="on"].is_scroll_end:before,
 .tbl_scroll[data-table-scroll="on"].is_scroll_start:after {
   display: block;
 }
 .tbl_scroll[data-table-scroll="on"] > .tbl_scroll_inner {
   width: 100%;
   overflow-x: auto;
 }
 .tbl_scroll[data-table-scroll="on"] > .tbl_scroll_inner > [class*="tbl_"] {
   width: 1440px;
   table-layout: auto;
   font-size: 16px;
 }
 
 @media screen and (max-width: 767px) {
   .tbl_scroll {
     border-width: 1px;
     margin: 0 0 20px;
   }
   .tbl_scroll_inner {
     width: 100%;
     overflow-x: auto;
     -webkit-overflow-scrolling: touch;
   }
 
   .tbl_scroll.is_scroll_end:before,
   .tbl_scroll.is_scroll_start:after {
     display: block;
   }
 
   .tbl_scroll[data-table-scroll] > .tbl_scroll_inner > [class*="tbl_"] {
     width: 100%;
   }
   .tbl_scroll:after {
     height: 100%;
   }
   .tbl_scroll:before {
     height: 100%;
   }
 }


@media (max-width: 767px) {

}


/*************************************
 *
 *ツールチップ
 *
 ************************************* */

 .cell_tips {
   position:relative;
}
.tooltip {
   width: 300px;
   padding: 10px;
   font-size: 14px;
   background-color: #0071bceb;
   color: #fff;
   font-weight: normal;
   position: absolute;
   right: 0;
   left: -138px;
   bottom: 60px;
   z-index: 10;
}
.tooltip:before {
   right: 50%;
   left: 43%;
   bottom: -36px;
   border: solid transparent;
   content: " ";
   height: 0;
   width: 0;
   position: absolute;
   border-color: rgba(102, 102, 102, 0);
   border-top-color: #0071bceb;
   border-width: 18px;
   margin-top: -8px;
}

.tbl_scroll .tooltip {
   width: 300px;
   padding: 10px;
   height: auto;
   font-size: 14px;
   background-color: #0071bceb;
   color: #fff;
   font-weight: normal;
   position: absolute;
   right: 0;
   left: 48px;
   bottom: -12px;
   z-index: 10;
}

.tbl_scroll .tooltip:before {
   right: 50%;
    left: -28px;
    bottom: 50%;
    top: 41%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    border-color: rgba(102, 102, 102, 0);
    border-right-color: #0071bceb;
    border-width: 14px;
    margin-top: -8px;
}

.tbl_scroll .cell_sub .tooltip {
   width: 500px;
   bottom: -66px;
   left: 60px;
   height: 130px;
   display: flex;
   align-items: center;
}
.tbl_scroll .cell_sub .tooltip::before {
   top: 44%;
}

/*************************************
 *
 *note
 *
 ************************************* */

#notes.simulation ul.asterisk {
   list-style: "※";
}

#notes.simulation ul.asterisk li::marker, #notes.simulation ol li::marker {
   font-size: 13px;
}

#notes.simulation ul li{
   margin: 6px 0;
}

#notes.simulation ul.asterisk li, #notes.simulation ol li {
   padding-left: 5px;
   margin-left: -13px;
}

