  /*
Theme Name:
*/
html {
    font-size: 62.5% !important;
    overflow-x: hidden;
    scroll-behavior: smooth;
  }
  
  html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,pre,address,em,img,small,strong,b,i,dl,dt,dd,ol,ul,li,form,label,table,caption,tbody,tfoot,thead,tr,th,td,article,canvas,footer,header,menu,nav,section,time,audio,video,figure,button {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
  }
  
  input[type="button"],
  input[type="text"],
  input[type="submit"],
  input[type="image"],
  textarea {
    -webkit-appearance: none;
    border-radius: 0;
    /* border: none; */
    border-radius: 0;
    background: inherit;
  }
  
  body {
    font-size: 1.6rem;
    font-weight: 400;
    font-family: fot-tsukubrdgothic-std, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-style: normal;
    color: #050505;
    font-feature-settings: "palt";
    line-height: 1.6;
    letter-spacing: 0.05em;
    /* overflow-x:hidden; */
  }
  
  small {
    display: block;
  }
  
  address {
    font-style: normal;
  }
  
  article,
  footer,
  header,
  menu,
  nav,
  section {
    display: block;
  }
  
  ul {
    list-style: none;
  }
  
  a {
    margin: 0;
    color: inherit;
    padding: 0;
    font-size: 100%;
    text-decoration: none;
    vertical-align: baseline;
    background: transparent;
  }
  
  a:link {
    transition: .3s;
  }
  
  a:link:hover {
    cursor: pointer;
  }
  
  table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  
  em,
  b {
    font-style: normal;
  }
  
  img {
    max-width: 100%;
    vertical-align: bottom;
  }
  
  hr {
    display: block;
    height: 1px;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
  }
  
  input,
  select {
    vertical-align: middle;
  }
  
  /* formreset */
  input,
  button,
  textarea,
  select {
    /* デフォルトスタイルをリセット */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-family: inherit;
    border-radius: 0;
    box-sizing: border-box;
    color: inherit;
  }
  
  :focus {
    outline: none;
  }
  
  label {
    /* iOSでのlabelとinput,select,textareaの関連付け */
    cursor: pointer;
  }
  
  /* スピンボタン非表示 chrome,safari */
  input[type="number"]::-webkit-outer-spin-button,
  input[type="number"]::-webkit-inner-spin-button,
  input[type="month"]::-webkit-outer-spin-button,
  input[type="month"]::-webkit-inner-spin-button,
  input[type="datetime-local"]::-webkit-outer-spin-button,
  input[type="datetime-local"]::-webkit-inner-spin-button,
  input[type="week"]::-webkit-outer-spin-button,
  input[type="week"]::-webkit-inner-spin-button,
  input[type="time"]::-webkit-outer-spin-button,
  input[type="time"]::-webkit-inner-spin-button,
  input[type="date"]::-webkit-outer-spin-button,
  input[type="date"]::-webkit-inner-spin-button {
    display: none;
  }
  
  /* スピンボタン非表示(firefox) */
  input[type="number"],
  input[type="month"],
  input[type="datetime-local"],
  input[type="week"],
  input[type="time"],
  input[type="date"] {
    -moz-appearance: textfield;
  }
  
  /* クリアボタン非表示 */
  input[type="date"]::-webkit-clear-button,
  input[type="month"]::-webkit-clear-button,
  input[type="datetime-local"]::-webkit-clear-button,
  input[type="time"]::-webkit-clear-button,
  input[type="week"]::-webkit-clear-button {
    -webkit-appearance: none;
  }
  
  @media screen and (max-width:1300px) {
    html {
      font-size: calc(1000vw / 1300) !important;
    }
  }
  
  @media screen and (max-width:768px) {
    html {
      font-size: calc(1000vw / 768) !important;
    }
  }
  
  @media screen and (max-width:560px) {
    html {
      font-size: calc(1000vw / 560) !important;
    }
  }
  
  /*//////////////////////////////
    layout
  //////////////////////////////*/
  
  /*//////////////////////////////
    common
  //////////////////////////////*/
  
  .en {
    font-family: century-gothic, sans-serif;
    font-weight: 700;
    line-height: 1;
  }
  
  .underline {
    text-decoration: underline;
  }
  
  .min {
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
  }
  /* section_common */
  .sec_wrap {
    margin: 12rem 0;
  }
  .sec_inner {
    max-width: 1600px;
    padding: 10rem 2rem;
    margin: auto;
  }
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
  .sec_ttl {
    margin: 0 0 7rem;
    text-align: center;
    position: relative;
  }
  .sec_ttl h3 {
    font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "sans-serif";
    font-size: 2.4rem;
    color: #0F3C82;
  }
  .sec_ttltxt {
    font-size: 3.6rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
  }
  .sec_subttl {
    margin-bottom: 5rem;
  }
  .sec_subttl h4 {
    font-size: 3rem;
    text-align: center;
    color: #0F3C82;
    position: relative;
    width: 350px;
    margin: auto;
  }
  .sec_subttl h4::before {
    position: absolute;
    content: "";
    display: inline-block;
    height: 40px;
    border: 1px solid #0F3796;
    transform: rotate( -25deg );
    left: 3vw;
    top: 0.5vw;
  }
  .sec_subttl h4::after {
    position: absolute;
    content: "";
    display: inline-block;
    height: 40px;
    border: 1px solid #0F3796;
    transform: rotate( 25deg );
    top: 0.5vw;
    right: 3vw;
  }
  
  /* btn */
  .btn {
    max-width: 36rem;
    box-sizing: border-box;
    width: 100%;
    margin: auto;
    display: block;
  }
  .btn a {
    color: #119aef;
    font-size: 2.4rem;
    font-weight: 600;
    border-radius: 10px;
    padding: 1.2rem 0;
    background: #FCEA00;
    box-shadow: 6px 6px 12px #172433;
    position: relative;
    display: block;
  }
  .btn a:hover {
    background: #119aef;
    color: #FCEA00;
  }
  .btn.sp_menu {
    max-width: 26rem;
    margin: 2rem auto;
  }
  @media screen and (max-width:768px) {
    .pc {
      display: none;
    }
    .sp {
      display: block;
    }
    .sec_ttl {
      text-align: center;
      padding: 3rem 0 0;
      font-size: 2.6rem;
    }
    .sec_ttl::before {
      top: 38px;
      left: 55px;
      height: 34px;
    }
  }
  @media screen and (max-width:560px) {
    .sec_subttl h4::before {
      height: 30px;
      left: 20vw;
    }
    .sec_subttl h4::after  {
      height: 30px;
      right: 20vw;
  }
  }
  
  /*//////////////////////////////
    header
  //////////////////////////////*/
  header {
    background-color: #FFFFFF;
    z-index: 12;
    width: 100%;
    position: sticky;
    top: 0;
  }
  .header_inner {
    max-width: 96%;
    margin: auto;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
  }
  header .main_header {
    display: flex;
    justify-content: space-between;
  }
  header .main_header .header_left {
    width: 100%;
  }
  /* .logo_area a {
    width: 200px;
    display: block;
  } */
  .logo_area .logo {
    background: url('../img/logo.svg') center / cover no-repeat;
    width: 200px;
    height: 29px;
    font-size: 0;
    display: block;
  }
  .menu {
    width: 55rem;
    box-sizing: border-box;
    font-size: 1.6rem;
    font-weight: 600;
  }
  .menu ul {
    display: flex;
    justify-content: space-around;
  }
  .menu a:hover {
    color: #E5D7C2;
    border-bottom: 1px solid #000;
  }
  .header_right {
    box-sizing: border-box;
    overflow: hidden;
    width: 100%;
  }
  .header_right ul{
    display: flex;
    justify-content: flex-end;
    position: relative;
  }
  .header_right li {
    box-sizing: border-box;
    width: 220px;
    height: 80px;
    text-align: center;
  }
  .header_right li:nth-child(1) {
    background: #119aef;
    position: relative;
  }
  .header_right li:nth-child(2) {
    background: #FCEA00;
    position: relative;
  }
  .header_right li p {
    font-size: 1.2rem;
    color: #FAE600;
    text-align: right;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .header_right li .contact_txt {
    color: #119aef;
    line-height: 1.2rem;
  }
  .header_right li a {
    display: block;
    position: absolute;
    width: 100%;
  }
  .header_right li a:nth-child(1) {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .header_right li a:nth-child(2) {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .header_right img,
  .header_contact img{
    width: 27px;
    margin: 0 5px 5px 0;
  }
  .c_yellow {
    color: #FCEA00;
    font-size: 2.4rem;
    letter-spacing: 0.01em;
    font-weight: 600;
  }
  .c_blue {
    color: #119aef;
    font-size: 2.2rem;
    letter-spacing: 0.01em;
    font-weight: 600;
  }
  
  @media screen and (max-width:1200px) {
  .logo_area a {
    max-width: 20rem;
   }
   .header_right li {
     width: 220px;
   }
   .header_right img,
   .header_contact img {
    width: 20px;
   }
  }
  @media screen and (max-width:1100px) {
  .header_inner {
    padding: 2rem 0;
  }
  }
  @media screen and (max-width:768px) {
  .logo_area .logo {
    width: 148px;
    height: 22px;
   }
  .tel_sp {
    margin-right: 7rem;
  }
  .tel_sp img {
    width: 20px;
    vertical-align: sub;
    margin-right: 2px;
  }
  .tel_sp span {
    font-size: 2.4rem;
    letter-spacing: 0.01em;
    font-weight: 600;
  }
  .menu {
    display:none;
  }
  .submenu {
    position: relative;
  }
  #menu-btn-check {
    display: none;
  } 
  .menu-btn {
    position: absolute;
    right: -8px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    height: 50px;
    width: 50px;
    justify-content: center;
    align-items: center;
    z-index: 99;
    background-color: #119aef;
  }
  
  .menu-btn span,
  .menu-btn span:before,
  .menu-btn span:after {
    content: '';
    display: block;
    height: 2px;
    width: 30px;
    background-color: #fff;
    position: absolute;
  }
  .menu-btn span:before {
    top: 13px;
  }
  .menu-btn span:after {
    bottom: 13px;
  }
  
  #menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
    }
    #menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg) translate(-11px, -11px);
    background-color: #fff;
    }
    #menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
    background-color: #fff;
    }
    #menu-btn-check:checked ~ .menu_inner {
      right: 0;
      top: 88px;
      }
  .menu_inner {
  background: #119aef;
  max-width: 300px;
  width: 100%;
  position: fixed;
  top: 0;
  left: 100%;
  margin-left: auto;
  z-index: 80;
  transition: 0.5s;
  }
  .mainmenu {
  display: flex;
  flex-direction: column;
  max-width: 100%;
  margin: 5rem 2rem;
  font-size: 1.4rem;
  color: #fff;
  }
  .mainmenu li {
  padding-bottom: 2rem;
  font-size: 2rem;
  }
  .mainmenu li:nth-child(4) {
    border-bottom: 1px solid #fff;
  }
  .mainmenu li:nth-child(5) {
    padding-top: 2rem;
  }
  }
  
  /*//////////////////////////////
    footer
  //////////////////////////////*/
  footer {
    background: #E6E6E6;
  }
  .footer_common {
    background: #0F3796;
  }
  footer .footer_common {
    color: #fff;
    padding: 8rem 2rem;
  }
  .footer_cv-sec_subttl {
    color: #fff;
    font-size: 2.8rem;
    margin-bottom: 2rem;
    position: relative;
    text-align: center;
    width: 700px;
    margin: 0 auto 2rem;
  }
  .footer_cv-sec_subttl::before {
    content: "";
    display: block;
    width: 1px;
    height: 1px;
    height: 70px;
    top: -1.5vw;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
    left: -1vw;
    background-color: #fff;
  }
  .footer_cv-sec_subttl::after {
    content: "";
    display: block;
    width: 1px;
    height: 1px;
    height: 70px;
    top: -1.5vw;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    right: -1vw;
    background-color: #fff;
  }
  .footer_btn.btn {
    max-width: 40rem;
    margin: 0 auto 4rem;
  }
  .contact_txt {
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.2rem;
    font-weight: 400;
  }
  .footer_common .footer_txt {
    text-align: center;
    font-weight: 600;
    font-size: 2rem;
  }
  .footer_tel {
    text-align: center;
    margin-bottom: 2rem;
  }
  .footer_tel span {
    font-size: 3.8rem;
    font-weight: 600;
  }
  .footer_tel img {
    width: 27px;
    padding-bottom: 1.5rem;
    padding-right: 0.5rem;
  }
  .footer_tel p {
    display: inline-block;
    font-weight: 600;
  }
  .footer_menu ul {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: #F2F2F2;
  }
  .footer_menu ul li {
    text-align: center;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium","メイリオ", sans-serif;
    font-size: 1.8rem;
    font-weight: 600;
    padding: 1.5rem;
    border-bottom: 1px solid #999;
  }
  .footer_menu ul li a {
    display: block;
  }
  .footer_area_img-area {
    text-align: center;
    margin: 5rem 0 0;
    width: 100%;
  }
  .footer_area_img-area img {
    width: 250px;
  }
  .footer_cv-item {
    display: flex;
    justify-content: space-between;
    padding: 1.5rem;
    max-width: 1200px;
    margin: 0 auto 3rem;
    gap: 2rem;
  }
  .footer_cv-list {
    border: 1px solid #fff;
    border-radius: 12px;
    width: calc(100% / 3 - 1rem);
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .footer_cv-list .btn {
    margin: 0 auto;
  }
  .footer_cv-ttl {
    text-align: center;
    font-weight: 600;
    font-size: 2rem;
  }
  .footer_cv-txt {
    text-align: center;
    font-size: 2rem;
    margin-bottom: 1rem;
  }
  .footer_cv-line-link {
    width: 50px;
    display: block;
    margin: 0 auto;
  }
  /* FAX */
  .footer_fax {
    margin-top: 1rem;
    margin-bottom: 3rem;
    display: flex;
    justify-content: center;
    align-items: end;
    gap: 1rem;
  }
  .footer_fax-number {
    position: relative;
    display: inline-block;
    padding-left: 3rem;
    line-height: 1;
  }
  .footer_fax-number span {
    font-size: 3.8rem;
    font-weight: 600;
  }
  .footer_fax-number::before {
    font-family: "Font Awesome 5 Free";
    content: "\f1ac";
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 2rem;
  }
  .footer_fax-txt {
    font-weight: 600;
  }
  .footer_text-item-area {
    width: 1000px;
    margin: 0 auto;
  }
  .footer_text-item-txt {
    line-height: 2;
  }
  .footer_area .footer_txt {
    text-align: center;
    font-weight: 600;
    font-size: 2rem;
    margin-top: 8rem;
  } 
  .footer_inner .f_logo {
  width: 100px;
  margin: auto;
  padding: 2rem 0 3rem;
  text-align: center;
  }
  .footer_inner .f_logo_name {
    text-align: center;
    margin-bottom: 2rem;
  }
  .footer_inner .f_logo_name img {
    max-width: 350px;
  }
  .footer_inner .address {
    text-align: center;
    margin-bottom: 3rem;
  }
  .footer_inner .f_nav {
    max-width: 800px;
    margin: 0 auto 5rem;
  }
  .footer_inner .f_nav ul {
    display: flex;
    justify-content: space-between;
    padding: 0px 5rem;
  }
  .footer_inner .f_nav ul li {
    font-weight: 600;
    position: relative;
  }
  .footer_inner .f_nav ul li:nth-child(1)::after,
  .footer_inner .f_nav ul li:nth-child(2)::after,
  .footer_inner .f_nav ul li:nth-child(3)::after{
    position: absolute;
    content: "";
    display: block;
    right: -2rem;
    bottom: 0;
    height: 2rem;
    border: 1px solid #000;
  }
  .footer_inner .number {
    text-align: center;
    margin-bottom: 3rem;
  }
  .copy {
    margin-left: 2rem;
    padding-bottom: 2rem;
  }
  .footer_inner .top_back {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 70px;
    }
  
  /* sns */
  .sns {
    margin-bottom: 3rem;
  }
  .sns-item {
    display: flex;
    gap: 20px;
    max-width: 600px;
    margin: 0 auto;
    justify-content: center;
  }
  .sns-list {
    width: 50px;
  }
  
  @media screen and (max-width:768px) {
  .footer_tel img {
    padding-bottom: 1rem;
  }
  .footer_common .sec_ttl {
    padding: 0;
    margin-bottom: 0 0 4rem;
  }
  .sec_ttltxt {
    font-size: 3rem;
  }
  .footer_area {
    padding-bottom: 10rem;
  }
  footer .sec_subttl h4::before,
  footer .sec_subttl h4::after{
    height: 40px;
  }
  footer .sec_subttl h4::before {
    left: 10vw;
  }
  footer .sec_subttl h4::after {
    right: 10vw;
  }
  .footer_inner .f_logo {
    width: 60px;
  }
  .footer_inner .f_logo_name {
    padding: 0 12rem;
  }
  .footer_inner .top_back {
    width: 45px;
    bottom: 8.7rem;
    z-index: 9;
  }
  .footer_contact {
    position: fixed;
    bottom: 0;
    text-align: center;
    background: #119aef;
    width: 100%;
    box-sizing: border-box;
    z-index: 9;
  }
  .footer_contact ul {
    display: flex;
    justify-content: center;
    padding: 2rem 3.7rem;
  }
  .footer_contact ul li {
    border-radius: 10px;
    padding: 1.5rem 1rem;
    margin: 0 1rem;
  }
  .footer_contact ul li:nth-child(1) {
    border: 1px solid #FAE600;
  }
  .footer_contact ul li:nth-child(2) {
    padding: 1.7rem 2rem;
    background: #FAE600;
  }
  .footer_contact ul li:nth-child(2) .c_blue {
    font-size: 2.4rem;
  }
  .footer_contact a {
    display: block;
  }
  .footer_contact img {
    width: 27px;
    vertical-align: sub;
  }

  .footer_cv-sec_subttl {
    width: 80%;
  }
  .footer_cv-item {
    flex-direction: column;
    width: 100%;
  }
  .footer_cv-list {
    width: 100%;
    box-sizing: border-box;
  }
  .footer_cv-list:nth-of-type(2),
  .footer_cv-list:nth-of-type(3) {
    gap: 2rem;
  }
  .footer_cv-line-link {
    width: 50px;
    display: block;
    margin: 0 auto;
  }
  /* FAX */
  .footer_fax {
    align-items: center;
    flex-direction: column;
  }
  .footer_fax-number {
    position: relative;
    display: inline-block;
    padding-left: 3rem;
    line-height: 1;
  }
  .footer_fax-number span {
    font-size: 3.8rem;
    font-weight: 600;
  }
  .footer_fax-number::before {
    font-family: "Font Awesome 5 Free";
    content: "\f1ac";
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 2rem;
  }
  .footer_fax-txt {
    font-weight: 600;
  }
  .footer_text-item-area {
    width: 100%;
  }
  .footer_text-item-txt {
    line-height: 2;
    font-size: 1.8rem;
  }
  }
  
  @media screen and (max-width:560px) {
    .footer_contact ul {
      justify-content: space-between;
      padding: 1rem 3rem;
    }
    .footer_contact img {
    width: 20px;
    margin-right: 2px;
  }
  }
  @media (min-width: 769px) {
    .footer_contact ul li:nth-child(1) [href*="tel:"] {
      pointer-events: none;
      cursor: default;
      text-decoration: none;
    }
  }


