@charset "UTF-8";
/*
Theme Name: Twenty Twenty
Text Domain: twentytwenty
Version: 2.2
Tested up to: 6.2
Requires at least: 4.7
Requires PHP: 5.2.4
Description: Our default theme for 2020 is designed to take full advantage of the flexibility of the block editor. Organizations and businesses have the ability to create dynamic landing pages with endless layouts using the group and column blocks. The centered content column and fine-tuned typography also makes it perfect for traditional blogs. Complete editor styles give you a good idea of what your content will look like, even before you publish. You can give your site a personal touch by changing the background colors and the accent color in the Customizer. The colors of all elements on your site are automatically calculated based on the colors you pick, ensuring a high, accessible color contrast for your visitors.
Tags: blog, one-column, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready, block-patterns, block-styles, wide-blocks, accessibility-ready
Author: the WordPress team
Author URI: https://wordpress.org/
Theme URI: https://wordpress.org/themes/twentytwenty/
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

All files, unless otherwise stated, are released under the GNU General Public
License version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html)

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned
with others.
*/
@charset "UTF-8";
html{
  font-size: 16px!important;
  line-height: 1.95;
}
@media screen and (min-width:1025px) {
  html{
    font-size: 17px!important;
    line-height: 2.0;
  }
}
body{
  color: #373839;
  font-family: 'Montserrat', sans-serif;
  font-family: 'Noto Sans JP', sans-serif;
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-x: hidden;
}
.pc{display: none;}
.sp {display: block;}
@media screen and (min-width:1025px) {
  .sp {display: none;}
  .pc {display: block;}
  a {transition: opacity 0.3s ease-out;}
  a:hover {
    opacity: .5;
    text-decoration: none;
  }
}
.container {
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
  padding-left: calc(2.94117vw + 14px);
  padding-right: calc(2.94117vw + 14px);
}
main{
  overflow: hidden;
}
/********ボタン********/
.btn_link{
  background: #46b46e;
  color: #fff;
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  transition: all .3s ease-out;
}
.btn_link--bk{
  position: relative;
  overflow: hidden;
  outline: none;
  border-radius: 50px;
  border: solid 2px #373839;
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  color: #373839;
  cursor: pointer;
  transition: all .3s ease-out;
  z-index: 1;
}
.btn_link--bk:after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50px;
} 
.btn_link--wh{
  position: relative;
  overflow: hidden;
  outline: none;
  border-radius: 50px;
  text-align: center;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  cursor: pointer; 
  transition: all .3s ease-out;
  z-index: 1;
}
.btn_link--wh:after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50px;
  border: solid 2px #fff;
} 
.btn_anime{
  transition: background-color 0s;
}
@media screen and (min-width:1025px) {
  .btn_link:hover{
    opacity: 1;
    transition: all .3s ease-out;
  }
  .btn_link--bk.btn_anime:hover{
    color: #fff;
    border: 2px solid #46b46e;
    opacity: 1;
  }
  .btn_link--wh.btn_anime:hover,
  .link_list a:hover .btn_link--wh.btn_anime{
    color: #46b46e;
    opacity: 1;
  }
  .btn_link--bk.btn_anime:before,
  .btn_link--wh.btn_anime:before{
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    top: -2px;
    right: -2px;
    bottom: -2px;
    left: -2px;
    margin: auto;
    border-radius: 999px;
    opacity: 0;
    transition: opacity .35s cubic-bezier(.23,1,.58,1),-webkit-transform .5s cubic-bezier(.23,1,.58,1);
    transition: opacity .35s cubic-bezier(.23,1,.58,1),transform .5s cubic-bezier(.23,1,.58,1);
    transition: opacity .35s cubic-bezier(.23,1,.58,1),transform .5s cubic-bezier(.23,1,.58,1),-webkit-transform .5s cubic-bezier(.23,1,.58,1);
    transform: scale(0);
    will-change: transform;
  }
  .btn_link--bk.btn_anime:before{
    background: #46b46e;
    border: none;
  }

  .btn_link--wh.btn_anime:before{
    background-color: #fff;
    border: solid 2px #fff;
  }
  .btn_link--bk.btn_anime:hover:before,
  .btn_link--wh.btn_anime:hover:before,
  .link_list a:hover .btn_link--wh.btn_anime:before{
    opacity: 1;
    transition: all .3s cubic-bezier(.23,1,.58,1);
    transform: scale(1);
  }
}
/********見出し********/
.title{
  margin-bottom: 18px;
  font-size: 1.9rem;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  line-height: 1.0;
}
.title span{
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  display: block;
  margin-top: 10px;
}
.heading{
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
@media screen and (min-width:600px) {
  .title{
    font-size: 2.5rem;
  }
  .title span{
    margin-top: 20px;
  }
  .heading{
    font-size: 1.5rem;
  }
}
@media screen and (min-width:1025px) {
  .title{
    margin-bottom: 20px;
    font-size: 3.75rem;
  }
  .heading{
    font-size: 2.25rem;
  }
}
.color_heading {
  background: #f7f8f9;
  margin-top: 76px;
  padding: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width:1025px) {
  .color_heading {
    margin-top: 100px;
    padding: 100px;
  }
}
.color_heading h1{
  margin-bottom: 0;
  font-size: 1.9rem;
  line-height: 1.6;
  text-align: center;
}
.color_heading h1 span{
  margin-bottom: 10px;
  letter-spacing: 0.1em;
}
@media screen and (min-width:1025px) {
  .color_heading h1{
    font-size: 2.2rem;
  }
}
@media screen and (min-width:1025px) {
  .color_heading h1{
    font-size: 3.125rem;
  }
}
/********共通アニメーション********/
.slide_anime {
  position: relative;
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (min-width:1025px) {
  .slide_anime::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background:#fff;
    content: "";
    transition: 1s;
    transform: translateX(0%);
    z-index: 999;
  }
  .slide_anime.show::before {
    transform: translateX(101%);
    transition: all 1.5s cubic-bezier(.77,0,.175,1);
  }
}
@media screen and (min-width:1025px) {
  .fadein {
    opacity: 0;
    transform: translateY(calc(2.24117vw + 40px));
    transition: opacity 1s cubic-bezier(.215, .61, .355, 1);
    transition: transform 2s cubic-bezier(.215, .61, .355, 1), opacity 1s cubic-bezier(.215, .61, .355, 1);
  }
  .is-fadein{
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}
@keyframes appear {
  0% {opacity: 0;}
  100% {opacity: 1;}
}
/********header********/
.hd{
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  font-family: 'Montserrat', sans-serif;
  transition: opacity 0.1s linear;
}
.hd_wrap{
  height: 76px;
  padding: 0 20px 0 15px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap:30px;
}
@media screen and (min-width:1025px) {
  .hd{
    padding: 0 0 0 30px;
  }
  .hd_wrap {
    height: 100px;
    margin: 0 auto;
    padding: 0;
  }
  .headerScroll .hd_wrap{
    height: 100px;
  } 
}
.hd_logo{
  width: 180px;
  margin: 0 auto 0 0;
}
.hd_logo svg{
  fill: #fff;
  display: block;
}
.noscroll .hd_logo svg,
.headerScroll .hd_logo svg,
.mv_none .hd_logo svg{
  fill: #373839;
}
@media screen and (min-width:1025px) {
  headerScroll .hd_logo svg,
  .hd:hover .hd_logo svg{
    fill: #373839;
  }
}
@media screen and (min-width:600px) {
  .hd_logo{
    width: 260px;
    margin: 0 auto 0 0;
  }
  .hd_inner{
    padding: 0;
    display: flex;
    align-items: flex-end;
    gap: 0 30px;
  }
}
.hd_menu{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.hd-trans_list{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  order: 2;
}
.hd-trans_item a{
  color: #fff;
  font-size: 0.875rem;
  font-weight: 400;
  position: relative;
}
@media screen and (max-width:1024px) {
  .hd-trans_list{
    margin-bottom: 40px;
  }
  .hd-trans_item a{
    color: inherit;  
    padding: 0 20px;
  }
  .hd-trans_item a:after,
  .hd-trans_item:first-child a:before{
    content: "";
    border-right: solid 1px #e7e8e9;
    height: 18px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .hd-trans_item:first-child a:before {
    right: inherit;
    left: 0;
  }
}
.hd_list{
  width: 100%;
  margin-bottom: 40px;
  order: 1;
}
@media screen and (min-width:1025px) {
  .hd_menu{
    border-top: none;
    justify-content: flex-end;
  }
  .hd-trans_list{
    padding: 0;
    gap: 0 40px;
    order: 1;
  }
  .hd_list{
    width: 100%;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    order: 2;
  }
}
.hd_item{
  width: 100%;
  flex: 1;
  position: relative;
}
.hd_item > a{
  padding: 20px;
  font-weight: 700;
}
@media screen and (max-width:1024px) {
  .hd_item > a{
    border-top: 1px solid #e7e8e9;
  }
  .hd_item:last-child{
    border-bottom: 1px solid #e7e8e9;
  }
  .hd_item.arrow:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 32px;
    width: 10px;
    height: 10px;
    margin-top: -4px;
    border-top: solid 2px #373839;
    border-right: solid 2px #373839;
    border-radius: 1px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}
@media screen and (min-width:1025px) {
  .hd_item{
    width: inherit;
    display: block;
    text-align: center;
    position: inherit;
    border-bottom: 0;
  }
  .hd_item > a{
    position: relative;
    padding: 16px;
    border-bottom: none;
    color: #fff;
  }
  .hd_item > a:after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: '';
    width: 100%;
    height: 3px;
    background: #46b46e;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform 0.3s;
  }
  .hd_item > a:hover:after {
    transform: scale(1, 1);
  }
  .hd_item a > span:after,
  .hd_item:first-child a > span:before{
    content:"";
    border-right: solid 2px #e7e8e9;
    height: 18px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .hd_item:first-child a span:before{
    right: inherit;
    left: 0;
  }
  .hd:hover .hd_item a,
  .hd:hover .hd-trans_item a{
    opacity: 1;
    color: #373839;
  }
/********メガメニュー中身*******/
  .hd_list .hd_item:hover .menu,
  .hd_list .menu:hover {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    top: 100px;
    left: 0;
    margin-left: auto;
    margin-right: auto;
    padding-top: 70px;
    padding-bottom: 70px;
    padding-left: calc(2.94117vw + 14px);
    padding-right: calc(2.94117vw + 14px);
    background: #fff;
    box-shadow: 0 6px 10px rgb(0 0 0 / 4%);
  }
  .hd_list .menu {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    width: 100%;
    position: absolute;
    top: 100px;
    left: 0;
    animation-name: pagefade;
    animation-duration: 0.3s;
    animation-delay: 0.8s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
  }
  .hd_list .menu .menu_inner {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0 80px;
    max-width: 1360px;
    margin: 0 auto;
  }
  .hd_list .menu .menu_inner li {
    flex: 1;
    font-size: 1.125rem;
    text-align: left;
  }
  .hd_list .menu a {
    padding-right: 20px;
    padding-bottom: 18px;
    position: relative;
    letter-spacing: 0.08em;
    font-weight: 700;
  }
  .menu_inner li a:before, .menu_inner li a:after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    top: auto;
    bottom: 0;
  }
  .menu_inner li a:before {
    background: rgba(55, 56, 57, .1);
  }
  .menu_inner li a:after {
    width: 0;
    left: auto;
    right: 0;
    background: #46b46e;
    transition-duration: .4s;
    transition-timing-function: cubic-bezier(55, 56, 57, 1);
  }
  .menu_inner li a:hover:after {
    width: 100%;
    right: auto;
    left: 0;
  }
  .menu_inner li a .arrow {
    width: 22px;
    height: 2px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition-duration: .3s;
    transition-timing-function: cubic-bezier(.075, .82, .165, 1);
  }
  .menu_inner li a .arrow > span {
    display: block;
    position: absolute;
    height: 100%;
    top: 0;
    right: 0;
    overflow: hidden;
    border-radius: 2px;
  }
  .menu_inner li a .arrow > span:after,
  .menu_inner li a .arrow > span:before {
    background: #373839;
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition-duration: .3s;
    transition-timing-function: cubic-bezier(.075, .82, .165, 1);
  }
  .menu_inner li a:hover .arrow {
    transform: translateY(-50%) translateX(4px);
  }
  .menu_inner li a .arrow span:nth-child(1) {
    width: 50%;
    transform: rotate(38deg) translateY(20%);
    transform-origin: right center;
  }
  .menu_inner li a:hover .arrow span:nth-child(1):after {
    transition-delay: .1s;
    background: #46b46e;
  }
  .menu_inner li a .arrow span:nth-child(2) {
    width: 100%;
  }
  .menu_inner li a:hover .arrow span:nth-child(2):after {
    transition-delay: .15s;
    background: #46b46e;
  }
  .menu p {
    width: 1360px;
    margin: 0 auto 40px;
    font-family: 'Montserrat', sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    text-align: left;
  }
  .menu span {
    display: inline-block;
    margin-left: 40px;
    letter-spacing: 0.1em;
    font-size: 0.875rem;
    font-weight: 700;
  }
}
.js-dropdown{
  display: none;
}
/********SPアコーディオンメニュー********/
@media screen and (max-width:1024px) {
  .js-dropdown{
    width: 68px;
    height: 68px;
    position: absolute;
    right: 0;
    top: 0;
    display: block;
  }
  .js-dropdown:before {
    position: absolute;
    content: "";
    display: block;
    width: 10px;
    height: 2px;
    background-color: #373839;
    right: 25px;
    top: 50%;
    transform: translate(-50%, -50%);
  }
  .js-dropdown:after {
    position: absolute;
    content: "";
    display: block;
    width: 10px;
    height: 2px;
    background-color: #373839;
    top: 50%;
    right: 25px;
    transform: translate(-50%, -50%) rotate(90deg);
  }
  .dropdown {
    display: none;
    padding-bottom: 20px;
  }
  .hd_item.open .dropdown{
    display: block;
  }
  .dropdown li{
    padding: 0 40px;
  }
  .dropdown li a{
    padding: 15px 0;
  }
  .hd_item.open .js-dropdown:after{
    display: none;
  }
}
.hd_contact{
  margin-bottom: 40px;
}
.hd_contact a{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
  width: 80%;
  margin: 0 auto;
  padding: 20px;
  background: #46b46e;
  border-radius: 50px;
  color: #fff;
  text-align: center;
}
.hd_contact a:after{
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  width: 10px;
  height: 10px;
  margin-top: -4px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  border-radius: 1px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (min-width:1025px) {
  .hd_contact{
    margin-bottom: 0;
  }
  .hd_contact a{
    width: 100px;
    height: 100px;
    border-radius: 0;
    font-size: 0.750rem;
    transition: all .3s ease-out;
  }
  .hd_contact a:after{
    display: none;
  }
  .hd_contact span:before {
    content: "";
    display: block;
    width: 100px;
    height: 24px;
    margin-bottom: 4px;
    background: url("../img/icon_mail.svg") no-repeat;
    background-position: center;
    background-size: contain;
  }
}
.noscroll header,
.headerScroll header,
.mv_none header{
  background:#fff;
  box-shadow: 0 6px 10px rgb(0 0 0 / 4%);
  animation:slideDown .8s ease 0s 1 normal;
}
@media screen and (min-width:1025px) {
  .headerScroll .hd_item a,
  .headerScroll .hd-trans_item a,
  .mv_none .hd_item a,
  .mv_none .hd-trans_item a{
    color: inherit;
  }
  .hd:hover{
    background:#fff;
    box-shadow: 0 6px 10px rgb(0 0 0 / 4%);
    animation:slideDown .8s ease 0s 1 normal;
  }
}
/********ハンバーガーメニュー********/
@media screen and (max-width:1024px) {
  .js-toggle {
    width: 56px;
    height: 56px;
    margin-right: -16px;
    background: 0 0;
    border: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  .js-hbg {
    position: relative;
    width: 22px;
    height: 10px;
    margin: 3px 0 6px;
  }
  .js-hbg span {
    background: #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 2px;
    margin: auto;
    -webkit-transition: -webkit-transform .5s;
    transition: -webkit-transform .5s;
    transition: transform .5s;
    transition: transform .5s, -webkit-transform .5s;
    z-index: 999999;
    backface-visibility: hidden;
  }
  .noscroll .js-hbg span,
  .headerScroll .js-hbg span,
  .mv_none .js-hbg span {
    background: #373839;
  }
  .js-hbg span:nth-child(1) {
    -webkit-transform: translateY(-6.5px);
    transform: translateY(-6.5px);
  }
  .js-hbg span:nth-child(3) {
    -webkit-transform: translateY(6.5px);
    transform: translateY(6.5px);
  }
  .toggle_line {
    position: relative;
    color: #373839;
    font-size: .625rem;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1;
    -webkit-transform: scale(.8);
    transform: scale(.8);
  }
  .js-toggle {
    transform: translateX(0);
  }
  .js-nav.open + .js-toggle span:nth-child(1) {
    -webkit-transform: rotate(40deg);
    transform: rotate(40deg);
  }
  .js-nav.open + .js-toggle  span:nth-child(2) {
    display: none;
  }
  .js-nav.open + .js-toggle  span:nth-child(3) {
    -webkit-transform: rotate(-40deg);
    transform: rotate(-40deg);
  }
  .toggle_line-close {
    display: none;
  }
  .open .toggle_line-open {
    display: none;
  }
  .open .toggle_line-close {
    display: block;
  }
  /* ハンバーガー背景固定 */
  #top.noscroll {
    overflow: hidden;
  }
  .js-nav {
    width: 100%;
    background: #fff;
    overflow-y: scroll;
    position: absolute;
    top: 76px;
    left: 0;
    z-index: 10;
    height: calc(100vh - 76px);
    display: none;
  }
  .js-nav.open {
    display: block;
  }
}
@media screen and (min-width:1025px) {
  .toggle {
    display: none;
  }
}
/********メインビジュアル********/
.mv:after {
  width: 100%;
  height: 100vh;
  height: 100svh;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: rgb(0, 0, 0,0.4);
}
/********contact********/
.contact{
  padding: 60px 0;
  background-image: url( "../img/c-bg-sp.webp");
  background-size: cover;
}
.contact:after {
  width: 100%;
  height: 100vh;
  height: 100svh;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.5);
}
.contact .container{
  position: inherit;
  z-index: 99;
  padding: 0;
}
@media only screen and (min-width: 1025px) {
  .contact{
    padding: 120px 0;
    background-image: url( "../img/c-bg-pc.webp");
    background-size: cover;
  }
  .contact .container{
    padding-left: calc(2.94117vw + 14px);
    padding-right: calc(2.94117vw + 14px);
  }
}
.contact hgroup{
  text-align: center;
  color: #fff;
}
.contact .title{
  margin-bottom: 40px;
}
.contact .title span{
  margin-bottom: 10px;
}
@media screen and (min-width:1025px) {
  .contact .title{
    margin-bottom: 80px;
  }
.contact .title span{
  margin-bottom: 20px;
}
}
.contact_list{
  position: relative;
}
.contact_list li{
  text-align: center;
  color: #fff;
}
.contact_list li:nth-child(1) {
  padding: 10px 0;
}
.contact_list li:nth-child(2) {
  padding: 40px 0 20px 0;
}
@media screen and (min-width:1025px) {
  .contact_list{
    display: flex;
    justify-content: space-around;
  }
  .contact_list:after {
    content: "";
    position: absolute;
    height: 100%;
    left: 50%;
    top: 0;
    border-right: 1px solid #fff;
  }
  .contact_list li{
    width: calc(80% /2);
  }
  .contact_list li:nth-child(1) {
    padding: 0;
    border-bottom: 0;
  }
  .contact_list li:nth-child(2) {
    padding: 0;
  }
}
.contact_list h2{
  font-weight: 700;
  margin-bottom: 20px;
}
.contact_tel{
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 2.75rem;
  line-height: 1.4;
}
.contact_btn{
  padding-left: calc(2.94117vw + 14px);
  padding-right: calc(2.94117vw + 14px);
}
.contact_list li .btn_link--wh{
  width: 80%;
  margin: 0 auto;
  padding: 14px;
  font-weight: 700;
  background: #fff;
  color: #373839;
    border: 0;
}
@media screen and (min-width:1025px) {
  .contact_list li .btn_link--wh{
    width: 350px;
    padding: 20px;
  }
  .contact_list .btn_link--wh.btn_anime:before{
    background-color: #46b46e;
    border: 0;
  }
  .contact_list .btn_link--wh.btn_anime:hover:after{
    border: 0;
  }
  .contact_list .btn_link--wh.btn_anime:hover,
  .contact_list .link_list a:hover .btn_link--wh.btn_anime{
    color: #fff;
    opacity: 1;
  }
  .contact_btn{
    padding: 0;
  }
}
/********footer********/
.ft_wrap{
  margin: 60px 0 10px 0;
  background: #fff;
}
.ft_list{
  display: flex;
  justify-content: center;
}
.ft_list p{
  font-size: 0.750rem;
}
@media screen and (min-width:1025px) {
  .ft_wrap{
    margin: 120px 0 80px;
  }
  .ft_list > li:first-child{
    width: 35%;
  }
  .ft_list > li:last-child {
    width: 60%;
  }
  .ft_list > li:first-child p {
    width: 190px;
    text-align: center;
  }
}
.ft_logo{
  width: 120px;
  margin-bottom: 30px;
}
.ft_logo svg{
  fill: #373839;
}
small{
  display: block;
  padding: 10px 0 30px;
  font-size: 0.750rem;
}
@media screen and (min-width:1025px) {
  .ft_logo{
    width: 190px;
    margin-bottom: 60px;
  }
  small{
    padding: 10px 0 0;
  }
  .ft-menu{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .ft-menu_list{
    width: calc(100% /3);
    margin-bottom: 60px;
    padding-left: 40px;
  }
  .ft-menu_list:nth-child(4),
  .ft-menu_list:nth-child(5){
    margin-bottom: 0;
  }
  .ft-menu_list li{
    list-style: "-";
    margin-bottom: 5px;
    padding-left: 8px;
    font-size: 0.875rem;
  }
  .ft-menu_list li:last-child{
     margin-bottom: 0;
  }
  .ft-menu_list p{
    margin-bottom: 10px;
    font-size: 1.25rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
  }
}
/********wordpress********/
body, input, textarea, button, .button, .faux-button, .faux-button.more-link, .wp-block-button__link, .wp-block-file__button, .has-drop-cap:not(:focus)::first-letter, .entry-content .wp-block-archives, .entry-content .wp-block-categories, .entry-content .wp-block-cover-image, .entry-content .wp-block-cover-image p, .entry-content .wp-block-latest-comments, .entry-content .wp-block-latest-posts, .entry-content .wp-block-pullquote, .entry-content .wp-block-quote.is-large, .entry-content .wp-block-quote.is-style-large, .entry-content .wp-block-archives *, .entry-content .wp-block-categories *, .entry-content .wp-block-latest-posts *, .entry-content .wp-block-latest-comments *, .entry-content, .entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6, .entry-content p, .entry-content ol, .entry-content ul, .entry-content dl, .entry-content dt, .entry-content cite, .entry-content figcaption, .entry-content table, .entry-content address, .entry-content .wp-caption-text, .entry-content .wp-block-file, .comment-content p, .comment-content ol, .comment-content ul, .comment-content dl, .comment-content dt, .comment-content cite, .comment-content figcaption, .comment-content .wp-caption-text, .widget_text p, .widget_text ol, .widget_text ul, .widget_text dl, .widget_text dt, .widget-content .rssSummary, .widget-content cite, .widget-content figcaption, .widget-content .wp-caption-text{
  font-family: 'Noto Sans JP', sans-serif;
}
.ft_wrap{
  margin: 0 0 10px;
  padding-top: 60px;
  border-top: 1px solid #e7e8e9;
}
@media screen and (min-width:1025px) {
  .ft_wrap{
    margin: 0 0 80px;
    padding-top: 120px;
  }
}
.info_flex.container{
  padding-top: 30px;
  padding-bottom: 60px;
}
.single .info_flex.container{
  padding-top: 30px;
}
@media screen and (min-width:1025px) {
  .info_flex.container{
    padding-left: calc(2.94117vw + 14px);
    padding-right: calc(2.94117vw + 14px);
  }
  .info_flex.container{
    padding-top: 100px;
    padding-bottom: 160px;
  }
  .single .info_flex.container{
    padding-top: 100px;
  }
  .page-template-template-small-width .info_flex.container,
  .page-template-template-en .info_flex.container,
  .page-template-template-zh-hans .info_flex.container,
  .page-template-template-ko .info_flex.container{
    max-width: 1100px;
  }
}
@media screen and (min-width:1025px) {
.info_flex{
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 100px;
  }
  #site-content {
    width: 80%;
    order: 2;
  }
  .footer-nav-widgets-wrapper {
    width: 20%;
    margin-top: -62px;
  }
  .single .footer-nav-widgets-wrapper{
    margin-top: 0;
  }
}
.type-post .entry-header-inner h1{
  padding: 0;
  margin-bottom: 0;
  font-size: 1rem;
  color: #373839;
  line-height: 1.6;
}
.single .entry-header-inner h1{
  font-size: 1.25rem;
  letter-spacing: 0.08em;
  text-align: left; 
}
@media screen and (min-width:600px) {
  .single .entry-header-inner h1{
    font-size: 2.0rem;
  }
}
.page #site-content .heading_block h1{
  display: none;
}
.color_heading .post-meta-wrapper,
.single .color_heading{
  display: none;
}
 .hd + .entry-header{
  display: block;
}
.singular .entry-header{
  background: none;
}
.wp-block-archives a:after {
  content: "\5E74";
}
.post-author,
.meta-icon,
.post-comment-link,
.entry-content,
.home .custom-class-name,
.entry-categories,
.entry-categories-inner
{
  display: none; 
}
.single .entry-content,
.single .entry-categories,
.single .entry-categories-inner{
  display: block;
}
.single .entry-content p:not(:last-child) {
  margin-bottom: 20px;
}
@media screen and (min-width:1025px) {
  .single .entry-content p:not(:last-child) {
    margin-bottom: 40px;
  }
}
.post-meta-single{
  order: 1;
  width: 100%;
  text-align: left;
}
.single .post-meta-single{
  width: auto;
}
.entry-categories{
  order: 2;
}
#site-content .heading_block{
  order: 3;
  width: 100%;
  margin-bottom: 20px;
}
.entry-categories a,
.post-meta-single a,
.wp-show-posts-entry-meta a{
  font-size: 0.875rem;
}
.post-meta-single a,
.wp-show-posts-entry-meta a{
  color: #b7b8b9!important;
}
.wp-show-posts-entry-meta a{
  padding-top: 20px;
  padding-left: calc(2.94117vw + 14px);
  padding-right: calc(2.94117vw + 14px);
}
.entry-header-inner{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 20px;
}
.single .entry-header-inner{
  padding: 0;
  gap: 25px 20px;
}
.page .entry-header-inner{
  padding: 0;
}
.page #site-content .entry-header-inner{
  display: none;
}
@media screen and (min-width:600px) {
  .single .entry-header-inner{
    flex-wrap: wrap;
    gap: 70px 20px;
  }
  .post-meta-single{
    width: 20%;
  }
  .wp-show-posts-entry-meta a{
    padding-top: 0;
  }
  #site-content .heading_block{
    margin-bottom: 60px;
  }
}
@media screen and (min-width:1025px) {
  .entry-header-inner{
    flex-wrap: nowrap;
  }
}
.entry-title{
  order: 2;
  width: 100%;
  text-align: left;
  margin-right: 20px;
}
.archive .entry-title,
.single .entry-title{
  font-size: 1.125rem;
}
.single .entry-title{
  font-weight: 700;
}
.footer-widgets a{
  color: #373839;
}
.post-meta-wrapper a{
  padding: 0 20px;
  padding-top: 20px;
}
.entry-title a{
  padding: 0 20px;
  padding-bottom: 20px;
  color: inherit;
  font-size: 1rem;
}
.single .post-meta-wrapper a{
  padding: 0;
}
@media screen and (min-width:600px) {
  .archive .entry-title,
  .single .entry-title{
    font-size: 1.375rem;
  }
}
@media screen and (min-width:1025px) {
  .single .entry-title{
    font-size: 2rem;
    line-height: 1.2;
  } 
  .entry-title a{
    padding: 30px 0;
  }
  .post-meta-wrapper a,
  .wp-show-posts-meta a{
    padding: 0;
  }
}
.widget_archive{
  margin-bottom: 60px;
}
#site-content,
.widget_archive .widget-content,
.widget_categories nav{
  margin-left: calc(-2.94117vw + -14px);
  margin-right: calc(-2.94117vw + -14px);
}
.page #site-content,
.single #site-content{
  margin-left: inherit;
  margin-right: inherit;
}
@media screen and (min-width:1025px) {
  #site-content,
  .widget_archive .widget-content,
  .widget_categories nav{
    margin-left: inherit;
    margin-right: inherit;
  }
}
.widget-content h2{
  margin-bottom: 10px;
  font-size: 1.25rem;
  font-weight: 700;
}
.widget-content li{
  position: relative;
}
.widget-content li:first-child {
  border-top: 1px solid #e7e8e9;
}
.widget-content li a{
  padding: 16px;
  padding-left: calc(2.94117vw + 14px);
  padding-right: calc(2.94117vw + 14px);
  border-bottom: 1px solid #e7e8e9;
}
@media screen and (min-width:1025px) {
  .widget-content h2{
    margin-bottom: 20px;
  }
  .widget-content li a{
    padding: 20px 0;
  }
}
hr.styled-separator{
  display: none;
}
.home article:first-child,
.archive article:first-child{
  border-top: 1px solid #e7e8e9;
}
article:last-child{
  margin-bottom: 60px;
}
@media screen and (min-width:1025px) {
  article:last-child{
    margin-bottom: 0;
  }
}
article.post{
  position: relative;
  border-bottom: 1px solid #e7e8e9;
}
.single .post{
  border: none;
}
article.post:after,
.widget-content li:after,
.wp-show-posts-entry-header:after{
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  width: 10px;
  height: 10px;
  margin-top: -4px;
  border-top: solid 2px #373839;
  border-right: solid 2px #373839;
  border-radius: 1px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.single article.post:after{
  display: none;
}
.single .comments-wrapper{
  display: none;
}
.single .btn_link--bk{
  width: 80%;
  margin: 0 auto;
  margin-top: 50px;
  padding: 14px;
}
@media screen and (min-width:600px) {
  .single .btn_link--bk{
    width: 350px;
    margin-top: 60px;
  }
}
@media screen and (min-width:1025px) {
  article.post{
    padding-left: 0;
    padding-right: 0
  }
  article.post:after{
    right: 5px;
  }
  .widget-content li:after{
    display: none;
  }
  .single .btn_link--bk{
    margin-top: 100px;
  }
}
.nav-links {
  margin: 40px 0;
  display: flex;
  justify-content: center;
  gap: 20px;
}
.nav-links .page-numbers {
  border: solid 2px #373839;
  border-radius: 50px;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0s;
  position: relative;
  outline: none;
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  color: #373839;
  cursor: pointer;
  z-index: 1;
}
.nav-links .page-numbers:first-child,
.nav-links .page-numbers:last-child{
  display: none;
}
.nav-links .page-numbers:before{
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: -2px;
  right: -2px;
  bottom: -2px;
  left: -2px;
  margin: auto;
  border-radius: 999999px;
  opacity: 0;
  transition: opacity .35s cubic-bezier(.23,1,.58,1),-webkit-transform .5s cubic-bezier(.23,1,.58,1);
  transition: opacity .35s cubic-bezier(.23,1,.58,1),transform .5s cubic-bezier(.23,1,.58,1);
  transition: opacity .35s cubic-bezier(.23,1,.58,1),transform .5s cubic-bezier(.23,1,.58,1),-webkit-transform .5s cubic-bezier(.23,1,.58,1);
  transform: scale(0);
  background: #46b46e;
  will-change: transform;
}
.nav-links .page-numbers:hover{
  color: #fff;
  border: 2px solid #46b46e;
  opacity: 1;
  transition: background-color .1s .15s cubic-bezier(.23,1,.58,1);
}
.nav-links .page-numbers:hover:before{
  opacity: 1;
  transition: all .3s cubic-bezier(.23,1,.58,1);
  transform: scale(1);
}
.nav-links .current{
  background: #46b46e;
  border: solid 2px #46b46e;
  color: #fff;
}
.header-footer-group, body:not(.overlay-header) #site-header .toggle, .menu-modal .toggle{
  color: #373839;
}
.page .entry-content{
  display: block;
}
.page .footer-nav-widgets-wrapper{
  display: none;
}
.page #site-content{
  width: 100%;
  order: 1;
}
::placeholder{
  font-size: 0.875rem;
  color: #d7d8d9
}
.input dt{
  margin-bottom: 5px;
  font-weight: 700;
}
.input dt p{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 10px;
  line-height: 1.5;
}
.input dd{
  margin-bottom: 50px;
}
@media screen and (min-width:1025px) {
  .input dt{
    margin-bottom: 10px;
    font-size: 1.125rem;
  }
  .input dd{
    margin-bottom: 60px;
  }
}
.page .req,
.page .any{
  margin-top: 2px;
  padding: 2px 6px;
  background: #f77;
  border-radius: 50px;
  color: #fff;
  font-family: sans-serif;
  font-size: 0.6875rem;
  font-weight: normal;
  line-height: 1.6;
}
@media screen and (min-width:1025px) {
  .page .req,
  .page .any{
    font-size: 0.750rem;
    line-height: 1.4;
  }
}
::-webkit-full-page-media, :future, :root .page .req,
::-webkit-full-page-media, :future, :root .page .any{
  line-height: 1.4;
  padding-top: 3px;
}
.page .any{
  background: #d7d8d9;
  color: inherit;
}
.page .cap{
  display: inline-block;
  margin-bottom: 12px;
}
@media screen and (min-width:1025px) {
  .page .cap{
    margin-bottom: 20px;
  }
}
.page .cf7-text{
  width: 100%;
  padding: 8px 0 6px 0;
  font-size: 0.750rem;
  font-weight: normal;
}
.page input,
.page textarea{
  width: 100%;
  border: 1px solid #d7d8d9;
  padding: 10px;
  border-radius: 6px;
}
.page input[type="text"]:focus,
.page input[type="tel"]:focus,
.page input[type="email"]:focus,
.page textarea:focus{
  outline: none;
  border: 2px solid #46b46e;
}
@keyframes radio {
  0% {opacity: 0.8; transform: scale3d(1, 1, 1);}
  100% {opacity: 0; transform: scale3d(4, 4, 1);}
}
.page input[type="radio"]{
  position: relative;
  display: inline-block;
  width: 22px;
  height: 22px;
  border: 1px solid #ddd;
  border-radius: 50%;
  cursor: pointer;
}
.page label{
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}
.page .wpcf7-radio{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
}
.page .wpcf7-list-item{
  width: 100%;
  margin-left: 0;
}
@media screen and (min-width:670px) {
  .page .radio .wpcf7-list-item{
    width: calc(100% / 2 - 10px);
  }
}
@media screen and (min-width:1025px) {
  .page .radio .wpcf7-list-item{
    width: calc(100% / 3 - 10px);
  }
}
.page input[type="radio"]::before,
.page input[type="radio"]::after {
  content: "";
  width: 13px;
  height: 13px;
  margin: auto;
  border-radius: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 0;
}
.page input[type="radio"]::before {
  background: #46b46e;
  transition:  0.5s, opacity 0.5s;
}
.page input[type="radio"]:checked {
  border-color: #46b46e;
}
.page input[type="radio"]:checked:before{
  background-color: #46b46e;
  opacity: 1;
}
.page .privacy-box{
  height: 245px;
  margin: 20px 0;
  padding: 20px;
  overflow-y: scroll;
  background: #f7f8f9;
  font-size: 0.875rem;
}
@media screen and (min-width:1025px) {
  .page .privacy-box{
    margin: 40px 0;
    padding: 20px 50px 40px;
  }
}
.page .privacy-box b{
  display: inline-block;
  margin-top: 20px;
}
.page .privacy-box ul{
  padding-left: 1em;
}
.page .privacy-box ul li{
  list-style-type: disc;
}
.page .privacy-box ul li p{
  padding-left: 0.5em;
}
.consent-text{
  font-size: 0.875rem;
}
/********チェックボックス********/
.page input[type="checkbox"] {
  width: auto;
  position: relative;
  display: flex;
  align-items: center;
  gap:0 10px;
  cursor: pointer;
  border: none;
}
.page input[type="checkbox"]::before {
  width: 20px;
  height: 20px;
  border-radius: 3px;
  border: 1px solid #d7d8d9;
  content: '';
  background: #fff;
}
.page input[type="checkbox"]:checked:after {
  position: absolute;
  top: 12px;
  left: 16px;
  transform: rotate(45deg);
  width: 8px;
  height: 12px;
  border: solid #313233;
  border-width: 0 3px 3px 0;
  content: '';
}
.page .consent{
  margin: 20px 0;
  display: flex;
  justify-content: center;
}
.page form input[type="submit"]{
  background: none;
  color: inherit;
  border: none;
  padding: 0;
}
.page form button{
  width: 80%;
  margin: 0 auto;
  padding: 14px;
  display: block;
  position: relative;
  overflow: hidden;
  outline: none;
  background: #46b46e;
  border-radius: 50px;
  border: solid 2px #46b46e;
  text-align: center;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  transition: all .3s ease-out;
  z-index: 1;
}
.page-id-55 form button,
.page-id-14 form button{
  background: #46b46e;
  border: solid 2px #46b46e;
  color: #fff;
}
.page-id-55 form button{
  margin-top: 0;
}
.btn_link--bk{
  width: 80%;
  padding: 14px;
  margin: 60px auto 0 auto;
}
@media screen and (min-width:1025px) {
  .page form button,
  .btn_link--bk{
    width: 350px;
    padding: 20px;
  }
  .btn_link--bk{
    margin-top: 110px;
  }
}
.page form button:hover {
  color: #fff;
  border: 2px solid #46b46e;
  opacity: 1;
}
.page form button:before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: -2px;
  right: -2px;
  bottom: -2px;
  left: -2px;
  margin: auto;
  border-radius: 999px;
  opacity: 0;
  transition: opacity .35s cubic-bezier(.23,1,.58,1),-webkit-transform .5s cubic-bezier(.23,1,.58,1);
  transition: opacity .35s cubic-bezier(.23,1,.58,1),transform .5s cubic-bezier(.23,1,.58,1);
  transition: opacity .35s cubic-bezier(.23,1,.58,1),transform .5s cubic-bezier(.23,1,.58,1),-webkit-transform .5s cubic-bezier(.23,1,.58,1);
  transform: scale(0);
  will-change: transform;
  background: #46b46e;
}
.page form button:hover:before {
  opacity: 1;
  transition: all .3s cubic-bezier(.23,1,.58,1);
  transform: scale(1);
}
.page form button:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50px;
}
.page article:last-child{
  margin-bottom: 0;
}
.page .wpcf7 form.invalid .wpcf7-response-output{
  margin-bottom: 50px;
  border-color: #f77;
  background: #f77;
  text-align: center;
  color: #fff;
}
.page .wpcf7-not-valid-tip{
  margin-top: 10px;
  color: #f77;
}
.page .wpcf7-spinner{
  display: none;
}
.contact_flex{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap:20px;
  margin-top: 60px;
}
.contact_flex p{
  width: 100%;
}
input.wpcf7-form-control.wpcf7-previous {
  display: block;
  width: 80%;
  margin: 0 auto;
  padding: 14px;
  background: #fff;
  border-radius: 50px;
  color: #373839;
  text-align: center;
  font-weight: bold;
  border: solid 2px #373839;
}
@media screen and (min-width:600px) {
  .contact_flex{
    margin-top: 110px;
    flex-wrap: nowrap;
    gap:40px;
  }
  input.wpcf7-form-control.wpcf7-previous {
    width: 300px!important;
  }
  .contact_flex button{
    width: 300px!important;
  }
  .contact_flex p{
    width: auto;
  }
}
@media screen and (min-width:1025px) {
  input.wpcf7-form-control.wpcf7-previous {
    width: 350px;
    padding: 20px;
  }
  .page input.wpcf7-form-control.wpcf7-previous:hover,
  .page-id-55 button:hover,
  .page-id-14 button:hover{
    opacity: .5!important;
  }
}
.confirm{
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  border-top: 1px solid #e1e2e3;
}
.confirm dt{
  padding-top: 20px;
  width: 100%;
  font-weight: 700;
}
.confirm dd{
  padding-bottom: 20px;
  width: 100%;
  border-bottom: 1px solid #e1e2e3
}
@media screen and (min-width:600px) {
  .confirm dt{
    width: 38%;
  }
  .confirm dt,
  .confirm dd{
    padding: 27px 2%;
    border-bottom: 1px solid #e1e2e3
  }
  .confirm dd{
    width: 62%;
  }
}
/********トップ読み込み新着3件********/
.page-id-71 #site-header,
.page-id-71 .color_heading,
.page-id-71 .wp-show-posts-entry-summary,
.page-id-71 .has-text-align-center,
.page-id-71 .footer-nav-widgets-wrapper,
.page-id-71 #site-footer,
.page-id-71 .hd,
.page-id-71 footer,
.page-id-71 .breadcrumb-area,
.page-id-71 .contact{
	display:none;
}
.page-id-71 .container,
.page-id-71 .container .site-content{
	max-width:100%!important;
	padding:0;
	margin:0;
}
.page-id-71 header {
  box-shadow: none;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  animation: none;
  background: none;
  margin: 0;
  gap: 2px 0;
}
.wp-show-posts .wp-show-posts-entry-title{
	order:2;
  width: 100%;
  margin-bottom: 0;
}
.page-id-71 .wp-show-posts-entry-title a{
  margin-bottom: 0;
  margin-right: 20px;
  padding: 0 0 20px 0;
  padding-left: calc(2.94117vw + 14px);
  padding-right: calc(2.94117vw + 14px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: normal;
}
@media screen and (min-width:600px) {
  .page-id-71 header {
    flex-wrap: nowrap;
  }
  .page-id-71 .wp-show-posts-entry-title a{
    padding: 30px 0 30px 30px;
    font-size: 1.0625rem;
  }
}
.page-id-71 .wp-show-posts:not(.wp-show-posts-columns) .wp-show-posts-single:not(:last-child){
	margin-bottom:0;
}
.page-id-71 .wp-show-posts article:first-child {
  border-top: 1px solid #e7e8e9;
}
/********下層テンプレート********/
.mv_copy{
  position: absolute;
  top: 55%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  z-index: 2;
  color: #fff;
}
.mv_copy h1{
  font-size: calc(30px + 22 * (100vw - 320px)/1025);
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: -100px;
  text-align: left;
  color: #fff;
}
.mv_copy p{
  font-family: 'Montserrat', sans-serif;
  font-size: calc(18px + 4 * (100vw - 320px)/1025);
  letter-spacing: .08;
  animation-name: mv_fadein;
  animation-duration: 1s;
  animation-delay: 1s;
  animation-fill-mode:forwards;
  opacity: 0;
}
@keyframes mv_fadein{
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.under .mv{
  position: relative;
}
.under .mv,
.under .mv:after,
.under .mv img{
  height: 300px;
  object-fit: cover;
}
.under .mv_copy h1{
  font-family: 'Montserrat', sans-serif;
}
@media screen and (min-width:1025px) {
  .under .mv,
  .under .mv:after,
  .under .mv img{
    height: 580px;
  }
}
.under .featured-media{
  display: none;
}
img.attachment-post-thumbnail.size-post-thumbnail.wp-post-image{
  width: 100%;
  height: 100%;
}
.breadcrumb-area{
  padding-top: 150px;
  display: flex;
  font-size: 1rem;
} 

#recruit-table01,
#recruit-table02 {
  padding-top: 100px;
  margin-top: -100px;
}
@media only screen and (min-width: 1025px) {
  #recruit-table01,
  #recruit-table02 {
    padding-top: 220px;
    margin-top: -220px;
  }
}
.recruit-heading-text{
  padding: 30px 0;
}
.recruit-table table th ,
.recruit-table table td {
  display: block;
}
.fs-box table {
  margin-bottom: 80px;
}
.recruit-table table th {
  text-align: left!important;
  border-left: none!important;
  border-right: none!important;
  background: #f7f8f9!important;
}
.recruit-table table td {
  border-left: none!important;
  border-right: none!important;
  padding: 27px 0!important;
}
.recruit-table table td ol.bu_list li {
  list-style-type: decimal;
  margin-left: 20px;
  padding-left: 8px;
}
@media only screen and (min-width: 1025px) {
  .recruit-heading-text{
    padding: 40px 0 50px;
  }
  .fs-box table {
    margin-bottom: 150px;
  }
  .recruit-table table th ,
  .recruit-table table td {
    display: table-cell;
  }
  .recruit-table table th {
    text-align: center!important;
    background: #fff!important;
    width: 25%;
  }
  .recruit-table table td {
    padding: 27px 60px 27px 30px!important;
    border-left: 1px solid #e1e2e3!important;
  }
}
/****パンくず****/
.page-template-template-small-width .breadcrumb.container,
.page-template-template-en .breadcrumb.container,
.page-template-template-ko .breadcrumb.container,
.page-template-template-zh-hans .breadcrumb.container{
  max-width: 1100px;
}
.breadcrumb{
  padding-top: 30px;
  display: flex;
  align-items: center;
  font-size: 0.750rem; 
}
.breadcrumb .bchome{
  display: flex;
  white-space: nowrap;
}
.breadcrumb .bchome:after {
  content: "»";
  display: inline-block;
  padding: 0 10px;
}
.single .breadcrumb{
  padding-top: 110px;
}
@media only screen and (min-width: 1025px) {
  .breadcrumb{
    padding-top: 40px;
  }
  .breadcrumb .bchome:after {
    padding: 0 20px;
  }
  .single .breadcrumb{
    padding-top: 140px;
  }
  .home .breadcrumb,
  .archive .breadcrumb,
  .category .breadcrumb{
    padding-bottom: 60px;
  }
}
#bclist{
  display: flex;
  overflow: hidden;
}
#bclist > span {
  display: flex;
  align-items: center;
  width: 100%;
  overflow: hidden;
}
#bclist > span::-webkit-scrollbar {
  display: none;
}
#bclist > span > span {
  padding: 0 10px;
  white-space: nowrap;
}
.breadcrumb_last {
  overflow: hidden;
  text-overflow: ellipsis;
}
@media only screen and (min-width: 1025px) {
  #bclist > span > span {
    padding: 0 20px;
  }
  .breadcrumb_last {
    overflow: inherit;
  }
}
#bclist > span > span:first-child {
  padding-left: 0;
}
.page-template #bclist > span > span:first-child{
  display: none;
}
.page-template .breadcrumb .bchome {
  padding-right: 10px;
}
.page-template .breadcrumb .bchome:after{
  display: none;
}
@media only screen and (min-width: 1025px) {
  .page-template .breadcrumb .bchome {
    padding-right: 20px;
  }
}
.page-id-55 section.contact,
.page-id-65 section.contact,
.page-id-305 section.contact,
.page-id-311 section.contact,
.page-id-320 section.contact,
.page-id-323 section.contact,
.page-id-335 section.contact,
.page-id-338 section.contact{
  display: none;
}
/*
.page-id-206 dl.input dd:last-of-type span.wpcf7-not-valid-tip ,
.page-id-210 dl.input dd:last-of-type span.wpcf7-not-valid-tip ,
.page-id-301 dl.input dd:last-of-type span.wpcf7-not-valid-tip {
visibility: hidden;
line-height: 0;
}
.page-id-206 dl.input dd:last-of-type span.wpcf7-not-valid-tip:before {
visibility: visible;
content:'The entered code is incorrect.';
line-height: 1.2em;
}
.page-id-210 dl.input dd:last-of-type span.wpcf7-not-valid-tip:before {
visibility: visible;
content:'输入的代码不正确。';
line-height: 1.2em;
}
.page-id-301 dl.input dd:last-of-type span.wpcf7-not-valid-tip:before {
visibility: visible;
content:'입력한 코드가 올바르지 않습니다.';
line-height: 1.2em;
}
*/