@charset "utf-8";
/* CSS Document */
:root {
  --text-color: #333;
  /*メイン色*/
  --main-color: #cab07b;
  /*サブ色*/
  --sub-color: #f6a9a9;
  /*サイドメニュー・レイアウト類の背景色*/
  --bg-color: #f7f7f7;
  /*境界線色*/
  --border-color: #ccc;
}
*,
::before,
::after {
    box-sizing: border-box;
}
body,
.mega_menu,
#mainvisual,
header,
footer {
    min-width: 1240px;
}
@media screen and (max-width: 640px) {
    body,
    .mega_menu,
    #mainvisual,
    header,
    footer {
        min-width: 100%;
    }
}
body {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: var(--text-color);
    font-size: 16px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: justify;
}
@media screen and (max-width: 640px) {
    body {
        font-size: 15px;
    }
    
    /* ナビ展開時スクロール禁止処理 */
    body.nav-open {
        overflow: hidden !important;
    }
}
img {
    max-width: 100%;
    height: auto;
    vertical-align: top;
}
iframe {
    max-width: 100%;
    vertical-align: top;
}
a {
    color: var(--main-color);
    text-decoration: none;
}
a:hover {
    color: var(--sub-color);
}

/*tel*/
[href^="tel"]:hover {
    cursor: default;
}
a[href="tel:準備中"] {
    pointer-events: none;
}
::selection {
    background-color: var(--sub-color);
}
::-moz-selection {
    background-color: var(--sub-color);
}
@media print {
    html {
        -webkit-print-color-adjust: exact;
    }
    body {
        zoom: 80%;
    }
    .fixed {
        position: inherit !important;
    }
}

/* 画像のにじみ（大きい画像を小さく表示した時等）対策 */
.visibility {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    backface-visibility: hidden;
}

/*============================================================================

  header

============================================================================*/
header {
    position: absolute;
    z-index: 99;
    left: 0;
    top: 0;
    width: 100%;
    height: 82px;
    font-family: "zen-maru-gothic", sans-serif;
    font-weight: 500;
    background-color: #fff;
}
header.fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    background-color: rgba(255, 255, 255, 0.9);
}

/* ロゴ */
.header_logo {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 11;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 230px;
    height: 230px;
    background-color: #fff;
}

/* リンク */
.header_clinic_link {
    display: flex;
    margin: 0 0 0 260px;
    padding: 20px 0 0;
    gap: 12px;
}
.header_clinic_link li a {
    position: relative;
    display: block;
    width: 160px;
    line-height: 42px;
    font-family: "zen-maru-gothic", sans-serif;
    font-weight: 500;
    font-size: 15px;
    letter-spacing: 0.1em;
    text-align: center;
    color: #fff;
    border-radius: 10px;
    opacity: 1;
    transition: 0.2s ease-in-out;
}
.header_clinic_link li a:hover {
    opacity: 0.6;
}
.header_clinic_link li.naika a {
    background-color: rgba(83, 142, 171, 1);
}
.header_clinic_link li.hifuka a {
    background-color: rgba(246, 169, 169, 1);
}
.header_clinic_link li a::before {
    position: absolute;
    right: 7px;
    bottom: 7px;
    width: 8px;
    height: 8px;
    background-color: #fff;
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    content: "";
}

header.fixed .header_clinic_link,
header.fixed .header_logo {
    display: none;
}


/* ボタン */
.header_btn {
    position: absolute;
    top: 18px;
    right: 90px;
    z-index: 11;
    display: flex;
    gap: 14px;
    font-family: "zen-maru-gothic", sans-serif;
    font-weight: 500;
    font-size: 15px;
    letter-spacing: 0.06em;
}
.pagetop {
    width: 46px;
    line-height: 46px;
    text-align: center;
    color: #fff;
    background-color: #cab07b;
    border-radius: 100%;
    cursor: pointer;
}
.pagetop.sp {
    position: fixed;
    z-index: 100;
    right: 2%;
    bottom: 20px;
}

@media (hover: hover) {
    .pagetop {
        transition: opacity .2s ease-in-out;
    }
    .pagetop:hover {
        opacity: .8;
    }
}
.header_btn .apply a {
    display: block;
    line-height: 46px;
    padding: 0 60px 0 20px;
    border-radius: 20px;
    color: #fff;
    background: url("../images/head_apply_btn.png") no-repeat right 18px center/28px auto, rgba(140, 122, 85, 1);
    transition: 0.2s ease-in-out;
}
.header_btn .apply a:hover {
    background: url("../images/head_apply_btn.png") no-repeat right 10px center/28px auto, rgba(140, 122, 85, 0.6);
}

@media screen and (max-width: 640px) {
    header {
        height: 0;
    }
    .header_logo,
    .header_clinic_link,
    .header_btn {
        display: none;
    }
}

/*============================================================================

  nav

============================================================================*/
.nav_wrap {
    position: absolute;
    z-index: 98;
    right: 0;
    top: 0;
}

/* ------- ハンバーガーボタン ------- */
.btn_menu {
    box-sizing: border-box;
    width: 46px;
    height: 46px;
    padding: 0;
    text-align: center;
    border: 1px solid #c2c2c1;
    border-radius: 100%;
    background-color: #fff;
    transition: right 0.6s cubic-bezier(.19, 1, .22, 1);
}
.btn_menu span {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    display: block;
    width: 14px;
    height: 1px;
    background: #686868;
    transition: all 0.6s cubic-bezier(.19, 1, .22, 1);
    opacity: 1;
}


/* 追加した文字のスタイル */
.btn_menu .menu_text {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2px;       /* 下からの位置 */
    display: block;
    font-size: 8px;    /* 文字サイズ（かなり小さく） */
    text-align: center;
    color: #686868;    /* 三本線と同じ色 */
    line-height: 1;
    font-weight: bold;
	background: none;
	width: 100%;
	height: 5px;
}

/* --- 通常時（アクティブではない時） --- */

/* 三本線の span（1番目から3番目）を非表示にする */
.btn_menu.is-hidden span:nth-of-type(-n+3) {
    opacity: 0;
}

/* MENUの文字だけを表示し、位置を中央に調整する */
.btn_menu.is-hidden .menu_text {
    opacity: 1;
    bottom: 50%; 
    transform: translateY(50%);
    font-size: 10px;
}


/* 1. 通常時（is-hiddenがついている時）の設定 */
.btn_menu.is-hidden span:nth-of-type(-n+3) {
    opacity: 0;
}
.btn_menu.is-hidden .menu_text {
    opacity: 1 ;
    display: block;
}

/* 2. アクティブ時（activeクラスがついた時）の設定 */
.btn_menu.active span:nth-of-type(-n+3) {
    opacity: 1 ;
    visibility: visible;
}

.btn_menu.active .menu_text {
    opacity: 0 ;
    display: none;
}

.menu_list_wrap {
    position: absolute;
    right: 30px;
    top: 100px;
}

@media print, screen and (min-width: 641px) {
    .btn_menu {
        position: absolute;
        top: 18px;
        right: 30px;    
        display: none;
    }
    
    /* ------- ハンバーガーボタン ------- */
    .btn_menu span:nth-of-type(1) {
        top: 17px;
    }
    .btn_menu span:nth-of-type(2) {
        top: 22px;
    }
    .btn_menu span:nth-of-type(3) {
        top: 27px;
    }

    /* 押下時 */
    .btn_menu.active span:nth-of-type(1) {
        top: 22px;
        transform: rotate(225deg);
    }
    .btn_menu.active span:nth-of-type(2) {
        opacity: 0;
    }
    .btn_menu.active span:nth-of-type(3) {
        top: 22px;
        transform: rotate(-225deg);
    }
    
    .nav_wrap.fixed .btn_menu {
        display: block;
    }
    .nav_wrap.fixed .btn_menu.active + .menu_list_wrap {
        opacity: 1;
        visibility: visible;
        transition: opacity 0.3s ease;
    }
    .nav_wrap.fixed .menu_list_wrap {
        opacity: 0;
        visibility: hidden;
    }
    .nav_menu > li {
        position: relative;
        text-align: right;
    }
    .nav_menu > li:not(:last-of-type) {
        margin-bottom: 12px;
    }
    .nav_menu_tit {
        position: relative;
        z-index: 2;
        display: inline-block;
        width: fit-content;
        width: -moz-fit-content;
        white-space: nowrap;
        padding: 7px 8px 9px;
        font-family: "zen-maru-gothic", sans-serif;
        font-weight: 500;
        letter-spacing: 0.06em;
        line-height: 1;
        color: #fff;
        background-color: rgba(0, 0, 0, 0.25);
        transition: 0.15s ease-out;
		font-size: 170%;
    }
    .parent_menu:not(.nav_menu_tit) {
        display: none;
    }
    
    /* hover */
    .nav_menu a.nav_menu_tit::after {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 5px;
        width: calc(100% - 16px);
        height: 1px;
        margin: auto;
        background-color: #f6a9a9;
        transition: 0.15s ease-out;
        transform: scaleX(0);
        content: "";
        z-index: 1;
    }
    .nav_menu a.nav_menu_tit:hover {
        color: #fff;
    }
    .nav_menu a.nav_menu_tit:hover::after {
        transform: scaleX(1);
    }
      
    /*----------ドロップダウンメニュー----------*/
    .child_menu {
        opacity: 0;
        visibility: hidden;
        box-shadow: rgb(0 0 0 / 0.1) 0px 4px 12px;
        max-height: 0;
        font-size: 20px;
        transition: 0.2s ease-in-out;
    }
    .nav_slidebtm:hover .child_menu, .nav_slidebtm:focus-within > .child_menu {
        opacity: 1;
        visibility: visible;
        max-height: 130px;
		margin: 10px 0 0;
    }
    .child_menu {
        width: auto;
    }
    .child_menu a {
        position: relative;
        display: block;
        font-size: 85%;
        /*margin: 5px 0;*/
        padding: 5px 10px 5px;
        color: #fff;
        white-space: nowrap;
        background-color: rgba(0, 0, 0, 0.6);
    }
    .child_menu a:hover {
        background-color: rgba(0, 0, 0, 0.8);
    }
	.child_menu a:nth-of-type(2) {
    margin: 10px 0 0;
}
}
@media screen and (max-width: 640px) {
    .nav_wrap {
        width: 100%;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        background: #fff;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 10000;
    }
    .nav_wrap .sp_logo {
        width: calc(100% - 55px);
    }
    .nav_wrap .sp_logo a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 55px;
        padding: 5px;
    }
    .nav_wrap .sp_logo img {
        width: 90%;
        max-height: 100%;
    }
    
    /* ------- ハンバーガーボタン ------- */
    .btn_menu {
        position: relative;
        width: 55px;
        height: 55px;
        border: none;
        border-radius: 0;
        background: var(--main-color);
    }
    .btn_menu span {
        width: 35px;
        height: 2px;
        background-color: #fff;
    }
    .btn_menu.active {
        right: 16.25rem;
    }
    .btn_menu span:nth-of-type(1) {
        top: 17px;
    }
    .btn_menu span:nth-of-type(2) {
        top: 27px;
    }
    .btn_menu span:nth-of-type(3) {
        top: 37px;
    }
    
    /* 押下時 */
    .btn_menu.active span:nth-of-type(1) {
        top: 27px;
        transform: rotate(225deg);
    }
    .btn_menu.active span:nth-of-type(2) {
        opacity: 0;
    }
    .btn_menu.active span:nth-of-type(3) {
        top: 27px;
        transform: rotate(-225deg);
    }

    /* ------- スライドメニュー ------- */
    .menu_list_wrap {
        width: 16.25rem;
        height: 100%;
        transition: right 0.6s cubic-bezier(.19, 1, .22, 1);
        background: var(--main-color);
        padding: 15px;
        position: fixed !important;
        top: 0;
        /*right: -16.25rem !important;*/
		right: -16.25rem;
        z-index: 2;
        overflow: hidden;
    }
    
    
    /* 展開時 */
    body.nav-open .menu_list_wrap {
        overflow-y: scroll;
        overscroll-behavior-y: none;
        right: 0;
    }
    .menu_list_wrap, .menu_list_wrap a {
        color: #fff;
    }
    .menu_list_wrap a {
        display: block;
    }
    .nav_menu > li {
        border-bottom: 1px solid #fff;
    }
    .nav_menu > li:first-child {
        border-top: 1px solid #fff;
    }
    .nav_menu .nav_menu_tit, .nav_menu .parent_menu {
        padding: 15px 10px;
    }
    .nav_menu .nav_menu_en {
        display: none !important;
    }
    
    /* ------- 下層のあるメニュー ------- */
    .nav_menu .child_menu {
        margin-top: -10px;
        padding-left: 15px;
        padding-bottom: 10px;
    }
    .nav_menu .child_menu a {
        margin: 0 0;
        font-size: 90%;
        letter-spacing: 0.05em;
        padding: 5px 5px 5px 1.2em;
        text-indent: -1.2em;
    }
    .nav_menu .child_menu a::before {
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        content: "\f105";
        margin-right: 10px;
    }

    /* ヘッダー固定ボタンエリア */
    .btn_area {
        width: 100%;
    }
    .btn_area ul {
        display: flex;
        background: #fff;
        padding: 5px 2.5px;
    }
    .btn_area li.btn {
        width: 100%;
        margin: 0 2.5px;
    }
    .btn_area li.btn a {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        color: #fff;
        text-align: center;
        font-weight: bold;
        padding: 10px 2%;
        border-radius: 5px;
    }
    .btn_area li.btn a i {
        width: 15px;
        margin-right: 3px;
    }
    .btn_area li.btn_tel a {
        background: #f6a9a9;
    }
    .btn_area li.btn_form a {
        background: #8c7a55;
    }
    
    /* 準備中用のクラス */
    .btn_area li.btn.coming a {
        background: #aaa !important;
    }
    .btn_area li.btn.coming a {
        pointer-events: none;
        padding: 2px 2% 18px;
    }
    .btn_area li.btn.coming a::before {
        content: "（準備中）";
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        text-align: center;
        font-size: 90%;
    }
    .btn_area li.btn a[href="tel:準備中"] {
        pointer-events: none;
        padding: 2px 2% 18px;
        background: #aaa;
    }
    .btn_area li.btn a[href="tel:準備中"]::after {
        content: "（準備中）";
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        text-align: center;
        font-size: 90%;
    }
    
    /* ナビ展開時の後ろの背景 */
    .nav_overlay {
        display: none;
        opacity: 0;
        visibility: hidden;
        z-index: 10;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgb(0 0 0 / 0.2);
    }
    body.nav-open .nav_overlay {
        display: block;
        opacity: 1;
        visibility: visible;
    }
	
/* --- 通常時（アクティブではない時） --- */

/* 三本線の span（1番目から3番目）を非表示にする */
.btn_menu.is-hidden span:nth-of-type(-n+3) {
    opacity: inherit;
}

/* MENUの文字だけを表示し、位置を中央に調整する */
.btn_menu.is-hidden .menu_text {
    display: none;
}	
	
}

/*============================================================================

  mainvisual

============================================================================*/
/* ------- 下層 ------- */
.sub_mainvisual {
    position: relative;
    display: block;
    height: 500px;
    background: url("../images/under_headline.jpg") no-repeat center/cover;
    overflow: hidden;
}
.sub_mainvisual .inner {
    width: 1200px;
    height: 100%;
    margin: 0 auto;
    padding: 82px 0 0;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.15em;
    line-height: 1.4;
    text-align: center;
    text-shadow: 0 0 30px rgb(0 0 0 / 0.5);
}
.sub_mainvisual .headline {
    font-family: "zen-maru-gothic", sans-serif;
    font-weight: 500;
    font-size: 28px;
    letter-spacing: 0.1em;
    color: #fff;
}
.sub_mainvisual .headline + p {
    margin-top: 10px;
    font-family: "trajan-pro-3", serif;
    font-weight: 400;
    font-size: 16px;
    color: #fff;
    letter-spacing: 0.1em;
    opacity: 0.6;
}

@media screen and (max-width: 640px) {
    /* ------- 共通 ------- */
    #mainvisual {
        margin-top: 108px;
    }
    
    /* ------- 下層 ------- */
    .sub_mainvisual {
        height: 160px;
    }
    .sub_mainvisual .inner {
        width: 100%;
        padding: 0 5%;
    }
    .sub_mainvisual .headline {
        font-size: 22px;
    }
    .sub_mainvisual .headline + p {
        font-size: 12px;
    }
}

/*==================================================================

  contents

==================================================================*/
main {
    display: block;
}
.contents {
    position: relative;
    width: 1200px;
    margin: 0 auto;
    padding-top: 20px;
    padding-bottom: 100px;
}
@media screen and (max-width: 640px) {
    .contents {
        width: auto;
        padding-inline: 5%;
        padding-bottom: 40px;
    }
}

/*==================================================================

  $box

==================================================================*/
.text:not(:last-child) {
    margin-bottom: 50px;
}
.text p {
    margin-bottom: 1em;
}
.text p:last-child {
    margin-bottom: 0;
}
.box:not(:last-child) {
    margin-bottom: 100px;
}
.inner {
    max-width: 1200px;
    margin-inline: auto;
}

@media screen and (max-width: 640px) {
    .box:not(:last-child) {
        margin-bottom: 80px;
    }
    .inner {
        max-width: none;
        margin-inline: 0;
    }
}

/*==================================================================

  .link_box

==================================================================*/
.link_box {
    padding: 60px 0 80px;
}
.job_btn_list {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 60px;
}
.job_btn_list a img,
.clinic_link a img {
    opacity: 1;
    transition: 0.2s ease-in-out;
}
.job_btn_list a:hover img,
.clinic_link a:hover img  {
    opacity: 0.6;
}
.clinic_link {
    display: flex;
    justify-content: center;
    gap: 38px
}

/* リンク先準備中（クリック不可） （リンク先#の場合）*/
.job_btn_list li:nth-of-type(5){
  pointer-events: none;
  position:relative;
}
.job_btn_list li:nth-of-type(5):before{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  position: absolute;
  top:0;
  left: 0;
  color: #fff;
  background: rgba(0, 0, 0, 0.5);
  content: "準備中";        
}

@media screen and (max-width: 640px) {
    .link_box {
        padding: 40px 0 50px;
    }
    .job_btn_list {
        flex-wrap: wrap;
        padding: 0 5%;
        margin-bottom: 30px;
    }
    .job_btn_list li {
        width: calc(50% - 5px);
    }
    .clinic_link {
        flex-direction: column;
        gap: 12px;
        padding: 0 5%;
    }

}

/*============================================================================

  footer

============================================================================*/
footer {
    position: relative;
    width: 100%;
    font-family: "zen-maru-gothic", sans-serif;
    font-weight: 500;
    background-color: #444444;
}

/* フッターのナビ */
.footer_nav .inner {
    width: 1200px;
    display: flex;
    margin: 0 auto;
    padding: 101px 0 100px;
}
.page_navi {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.page_navi:first-of-type {
    margin-right: 100px;
}
.page_navi:nth-of-type(2) {
    margin-right: 192px;
}
.page_navi li {
    line-height: 1.5;
    letter-spacing: 0.1em;
}
.page_navi li a,
.apply_navi .tit a {
    position: relative;
    padding-left: 20px;
    color: #fff;
}
.page_navi li a::before,
.apply_navi .tit a::before {
    position: absolute;
    left: 0;
    top: 9px;
    width: 9px;
    height: 9px;
    border-radius: 100%;
    background-color: #fff;
    content: "";
}
.apply_navi .tit {
    margin-bottom: 8px;
}
.apply_navi ul {
    margin-left: 20px;
}
.apply_navi ul li:not(:last-of-type) {
    margin-bottom: 10px;
}
.apply_navi ul li {
    line-height: 1.5;
}
.apply_navi ul li a {
    position: relative;
    font-size: 14px;
    letter-spacing: 0.1em;
    color: #fff;
}
.apply_navi ul li a::before {
    content: "-"
}

/* ホバーのボーダー */
.page_navi li a::after,
.apply_navi .tit a::after,
.apply_navi ul li a::after {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    width: 100%;
    height: 1px;
    margin: auto;
    background-color: #fff;
    transition-duration: 0.15s;
    transition-timing-function: ease-out;
    transform: scaleX(0);
    content: "";
    z-index: 1;
}
.page_navi li a:hover::after,
.apply_navi .tit a:hover::after,
.apply_navi ul li a:hover::after {
    transform: scaleX(1);
}

/* コピーライト */
.copy {
    padding-bottom: 50px;
    text-align: center;
}
.copy small {
    line-height: 1;
    font-size: 14px;
    letter-spacing: 0.1em;
    color: #fff;
}
@media screen and (max-width: 640px) {
    .footer_nav .inner {
        display: block;
        width: 100%;
        padding: 30px 5%;
    }
    .page_navi:first-of-type {
        margin-right: 0;
        margin-bottom: 15px;
    }
    .page_navi:nth-of-type(2) {
        margin-right: 0;
    }
    .page_navi {
        gap: 15px;
    }
    .page_navi li a, 
    .apply_navi .tit a {
        padding-left: 12px;
    }
    .page_navi li a::before, .apply_navi .tit a::before {
        top: 9px;
        width: 6px;
        height: 6px;
    }
    .apply_navi {
        margin-top: 25px;
    }
    .copy {
        margin-top: 35px;
    }
}

/*==================================================================

  タイトル

==================================================================*/
.tit01 {
    position: relative;
    margin-bottom: 40px;
    padding: 50px 0 0;
    font-family: "zen-maru-gothic", sans-serif;
    font-weight: 500;
    font-size: 30px;
    line-height: 1.5;
    letter-spacing: 0.06em;
    text-align: center;
    background: url("../images/logo_mark.svg") no-repeat center top/40px auto;
    color: rgba(140, 122, 85, 1);
}
.tit02 {
    position: relative;
    z-index: 0;
    margin-bottom: 20px;
    padding: 12px 12px 12px 24px;
    letter-spacing: 0.15em;
    font-family: "zen-maru-gothic", sans-serif;
    font-weight: 500;
    font-size: 21px;
    line-height: 1.4;
    text-align: left;
    background-color: #f7f7f7;
}
.tit02::before {
    position: absolute;
    width: 8px;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(0deg, rgba(83, 142, 171, 1) 50%, rgba(246, 169, 169, 1) 50%);
    content: "";
}
.tit03 {
    margin-bottom: 15px;
    font-family: "zen-maru-gothic", sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-align: left;
    color: #f09199;
}

@media screen and (max-width: 640px) {
    .tit01 {
        margin-bottom: 30px;
        padding: 38px 0 0;
        font-size: 24px;
        background-size: 34px auto;
    }
    .tit02 {
        margin-bottom: 18px;
        padding: 8px 10px 8px 18px;
        letter-spacing: 0.1em;
        font-size: 18px;
    }
    .tit02::before {
        width: 6px;
    }
    .tit03 {
        margin-bottom: 12px;
        font-size: 17px;
    }
}
/*==================================================================

  .btn
  共通CSSなので使っていないものも消さずに残してください

==================================================================*/
/* btn01 */
.btn01 a {
    display: inline-block;
    position: relative;
    padding: 15px 25px;
    line-height: 1;
    border: 1px solid var(--main-color);
    text-align: left;
    color: var(--main-color);
    font-weight: bold;
    transition: ease-in-out 0.1s;
}
.btn01 a i {
    margin-right: 10px;
    color: var(--main-color);
    transition: ease-in-out 0.1s;
}
.btn01 {
    position: relative;
}
.btn01 a:hover {
    background-color: var(--main-color);
    color: #fff;
}
.btn01 a:hover i {
    color: #fff;
}

@media screen and (max-width: 640px) {
.btn01.recruitment-btn a {
    padding: 15px 5px;
    width: 100%;
	text-align: center !important;
	line-height: 1.5;
}
}

/*==================================================================

  $画像寄せ
  共通CSSなので使っていないものも消さずに残してください

==================================================================*/
.img_fl,
.img_fr {
    max-width: 400px;
    display: block;
    text-align: center;
    margin-bottom: 1em;
    position: relative;
}
.img_fl {
    float: left;
    margin-right: 30px;
}
.img_fr {
    float: right;
    margin-left: 30px;
}
.img_fl img,
.img_fr img {
    border-radius: 3px;
}

@media screen and (max-width: 640px) {
    .img_fl,
    .img_fr {
        float: none;
        max-width: none;
        margin: 0 0 1em 0;
    }
}

/*==================================================================

  $アンカーリンク
  共通CSSなので使っていないものも消さずに残してください

==================================================================*/
/* 共通CSS */
[class^="ank0"] {
    display: flex;
    flex-wrap: wrap;
}
[class^="ank0"] li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 10px 10px 20px;
    border: 1px solid var(--main-color);
    font-weight: bold;
    font-size: 94%;
    line-height: 1.7;
    color: var(--main-color);
    text-align: center;
    position: relative;
}
[class^="ank0"] li a::after {
    display: block;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f107";
    line-height: 1;
    letter-spacing: 0;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 4px;
    margin: auto;
}

/* 2列 */
.ank02 {
    gap: 10px 2%;
}
.ank02 li {
    width: 49%;
}
/* 3列 */
.ank03 {
    gap: 10px 0.5%;
}
.ank03 li {
    width: 33%;
}
/* 4列 */
.ank04 {
    gap: 10px 1%;
}
.ank04 li {
    width: 24%;
}

@media (hover: hover) {
    [class^="ank0"] li a {
        transition: 0.2s ease-in-out;
    }
    [class^="ank0"] li a:hover {
        background-color: var(--main-color);
        color: #fff;
    }
}
@media screen and (max-width: 640px) {
    .ank02, .ank03, .ank04 {
        flex-flow: column;
    }
    .ank02 li, .ank03 li, .ank04 li {
        width: 100%;
    }
    [class^="ank0"] li a {
        line-height: 1.5;
    }
}

/*==================================================================

  .list
  共通CSSなので使っていないものも消さずに残してください

==================================================================*/
.list01:not(:last-child),
.list02:not(:last-child),
.list03:not(:last-child),
.list04:not(:last-child),
.list05:not(:last-child),
.list06:not(:last-child),
.list07:not(:last-child),
.list08:not(:last-child),
.list08-box:not(:last-child),
.list09:not(:last-child),
.list10:not(:last-child),
.list11:not(:last-child),
.list12:not(:last-child),
.list13:not(:last-child),
.list14:not(:last-child) {
    margin-bottom: 1em;
}
/* 余白のみ */
.list01 li:not(:last-child) {
    margin-bottom: 10px;
}

/* 下線 */
.list02 li {
    padding-bottom: 5px;
    border-bottom: 1px dotted var(--border-color);
}
.list02 li:not(:last-child) {
    margin-bottom: 5px;
}

/* まる */
.list03 li {
    position: relative;
    padding-left: 15px;
    line-height: 1.5;
    text-align: left;
}
.list03 li:not(:last-child) {
    margin-bottom: 13px;
}
.list03 li::before {
    display: block;
    position: absolute;
    top: 7px;
    left: 0;
    width: 8px;
    height: 8px;
    background-color: var(--main-color);
    border-radius: 50%;
    content: '';
}

/* 矢印 */
.list04 li {
    position: relative;
    padding-left: 16px;
    line-height: 2;
}
.list04 li:not(:last-child) {
    margin-bottom: 10px;
}
.list04 li::before {
    display: block;
    content: "";
    width: 6px;
    height: 10px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background: var(--main-color);
    position: absolute;
    top: calc((2em - 10px) / 2);
    left: 0;
}

/* 矢印2 */
.list05 li {
    position: relative;
    padding-left: 16px;
    line-height: 2;
}
.list05 li:not(:last-child) {
    margin-bottom: 10px;
}
.list05 li:before {
    content: "";
    height: 6px;
    width: 6px;
    transform: rotate(45deg);
    background-color: transparent;
    border-width: 1px 1px 0 0;
    border-color: var(--main-color);
    border-style: solid;
    position: absolute;
    top: calc((2em - 8px) / 2);
    left: 0;
}
/* まる & 背景 */
.list06 {
    display: flex;
    flex-wrap: wrap;
    gap: 15px 50px;
    padding: 40px 50px;
    background-color: var(--bg-color);
}
.list06 li {
    position: relative;
    padding-left: 15px;
    line-height: 1.5;
}
.list06 li::before {
    display: block;
    position: absolute;
    top: 7px;
    left: 0;
    width: 8px;
    height: 8px;
    background-color: var(--main-color);
    border-radius: 50%;
    content: '';
}

/* まる & 枠 */
.list07 {
    border: 3px solid var(--border-color);
    padding: 30px;
}
.list07 li {
    position: relative;
    padding-left: 15px;
    line-height: 2;
}
.list07 li:not(:last-child) {
    margin-bottom: 10px;
}
.list07 li::before {
    display: block;
    position: absolute;
    top: calc((2em - 5px) / 2);
    left: 0;
    width: 5px;
    height: 5px;
    background-color: var(--main-color);
    border-radius: 50%;
    content: '';
}

/* チェック */
.list08 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 40px;
    padding: 30px;
    background-color: var(--bg-color);
}
.list08 li {
    position: relative;
    margin-left: 28px;
    border-bottom: 1px dotted var(--border-color);
}
.list08 li:before {
    display: block;
    font-family: "Font Awesome 6 Free";
    font-size: 18px;
    font-weight: 900;
    content: "\f00c";
    color: var(--main-color);
    letter-spacing: 0;
    position: absolute;
    top: -2px;
    left: -28px;
}

/* チェック装飾囲み */
.list08-box {
    position: relative;
    padding: 30px;
    background: var(--sub-color);
}
.list08-box .list08 {
    background-color: #fff;
}
.list08-box::before {
    position: absolute;
    width: 65px;
    height: 50px;
    top: -5px;
    left: -5px;
    margin: auto;
    clip-path: polygon(0 0, 0 85%, 100% 0);
    background-color: var(--main-color);
    z-index: 0;
    content: "";
}
.list08-box::after {
    position: absolute;
    width: 65px;
    height: 50px;
    bottom: -5px;
    right: -5px;
    margin: auto;
    clip-path: polygon(0 100%, 100% 100%, 100% 15%);
    background-color: var(--main-color);
    z-index: 0;
    content: "";
}

/* 点線 & 横並び */
.list09 {
    padding: 30px;
    background-color: var(--bg-color);
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
}
.list09 li {
    border-bottom: 1px dotted var(--border-color);
}

/* 線で囲む & 横並び */
.list10 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 5px;
}
.list10 li {
    padding: 3px 8px;
    border: 1px solid var(--border-color);
}

/* 数字＋背景色 */
.list11 {
    padding: 25px;
    background: var(--bg-color);
    counter-reset: section;
}
.list11 > li {
    padding-left: calc(1.6em + 5px);
    padding-bottom: 8px;
    border-bottom: var(--border-color) 1px dashed;
    position: relative;
}
.list11 > li:not(:last-child) {
    margin-bottom: 10px;
}
.list11 > li::before {
    counter-increment: section;
    content: counter(section);
    font-size: 106%;
    font-weight: bold;
    letter-spacing: 0;
    color: var(--main-color);
    position: absolute;
    left: 5px;
    top: 0;
}

/* ●の数字＋背景色 */
.list12 {
    padding: 25px;
    background: var(--bg-color);
    counter-reset: section;
}
.list12 > li {
    padding-left: calc(1.6em + 15px);
    padding-bottom: 8px;
    border-bottom: var(--border-color) 1px dashed;
    position: relative;
}
.list12 > li:not(:last-child) {
    margin-bottom: 10px;
}
.list12 > li::before {
    display: flex;
    flex-flow: column;
    justify-content: center;
    counter-increment: section;
    content: counter(section);
    width: 1.6em;
    height: 1.6em;
    font-size: 106%;
    font-weight: bold;
    color: #fff;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    background-color: var(--main-color);
    border-radius: 50%;
    position: absolute;
    left: 5px;
    top: 0;
}

/* 数字の右側に）＋背景色 */
.list13 {
    padding: 25px;
    background: var(--bg-color);
    counter-reset: section;
}
.list13 > li {
    padding-left: calc(2.4em + 5px);
    padding-bottom: 8px;
    border-bottom: var(--border-color) 1px dashed;
    position: relative;
}
.list13 > li:not(:last-child) {
    margin-bottom: 10px;
}
.list13 > li::before {
    counter-increment: section;
    content: counter(section) " )";
    font-size: 106%;
    font-weight: bold;
    letter-spacing: 0;
    color: var(--main-color);
    position: absolute;
    left: 5px;
    top: 0;
}

/* 米印 */
.list14 > * {
    color: #888;
    font-size: 95%;
    padding-left: 1em;
    text-indent: -1em;
}
.list14 > *:not(:last-child) {
    margin-bottom: 5px;
}
.list14 > *::before {
    content: "※";
}
@media screen and (max-width: 640px) {
    .list06, .list07, .list08, .list08-box, .list09, .list11, .list12, .list13 {
        padding: 20px;
    }
}

/*==================================================================

  .layout
  共通CSSなので使っていないものも消さずに残してください

==================================================================*/
/* --------------layout共通タイトル-------------- */
.layout_tit {
    font-size: 113%;
    font-weight: bold;
    line-height: 1.8;
    color: rgba(140, 122, 85, 1);
}
.layout_tit:not(:last-child) {
    margin-bottom: 15px;
}
.layout_tit em, .layout_tit span {
    margin-right: 10px;
    font-family: "trajan-pro-3", serif;
    font-weight: 400;
    font-size: 170%;
    line-height: 1;
    color: var(--main-color);
}

/* layout小タイトル */
.layout_tit_02 {
    color: var(--sub-color);
    font-size: 113%;
    font-weight: bold;
    line-height: 1.8;
}
.layout_tit_02:not(:last-child) {
    margin-bottom: 15px;
}
.layout01:not(:last-child), 
.layout02:not(:last-child), 
.layout03:not(:last-child), 
.layout04:not(:last-child), 
.layout05:not(:last-child), 
.layout06:not(:last-child), 
.layout07:not(:last-child), 
.layout08:not(:last-child), 
.layout09:not(:last-child), 
.layout10:not(:last-child), 
.layout11:not(:last-child), 
.layout12:not(:last-child) {
    margin-bottom: 1em;
}

/* 左にタイトル、右に文章 */
.layout01 {
    position: relative;
}
.layout01::before {
    position: absolute;
    top: -3px;
    left: 0;
    width: 100%;
    border-top: 1px solid var(--border-color);
    content: "";
}
.layout01 .layout01_box {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    margin: 5px 0;
}
.layout01 .layout01_box::after {
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 100%;
    border-top: 1px solid var(--border-color);
    content: "";
}
.layout01 .layout01_title {
    width: 30%;
    background-color: var(--bg-color);
    text-align: center;
    display: flex;
    flex-flow: column;
    justify-content: center;
    padding: 20px;
}
.layout01 .layout01_title.layout_tit, 
.layout01 .layout01_title .layout_tit {
    margin-bottom: 0;
}
.layout01 .layout01_title.layout_tit em, 
.layout01 .layout01_title .layout_tit em {
    display: block;
    margin-right: 0;
}
.layout01 .layout01_text {
    width: 70%;
    padding: 3%;
}

/* 2列 */
.layout02 {
    display: flex;
    flex-wrap: wrap;
    gap: 25px 2%;
}
.layout02 .layout02_box {
    width: 49%;
    padding: 30px;
    background-color: var(--bg-color);
}

/* 画像が左、右にタイトル、タイトル下に文章 */
.layout03 .layout03_box {
    display: flex;
    background-color: var(--bg-color);
    padding: 2%;
}
.layout03 .layout03_box:not(:last-child) {
    margin-bottom: 20px;
}
.layout03 .layout03_title {
    width: 27%;
    padding: 2%;
    background-color: #fff;
    text-align: center;
    display: flex;
    align-items: center;
}
.layout03 .layout03_text {
    width: 73%;
    padding: 1% 3%;
}

/* 画像が左、右にタイトル、タイトル下に文章、タイトルと文章のエリアは背景色が別の色 */
.layout04 .layout04_box {
    display: flex;
    background-color: var(--bg-color);
    padding: 2%;
}
.layout04 .layout04_box:not(:last-child) {
    margin-bottom: 20px;
}
.layout04 .layout04_title {
    width: 27%;
    padding-right: 2%;
    display: flex;
    align-items: center;
}
.layout04 .layout04_text {
    width: 73%;
    padding: 3%;
    background-color: #fff;
}

/* 3列に区切られたレイアウト。画像が左、画像の下にタイトル、右に文章 */
.layout05 .layout05_box {
    display: flex;
    background-color: var(--bg-color);
    padding: 2%;
}
.layout05 .layout05_box:not(:last-child) {
    margin-bottom: 20px;
}
.layout05 .layout05_title {
    padding: 2%;
    width: 25%;
    background-color: #fff;
    text-align: center;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
}
.layout05 .layout05_title img {
    padding-bottom: 10px;
    display: block;
}
.layout05 .layout05_text {
    padding: 1% 3%;
    width: 40%;
}
.layout05 .layout05_text:last-child {
    border-left: 1px solid var(--border-color);
}

/* 3列に区切られたレイアウト。左がタイトル、真ん中と右に文章 */
.layout06 .layout06_box {
    display: flex;
    position: relative;
}
.layout06 .layout06_box:not(:last-child) {
    padding-bottom: 5px;
}
.layout06 .layout06_box::before, .layout06 .layout06_box:last-child::after {
    position: absolute;
    left: 0;
    width: 100%;
    border-top: 1px solid var(--border-color);
    content: "";
}
.layout06 .layout06_box::before {
    top: -3px;
}
.layout06 .layout06_box:last-child::after {
    bottom: -3px;
}
.layout06 .layout06_title {
    width: 30%;
    background-color: var(--bg-color);
    text-align: center;
    display: flex;
    flex-flow: column;
    justify-content: center;
    padding: 20px;
}
.layout06 .layout06_title.layout_tit, .layout06 .layout06_title .layout_tit {
    margin-bottom: 0;
}
.layout06 .layout06_title.layout_tit em, .layout06 .layout06_title .layout_tit em {
    display: block;
    margin-right: 0;
}
.layout06 .layout06_text {
    width: 35%;
    padding: 2% 3%;
}
.layout06 .layout06_text:last-child {
    border-left: 1px solid var(--border-color);
}

/* 3列 */
.layout07 {
    display: flex;
    align-content: flex-start;
    flex-wrap: wrap;
    gap: 20px 2%;
}
.layout07 .layout07_box {
    width: 32%;
    padding: 3%;
    background-color: var(--bg-color);
}
.layout07 .layout07_box .layout07_title {
    text-align: center;
    padding-bottom: 15px;
    border-bottom: 1px dashed var(--border-color);
    margin-bottom: 15px;
}

/* 下矢印付き */
.layout08 .layout08_box {
    position: relative;
    padding: 3%;
    background-color: var(--bg-color);
}
.layout08 .layout08_box:not(:last-child) {
    margin-bottom: 25px;
}
.layout08 .layout08_box:not(:last-child)::before {
    position: absolute;
    right: 0px;
    left: 0;
    height: 7px;
    width: 7px;
    transform: rotate(135deg);
    background-color: transparent;
    border-top: 2px solid var(--main-color);
    border-right: 2px solid var(--main-color);
    content: "";
    bottom: -16px;
    margin: auto;
}
.layout08 .layout08_box .layout08_title {
    text-align: center;
    padding-bottom: 15px;
    border-bottom: 1px dashed var(--border-color);
    margin-bottom: 15px;
}

/* 画像が左、画像の下にタイトル、右に文章 */
.layout09 .layout09_box {
    display: flex;
    background: var(--bg-color);
    padding: 2%;
}
.layout09 .layout09_box:not(:last-child) {
    margin-bottom: 20px;
}
.layout09 .layout09_title {
    padding: 2%;
    width: 27%;
    background-color: #fff;
    text-align: center;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
}
.layout09 .layout09_title img {
    padding-bottom: 10px;
    display: block;
}
.layout09 .layout09_text {
    padding: 1% 3%;
    width: 73%;
}

/* 流れ */
.layout10 .flow_box {
    position: relative;
    display: flex;
    padding: 30px;
    background: var(--bg-color);
}
.layout10 .flow_box:nth-child(even) {
    background: #dfebf5;
}
.layout10 .flow_box::before {
    content: "";
    width: 4px;
    height: calc(100% - 4px);
    border-right: var(--sub-color) dotted 4px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 58px;
    margin: auto;
}
.layout10 .flow_box:first-child::before {
    top: 30px;
    bottom: auto;
    height: calc(100% - 32px);
}
.layout10 .flow_box:last-child::before {
    top: 2px;
    bottom: auto;
    height: 58px;
}
.layout10 .flow_box .number {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    margin-bottom: 0;
    margin-right: 4%;
    background: var(--main-color);
    border-radius: 50%;
    line-height: 1;
    color: #fff;
    font-size: 28px;
}
.layout10 .flow_box .layout10_box {
    width: 100%;
}

/* 症例 */
.layout11 {
    position: relative;
}
.layout11_box {
    padding: 8px;
    background: var(--bg-color);
}
[class^="layout11_image"] img {
    width: 100%;
}
[class^="layout11_text"] {
    margin-top: 8px;
}
[class^="layout11_text"] dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
[class^="layout11_text"] dl dt, 
[class^="layout11_text"] dl dd, 
[class^="layout11_text"] .desc {
    border: 1px solid var(--main-color);
}
[class^="layout11_text"] dl dt, 
[class^="layout11_text"] dl dd {
    margin-bottom: 2px;
    padding: 12px;
}
[class^="layout11_text"] dl dt {
    background: var(--main-color);
    color: #fff;
    font-weight: bold;
    text-align: center;
    width: 20%;
}
[class^="layout11_text"] dl dd {
    background: #fff;
    width: 80%;
}
[class^="layout11_text"] .desc {
    background: #fff;
    padding: 16px;
}

/* 症例 ver.2 */
.layout11_image02 {
    display: flex;
    justify-content: space-between;
}
.layout11_image02 span {
    position: relative;
    display: block;
    width: 47%;
}
.layout11_image02 span:last-child::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -32px;
    margin: auto;
    display: flex;
    align-items: center;
    content: "\f054";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 24px;
    color: var(--main-color);
    line-height: 1;
}
.layout11_text02 dl dt {
    margin-left: 2px;
    width: 15%;
}
.layout11_text02 dl dt:nth-of-type(odd) {
    margin-left: 0;
}
.layout11_text02 dl dd {
    width: calc(35% - 1px);
}

/* 注意書き */
.layout12 {
    background: var(--bg-color);
    display: block;
    position: relative;
    padding: 25px;
}
.layout12 .layout12_mark {
    width: 55px;
    height: 55px;
    background: var(--main-color);
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
    position: absolute;
    top: -15px;
    left: -5px;
    border-radius: 50%;
    font-size: 25px;
    font-weight: 600;
    color: #fff;
    z-index: 2;
}
.layout12 .layout12_mark::before {
    position: absolute;
    width: 15px;
    height: 20px;
    bottom: -3px;
    right: -3px;
    margin: auto;
    clip-path: polygon(100% 85%, 40% 0, 0 53%);
    background-color: var(--main-color);
    z-index: 1;
    content: "";
}
.layout12 .layout_tit {
    padding-left: 40px;
}

@media screen and (max-width: 640px) {
    /* 左にタイトル、右に文章 */
    .layout01 .layout01_box {
        display: block;
    }
    .layout01 .layout01_title {
        display: block;
        width: 100%;
        padding: 15px 10px;
    }
    .layout01 .layout01_text {
        width: 100%;
    }
    /* 2列 */
    .layout02 {
        display: block;
    }
    .layout02 .layout02_box {
        width: 100%;
        padding: 20px;
    }
    .layout02 .layout02_box:not(:last-child) {
        margin-bottom: 20px;
    }
    .layout02 .layout02_box img {
        width: 70%;
        margin: 0 auto;
        display: block;
    }
    /* 画像が左、右にタイトル、タイトル下に文章 */
    .layout03 .layout03_box {
        display: block;
        padding-bottom: 20px;
    }
    .layout03 .layout03_title {
        width: 100%;
    }
    .layout03 .layout03_title img {
        width: 70%;
        margin: 0 auto;
        display: block;
    }
    .layout03 .layout03_text {
        width: 100%;
        padding: 20px 3% 0;
    }
    /* 画像が左、右にタイトル、タイトル下に文章、タイトルと文章のエリアは背景色が別の色 */
    .layout04 .layout04_box {
        display: block;
    }
    .layout04 .layout04_title {
        width: 100%;
        padding: 2%;
    }
    .layout04 .layout04_title img {
        width: 70%;
        margin: 0 auto;
        display: block;
    }
    .layout04 .layout04_text {
        width: 100%;
    }
    /* 3列に区切られたレイアウト。画像が左、画像の下にタイトル、右に文章 */
    .layout05 .layout05_box {
        display: block;
        padding-bottom: 20px;
    }
    .layout05 .layout05_title {
        width: 100%;
        display: block;
    }
    .layout05 .layout05_title img {
        width: 70%;
        margin: 0 auto;
        display: block;
    }
    .layout05 .layout05_text {
        width: 100%;
        padding-bottom: 0;
        padding-top: 0;
        margin-top: 20px;
    }
    .layout05 .layout05_text:last-child {
        border-left: none;
    }
    /* 3列に区切られたレイアウト。左がタイトル、真ん中と右に文章 */
    .layout06 .layout06_box {
        display: block;
    }
    .layout06 .layout06_title {
        display: block;
        width: 100%;
    }
    .layout06 .layout06_title img {
        width: 70%;
        margin: 0 auto;
        display: block;
    }
    .layout06 .layout06_text {
        width: 100%;
        padding-bottom: 0;
        padding-top: 0;
        margin-top: 20px;
    }
    .layout06 .layout06_text:last-child {
        border: none;
        padding-bottom: 20px;
    }
    /* 3列 */
    .layout07 {
        display: block;
    }
    .layout07 .layout07_box {
        width: 100%;
        padding: 20px;
    }
    .layout07 .layout07_box:not(:last-child) {
        margin-bottom: 20px;
    }
    /* 下矢印付き */
    .layout08 .layout08_box {
        padding: 20px;
    }
    /* 画像が左、画像の下にタイトル、右に文章 */
    .layout09 .layout09_box {
        display: block;
        padding-bottom: 20px;
    }
    .layout09 .layout09_title {
        width: 100%;
        display: block;
    }
    .layout09 .layout09_title img {
        width: 70%;
        margin: 0 auto;
        display: block;
    }
    .layout09 .layout09_text {
        width: 100%;
        padding-top: 0;
        padding-bottom: 0;
        margin-top: 20px;
    }
    /* 流れ */
    .layout10 .flow_box {
        padding: 20px;
    }
    .layout10 .flow_box::before {
        display: none;
    }
    .layout10 .flow_box .number {
        width: 42px;
        height: 42px;
        margin-right: 20px;
        font-size: 20px;
    }
    /* 症例 */
    [class^="layout11_text"] dl dt, [class^="layout11_text"] dl dd {
        margin-left: 0;
        width: 100%;
    }
    [class^="layout11_text"] dl dt {
        margin-bottom: 0;
    }
    [class^="layout11_text"] dl dd {
        margin-bottom: 10px;
    }
    .layout11_image02 {
        flex-wrap: wrap;
    }
    .layout11_image02 span {
        width: 100%;
    }
    .layout11_image02 span:last-child {
        margin-top: 40px;
    }
    .layout11_image02 span:last-child::before {
        top: -32px;
        bottom: auto;
        left: 0;
        right: 0;
        justify-content: center;
        content: "\f078";
    }
}

/*==================================================================

  $table
  共通CSSなので使っていないものも消さずに残してください

==================================================================*/
/* tb01 */
.tb01 {
    width: 100%;
}
.tb01 th, .tb01 td {
    border-bottom: 1px solid var(--border-color);
    padding: 5px 0;
}
.tb01 th:not(:first-child), .tb01 td:not(:first-child) {
    padding-left: 1em;
}
.tb01 th {
    font-weight: bold;
    width: 26%;
}
/* tb02 */
.tb02 {
    width: 100%;
}
.tb02 td, .tb02 th {
    padding: 8px 20px;
    border: 1px solid var(--border-color);
}
.tb02 th {
    font-weight: bold;
    background-color: var(--bg-color);
}
.tb02 th span {
    font-size: 13px;
}
.tb02 td {
    background-color: #ffffff;
    text-align: center;
}

@media screen and (max-width: 640px) {
    /* tb02 縦積み */
    .tb02.ver th, .tb02.ver td {
        display: block;
        width: 100%;
        border-top: none;
    }
    .tb02.ver {
        border-top: 1px solid var(--border-color);
    }
    
    /* 横スクロール */
    .scroll_tb {
        overflow-x: scroll;
    }
    .scroll_tb table {
        width: 816px;
    }
    .scroll_tb table th {
        position: sticky;
        left: 0;
    }
    .scroll_tb table th::before {
        content: "";
        position: absolute;
        top: -1px;
        left: -1px;
        width: calc(100% + 2px);
        height: calc(100% + 2px);
        border: 1px solid var(--border-color);
    }
}

/*==================================================================

  応募フォーム

==================================================================*/
.contact {
    width: 100%;
}
.contact th, 
.contact td {
    padding: 20px;
    border: 10px solid #fff;
}
.contact th {
    font-weight: bold;
    background-color: rgba(248, 186, 186, 0.13);
}
.contact th .required {
    display: inline-block;
    color: #fff;
    background: #f09199;
    font-size: 15px;
    line-height: 1;
    padding: 7px 10px;
    margin-left: 10px;
    border-radius: 3px;
}
.contact td {
    background-color: #fff;
}
.contact input {
    max-width: 500px;
    width: 100%;
    font-size: 100%;
    padding: 10px 8px;
}
.contact input[type="radio"] {
    width: auto;
    margin-right: 10px;
}
.contact select {
    padding: 9px 5px !important;
}
.contact textarea {
    width: 100%;
}
.apply_form_txt {
    margin-top: 30px;
    padding: 30px 40px;
    text-align: center;
    background-color: #f5f5f5;
}
.apply_form .privacy {
    margin-top: 30px;
    padding: 30px 40px;
    text-align: center;
    border: 1px solid #ccc;
}
.apply_form .privacy h3 {
    margin-bottom: 5px;
    font-size: 140%;
    font-weight: bold;
}
.apply_form .privacy .list03 {
    display: inline-block;
}
.submit_btn {
    margin-top: 40px;
    text-align: center;
}
.submit_btn input {
    cursor: pointer;
    border: none;
    padding: 15px 20px;
    transition: 0.2s ease-in-out;
    max-width: 150px;
    width: 100%;
    font-size: 100%;
    margin: 0 10px 10px;
}
.submit_btn input:hover {
    opacity: 0.8;
}
.submit_btn input[type="reset"] {
    color: #fff;
    background: #888;
}
.submit_btn input[type="submit"] {
    color: #fff;
    background: var(--main-color);
}

/*reCAPTCHAのロゴ（バッジ）を非表示*/
.grecaptcha-badge {
    visibility: hidden;
}

@media screen and (max-width: 640px) {
    .contact th, 
    .contact td {
        display: block;
        width: 100%;
        border-top: none;
        border-left: none;
        border-right: none;
        padding: 10px 5%;
    }
    .contact tr:last-child td {
        border-bottom: none;
    }
    .contact input[type="date"] {
        display: block;
        margin-bottom: 10px;
    }
    .contact select {
        display: block;
        margin-bottom: 20px;
    }
    .submit_btn input {
        max-width: 110px;
    }
    .apply_form_txt {
        margin-top: 20px;
        padding: 25px 20px;
        text-align: left;
    }
    .apply_form .privacy {
        margin-top: 20px;
        padding: 25px 20px;
    }
}

/*==================================================================

  募集要項

==================================================================*/
/* schedule（下層LP共通） */
.schedule_list {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.schedule_list li {
    position: relative;
}
/* ライン */
.schedule_list li::before,
.schedule_list li::after {
    position: absolute;
    top: 130px;
    background-color: #ccc;
    content: "";
}
.schedule_list li::before {
    left: calc(50% - 9px);
    width: 18px;
    height: 18px;
    border-radius: 100%;
}
.schedule_list li::after {
    left: calc(50% - 2px);
    width: 4px;
    height: calc(100% - 100px);
}
.clock_tit {
    margin-bottom: 50px;
    text-align: center;
}
.clock_tit p {
    font-family: "Arial", Arial, sans-serif;
    font-weight: 600;
    font-size: 200%;
    color: #cab07b;
    line-height: 1;
}
.clock_tit h3 {
    font-size: 150%;
    font-family: "zen-maru-gothic", sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.4;
}
.schedule_cont figure {
    width: 500px;
    margin: 0 0 0 50%;
    padding: 0 40px;
}
.schedule_cont figure.left {
    margin: 0 50% 0 auto;
    text-align: right;
}

/* 時計 */
.clock {
    display: block;
    position: relative;
    width: 50px;
    height: 50px;
    border: 2px solid #ccc;
    border-radius: 50%;
    background: #fff;
    margin: 0 auto;
}

/* 共通針スタイル */
.hand {
    position: absolute;
    bottom: 50%;
    left: 50%;
    transform-origin: bottom center;
    background: #538eab;
    transform: rotate(0deg);
}

/* 短針スタイル */
.hand.hour {
    width: 4px;
    height: 30%;
}

/* 長針スタイル */
.hand.minute {
    width: 4px;
    height: 45%;
    background: #f6a9a9;
}

/* 短針：1時間 = 30deg */
.hour-08 { transform: rotate(240deg); }
.hour-09 { transform: rotate(270deg); }
.hour-10 { transform: rotate(300deg); }
.hour-11 { transform: rotate(330deg); }
.hour-12 { transform: rotate(0deg); }
.hour-13 { transform: rotate(30deg); }
.hour-14 { transform: rotate(60deg); }
.hour-15 { transform: rotate(90deg); }
.hour-16 { transform: rotate(120deg); }
.hour-17 { transform: rotate(150deg); }
.hour-18 { transform: rotate(180deg); }
.hour-19 { transform: rotate(210deg); }

/* 長針：30分 = 180deg */
.minute-00 { transform: rotate(0deg); }
.minute-15 { transform: rotate(90deg); }
.minute-30 { transform: rotate(180deg); }
.minute-45 { transform: rotate(270deg); }
.minute-50 { transform: rotate(300deg); }

/* 募集要項（下層LP共通） */
.tb02.recruit {
    width: 80%;
    margin: 0 auto;
}
.tb02.recruit th {
    width: 30%;
    padding: 15px 30px;
}
.tb02.recruit td {
    padding: 15px 30px;
    text-align: left;
}

@media screen and (max-width:640px) {
    .schedule_list {
        gap: 24px;
    }
    .clock_tit {
        margin: 0 auto 25px;
    }
    .clock_tit h3 {
        font-size: 130%;
    }
    .ulp_schedule_list li:last-of-type .clock_tit {
        margin: 0 auto 15px;
    }
    .schedule_list li::before, 
    .schedule_list li::after {
        top: 112px;
    }
    .schedule_list li::before {
        left: calc(50% - 6px);
        width: 12px;
        height: 12px;
    }
    .schedule_list li::after {
        height: 34px;
    }
    .schedule_cont figure {
        width: 100%;
        margin: 50px 0 0 0;
        padding: 0 20px;
    }
    .schedule_cont figure.left {
        margin: 50px 0 0 0;
    }
    .tb02.recruit {
        width: 100%;
        margin: 0 auto;
        border-top: 1px solid var(--border-color);
    }
    .tb02.recruit th,
    .tb02.recruit td {
        display: block;
        width: 100%;
    }
    .tb02.recruit th {
        padding: 12px 15px;
        text-align: center;
        border-width: 0 1px 0 1px;
    }
    .tb02.recruit td {
        padding: 12px 15px;
        border-width: 0 1px 1px 1px;
    }
}

/*==================================================================

  $doctor

==================================================================*/
.doctor_catch {
    position: relative;
    padding: 40px 50px; 
    background: url("../images/top_support_bg.jpg") no-repeat right 15% center;
}
.doctor_catch::before {
    position: absolute;
    left: 10px;
    top: 10px;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    background-color: #fff;
    content: "";
}
.doctor_catch p {
    position: relative;
    text-align: center;
    font-family: "zen-maru-gothic", sans-serif;
    font-weight: 500;
    font-size: 140%;
    letter-spacing: 0.1em;
}
.doctor_flex {
    display: flex;
    flex-direction: row-reverse;
}
.doctor_flex.about {
    flex-direction: row;
    gap: 60px;
}
.doctor_flex.about figure {
    width: 40%;
}
.doctor_flex.about .doctor_text {
    width: calc(60% - 60px);
}
.doctor_text h3 {
    margin-bottom: 20px;
    font-family: "zen-maru-gothic", sans-serif;
    font-weight: 500;
    font-size: 135%;
    letter-spacing: 0.08em;
    color: var(--main-color);
}
.doctor_text p {
    line-height: 2.2;
}

@media screen and (max-width:640px) {
    .doctor_catch {
        padding: 25px 25px;
    }
    .doctor_catch::before {
        left: 6px;
        top: 6px;
        width: calc(100% - 12px);
        height: calc(100% - 12px);
    }
    .doctor_catch p {
        text-align: left;
        font-size: 110%;
        line-height: 1.8;
    }
    .doctor_flex.about {
        flex-direction: column;
        gap: 20px;
    }
    .doctor_flex.about figure {
        width: 100%;
    }
    .doctor_flex.about .doctor_text {
        width: 100%;
    }
    .doctor_text h3 {
        margin-bottom: 12px;
        font-size: 118%;
        line-height: 1.8;
    }
}
/*==================================================================

  $interview

==================================================================*/
.interview_list {
    display: flex;
    flex-direction: column;
    gap: 60px;
}
.interview_box {
    display: flex;
    gap: 40px;
    padding: 50px;
    border-radius: 20px;
    background-color: rgba(83, 142, 171, 0.7);
}
.interview_list .interview_box:nth-of-type(2) {
    background-color: rgba(246, 169, 169, 0.7);
}
.interview_list .interview_box:nth-of-type(3) {
    background-color: rgba(79, 181, 196, 0.7);
}
.interview_list .interview_box:nth-of-type(4) {
    background-color: rgba(244, 179, 153, 0.7);
}
.interview_list .interview_box:nth-of-type(5) {
    background-color: rgba(196, 171, 120, 0.7);
}
.interview_box figure {
    width: 331px;
}
.interview_box figure img {
    border-radius: 10px 10px 0 0;
}
.interview_box figure figcaption {
    display: block;
    padding: 20px;
    text-align: center;
    font-size: 115%;
    font-weight: bold;
    border-radius: 0 0 10px 10px;
    background-color: #fff;
}
.interview_text {
    width: 769px;
}
.interview_text dt {
    position: relative;
    padding: 15px 30px 15px 80px;
    font-weight: bold;
    font-size: 105%;
    background-color: rgba(255, 255, 255, 0.6);
    border-radius: 10px 10px 0 0;
}
.interview_text dt::before {
    position: absolute;
    top: calc(50% - 20px);
    left: 25px;
    width: 40px;
    line-height: 40px;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    color: #538EAB;
    background-color: #fff;
    content: "Q";
}
.interview_text dd {
    position: relative;
    padding: 20px 30px 20px 80px;
    background-color: rgba(255, 255, 255, 1);
    border-radius: 0 0 10px 10px;
}
.interview_text dd:not(:last-of-type) {
    margin-bottom: 20px;
}
.interview_text dd::before {
    position: absolute;
    top: 20px;
    left: 25px;
    width: 40px;
    line-height: 40px;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    color: #538EAB;
    background-color: #f5f5f5;
    content: "A";
}
.interview_list .interview_box:nth-of-type(2) .interview_text dt::before,
.interview_list .interview_box:nth-of-type(2) .interview_text dd::before {
    color: #f6a9a9;
}
.interview_list .interview_box:nth-of-type(3) .interview_text dt::before,
.interview_list .interview_box:nth-of-type(3) .interview_text dd::before {
    color: #4fb5c4;
}
.interview_list .interview_box:nth-of-type(4) .interview_text dt::before,
.interview_list .interview_box:nth-of-type(4) .interview_text dd::before {
    color: #f4b399;
}
.interview_list .interview_box:nth-of-type(5) .interview_text dt::before,
.interview_list .interview_box:nth-of-type(5) .interview_text dd::before {
    color: #c4ab78;
}

@media screen and (max-width: 640px) {
    .interview_box {
        flex-direction: column;
        gap: 20px;
        padding: 20px;
    }
    .interview_box figure {
        width: 100%;
    }
    .interview_box figure figcaption {
        padding: 15px 10px;
        font-size: 110%;
    }
    .interview_text {
        width: 100%;
    }
    .interview_text dt {
        padding: 15px 20px 15px 70px;
    }
    .interview_text dd {
        min-height: 68px;
        padding: 15px 20px 15px 65px;
    }
    .interview_text dt::before,
    .interview_text dd::before {
        top: 18px;
        left: 15px;
        width: 34px;
        line-height: 34px;
        font-size: 17px;
    }
}

/*==================================================================

  $qa

==================================================================*/
.faq_list {
    margin: 0 auto;
}
.faq_list dt {
    margin-bottom: 30px;
    padding: 15px 65px 0 148px;
    min-height: 103px;
    background: url(../images/top_faq_icon_q.png) no-repeat left top / 103px auto;
}
.faq_list dt p {
    position: relative;
    padding: 23px 0;
    font-weight: bold;
    font-size: 17px;
    letter-spacing: 0.06em;
    text-align: center;
    border-radius: 10px;
    background-color: #e5d8ae;
}
.faq_list dt p::before {
    position: absolute;
    top: 12px;
    left: -15px;
    width: 16px;
    height: 14px;
    background-color: #e5d8ae;    
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
    content: "";
}
.faq_list dd {
    margin-left: 66px;
    padding: 13px 0 0 148px;
    background: url(../images/top_faq_icon_a.png) no-repeat left top / 103px auto;
}
.faq_list dd:not(:last-of-type) {
    margin-bottom: 60px;
}
.faq_list dd .teams{
    position: relative;
    padding: 37px 35px 40px 43px;
    border-radius: 10px;
    background: url("../images/top_support_bg.jpg") no-repeat right 15% center;
}
.faq_list dd .teams::before,
.faq_list dd > p::before {
    position: absolute;
    left: 8px;
    top: 8px;
    width: calc(100% - 16px);
    height: calc(100% - 16px);
    background-color: #fff;
    content: "";
}
.faq_list dd .teams::after,
.faq_list dd > p::after {
    position: absolute;
    top: 13px;
    left: -15px;
    width: 16px;
    height: 14px;
    background-color: #F5DBE8;
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
    content: "";
}
.faq_list dd .teams li {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 17px;
}
.faq_list dd .teams li:not(:last-of-type) {
    margin-bottom: 24px;
}
.faq_list dd .teams li .name {
    width: 127px;
    font-size: 15px;
    padding: 6px 0 7px;
    line-height: 1.333;
    letter-spacing: 0.06em;
    text-align: center;
    color: #fff;
    border-radius: 10px;
    background-color: #538eab;
}
.faq_list dd .teams li:nth-of-type(2) .name {
    background-color: #f6a9a9;
}
.faq_list dd .teams li .comment {
    margin-top: -5px;
    line-height: 1.875;
    letter-spacing: 0.06em;
}
.faq_list dd > p {
    position: relative;
    padding: 31px 68px 40px;
    border-radius: 10px;
    letter-spacing: 0.06em;
    line-height: 1.875;
    background: url("../images/top_support_bg.jpg") no-repeat right 15% center;
}
.faq_list dd > p span {
    position: relative;
}

@media screen and (max-width: 640px) {
    .faq_list dt {
        margin-bottom: 15px;
        padding: 0 0 0 78px;
        min-height: 56px;
        background-size: 56px auto;
    }
    .faq_list dt p {
        padding: 10px 15px;
        font-size: 15px;
        line-height: 1.7;
    }
    .faq_list dd {
        margin-left: 0;
        padding: 0 0 0 78px;
        background-size: 56px auto;
    }
    .faq_list dd:not(:last-of-type) {
        margin-bottom: 40px;
    }
    .faq_list dd .teams {
        padding: 20px 20px 20px;
        background-size: cover;
    }
    .faq_list dd .teams li {
        flex-direction: column;
        gap: 10px;
    }
    .faq_list dd .teams li:not(:last-of-type) {
        margin-bottom: 15px;
    }
    .faq_list dd .teams li .name {
        width: 100%;
        font-size: 14px;
    }
    .faq_list dd > p {
        padding: 20px 20px 20px;
        background-size: cover;
    }
}
/*==================================================================

  $accordion

==================================================================*/
.accordion_tit {
  background-color: var(--bg-color);
  padding: 15px 50px 15px 20px;
  cursor: pointer;
  position: relative;
  margin-bottom: 15px;
  transition: background-color 0.3s, color 0.2s;
}
.accordion_tit::before,
.accordion_tit::after {
  display: block;
  content: "";
  width: 16px;
  height: 2px;
  background: var(--main-color);
  position: absolute;
  right: 20px;
  top: 50%;
  transition: transform 0.3s, opacity 0.3s;
}
.accordion_tit::before {
  transform: rotate(90deg);
}
@media (hover: hover) {
  .accordion_tit {
    transition: background-color 0.3s;
  }
  .accordion_tit:hover {
    background-color: #cdcdcd;
  }
}
.accordion_tit.open {
  color: #fff;
  background: var(--main-color);
}
.accordion_tit.open::before {
  opacity: 0;
  transform: rotate(180deg);
}
.accordion_tit.open::after {
  background: #fff;
}
.accordion_text {
  display: none;
  padding: 0 20px 30px;
}

/* Q&A */
.accordion.accordion-qa .accordion_tit,
.accordion.accordion-qa .accordion_text {
  padding-left: 55px;
  position: relative;
}
.accordion.accordion-qa .accordion_tit > *:before,
.accordion.accordion-qa .accordion_text:before {
  font-family: "Times New Roman", Times, serif;
  font-weight: normal;
  font-size: 175%;
  line-height: 1;
  position: absolute;
  left: 20px;
}
.accordion.accordion-qa .accordion_tit > *:before {
  color: var(--main-color);
  content: "Q.";
  top: 15px;
  transition: color 0.2s;
}
.accordion.accordion-qa .accordion_tit.open > *:before {
  color: #fff;
}
.accordion.accordion-qa .accordion_text:before {
  color: var(--sub-color);
  content: "A.";
  top: 0;
}

/*==================================================================

  ぱんくず

==================================================================*/
.breadcrumb {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 0 5px;
    position: relative;
    margin-bottom: 30px;
    font-size: 14px;
}
.breadcrumb i {
    margin-right: 5px;
}
.breadcrumb li:after {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 12px;
    letter-spacing: 0;
    content: "\f054";
    padding-left: 5px;
    padding-right: 5px;
}
.breadcrumb li:last-child:after {
    content: "";
}
@media (hover: hover) {
    .breadcrumb a:hover {
        text-decoration: underline;
    }
}
@media screen and (max-width: 640px) {
    .breadcrumb {
        margin-bottom: 40px;
    }
}

/*==================================================================

  404ページ

==================================================================*/
.none_page_p {
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.6;
}


/*==================================================================

  CSSアニメーション

==================================================================*/
/* フェードイン */
.fadeIn{
  opacity: 0;
  visibility: visible;
}
.is-visible.fadeIn{
  animation: fadeIn 1s cubic-bezier(0.645, 0.045, 0.355, 1.000) forwards;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* フェードイン（下→上） */
.fadeInUp{
  opacity: 0;
  visibility: visible;
}
.is-visible.fadeInUp{
  animation: fadeInUp 1s cubic-bezier(0.645, 0.045, 0.355, 1.000) forwards;
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* フェードイン（右→左） */
.fadeInRight{
  opacity: 0;
  visibility: visible;
}
.is-visible.fadeInRight{
  animation: fadeInRight 1s cubic-bezier(0.645, 0.045, 0.355, 1.000) forwards;
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translate3d(100%, 0, 0);;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* フェードイン（左→右） */
.fadeInLeft{
  opacity: 0;
  visibility: visible;
}
.is-visible.fadeInLeft{
  animation: fadeInLeft 1s cubic-bezier(0.645, 0.045, 0.355, 1.000) forwards;
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* フリップ（右回転） */
.flipRight{
  opacity: 0;
  visibility: visible;
}
.is-visible.flipRight{
  animation: flipRight 1s cubic-bezier(0.645, 0.045, 0.355, 1.000) forwards;
  transform: rotateY(-180deg);
}
@keyframes flipRight {
  0% {
    opacity: 0;
    transform: rotateY(-180deg);
  }
  100% {
    opacity: 1;
    transform: rotateY(0deg);
  }
}

/* フリップ（左回転） */
.flipLeft{
  opacity: 0;
  visibility: visible;
  transform: rotateY(180deg);
}
.is-visible.flipLeft{
  animation: flipLeft 1s cubic-bezier(0.645, 0.045, 0.355, 1.000) forwards;
}
@keyframes flipLeft {
  0% {
    opacity: 0;
    transform: rotateY(180deg);
  }
  100% {
    opacity: 1;
    transform: rotateY(0deg);
  }
}

/* 恒常的に動くアニメーション */

/* ゆっくり回転（右回転） */
.rotateRight{
  animation: rotateRight 20s linear infinite;
}
@keyframes rotateRight {
  0% {
    transform: rotate(0deg);
  }
  100% {
    opacity: 1;
    transform: rotate(360deg);
  }
}

/* ゆっくり回転（左回転） */
.rotateLeft{
  animation: rotateLeft 20s linear infinite;
}
@keyframes rotateLeft {
  0% {
    transform: rotate(0deg);
  }
  100% {
    opacity: 1;
    transform: rotate(-360deg);
  }
}

/* 浮遊（基準点から上） */
.floatingUp{
  animation: floatingUp 10s ease-in-out infinite;
}
@keyframes floatingUp {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-30px);
  }
  100% {
    transform: translateY(0);
  }
}

/* 浮遊（基準点から下） */
.floatingDown{
  animation: floatingDown 10s ease-in-out infinite;
}
@keyframes floatingDown {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(30px);
  }
  100% {
    transform: translateY(0);
  }
}

/* 生き物が跳ねる（鳥、リスなど） */
.jumping{
  position: relative;
  animation: jumping 1s ease-in-out infinite;
}
@keyframes jumping{
  0% {
    top: 0;
  }
  10% {
    top: -5px;
  }
  20% {
    top: 0px;
  }
  30% {
    top: -5px;
  }
  40% {
    top: 0px;
  }
  100% {
    top: 0px;
  }
}

/*============================================================================

  common

============================================================================*/
.pc_inline{display:inline!important}.sp_inline{display:none!important}.sp_inline_ip{display:none!important}.pc_table{display:none!important}.sp_table{display:none!important}.w010par{width:10%!important}.w020par{width:20%!important}.w025par{width:25%!important}.w050par{width:50%!important}.w075par{width:75%!important}.w100par{width:100%!important}.w010{width:10px!important}.w020{width:20px!important}.w030{width:30px!important}.w040{width:40px!important}.w050{width:50px!important}.w060{width:60px!important}.w070{width:70px!important}.w080{width:80px!important}.w090{width:90px!important}.w100{width:100px!important}.w110{width:110px!important}.w120{width:120px!important}.w130{width:130px!important}.w140{width:140px!important}.w150{width:150px!important}.w160{width:160px!important}.w170{width:170px!important}.w180{width:180px!important}.w190{width:190px!important}.w200{width:200px!important}.w210{width:210px!important}.w220{width:220px!important}.w230{width:230px!important}.w240{width:240px!important}.w250{width:250px!important}.w255{width:255px!important}.w260{width:260px!important}.w270{width:270px!important}.w280{width:280px!important}.w290{width:290px!important}.w300{width:300px!important}.w305{width:305px!important}.w310{width:310px!important}.w320{width:320px!important}.w330{width:330px!important}.w340{width:340px!important}.w350{width:350px!important}.w360{width:360px!important}.w365{width:365px!important}.w370{width:370px!important}.w380{width:380px!important}.w390{width:390px!important}.w400{width:400px!important}.w410{width:400px!important}.w415{width:415px!important}.w420{width:420px!important}.w430{width:430px!important}.w435{width:435px!important}.w440{width:440px!important}.w450{width:450px!important}.w460{width:460px!important}.w470{width:470px!important}.w480{width:480px!important}.w490{width:490px!important}.w500{width:500px!important}.w510{width:510px!important}.w520{width:520px!important}.w530{width:530px!important}.w540{width:540px!important}.w550{width:550px!important}.w560{width:560px!important}.w570{width:570px!important}.w580{width:580px!important}.w590{width:590px!important}.w600{width:600px!important}.w610{width:610px!important}.w620{width:620px!important}.w630{width:630px!important}.w640{width:640px!important}.w650{width:650px!important}.w660{width:660px!important}.w670{width:670px!important}.w680{width:680px!important}.w690{width:690px!important}.w700{width:700px!important}.w710{width:710px!important}.w720{width:720px!important}.w730{width:730px!important}.w740{width:740px!important}.w750{width:750px!important}.w760{width:760px!important}.w765{width:765px!important}.w960{width:960px!important}.w980{width:980px!important}.h030{height:30px!important}.h180{height:180px!important}.h190{height:190px!important}.h200{height:200px!important}.h240{height:240px!important}.h250{height:250px!important}.h280{height:280px!important}.h300{height:300px!important}.h350{height:350px!important}.mt00{margin-top:0!important}.mt01{margin-top:1px!important}.mt02{margin-top:2px!important}.mt03{margin-top:3px!important}.mt04{margin-top:4px!important}.mt05{margin-top:5px!important}.mt06{margin-top:6px!important}.mt07{margin-top:7px!important}.mt08{margin-top:8px!important}.mt09{margin-top:9px!important}.mt10{margin-top:10px!important}.mt15{margin-top:15px!important}.mt20{margin-top:20px!important}.mt25{margin-top:25px!important}.mt30{margin-top:30px!important}.mt35{margin-top:35px!important}.mt40{margin-top:40px!important}.mt45{margin-top:45px!important}.mt50{margin-top:50px!important}.mt60{margin-top:60px!important}.mt70{margin-top:70px!important}.mt80{margin-top:80px!important}.mt90{margin-top:90px!important}.mt100{margin-top:100px!important}.mt110{margin-top:110px!important}.mt120{margin-top:120px!important}.mr00{margin-right:0!important}.mr01{margin-right:1px!important}.mr02{margin-right:2px!important}.mr03{margin-right:3px!important}.mr04{margin-right:4px!important}.mr05{margin-right:5px!important}.mr06{margin-right:6px!important}.mr07{margin-right:7px!important}.mr08{margin-right:8px!important}.mr09{margin-right:9px!important}.mr10{margin-right:10px!important}.mr15{margin-right:15px!important}.mr20{margin-right:20px!important}.mr25{margin-right:25px!important}.mr30{margin-right:30px!important}.mr35{margin-right:35px!important}.mr40{margin-right:40px!important}.mr45{margin-right:45px!important}.mr50{margin-right:50px!important}.mr60{margin-right:60px!important}.mr70{margin-right:70px!important}.mr80{margin-right:80px!important}.mr90{margin-right:90px!important}.mr100{margin-right:100px!important}.mb00{margin-bottom:0!important}.mb01{margin-bottom:1px!important}.mb02{margin-bottom:2px!important}.mb03{margin-bottom:3px!important}.mb04{margin-bottom:4px!important}.mb05{margin-bottom:5px!important}.mb06{margin-bottom:6px!important}.mb07{margin-bottom:7px!important}.mb08{margin-bottom:8px!important}.mb09{margin-bottom:9px!important}.mb10{margin-bottom:10px!important}.mb15{margin-bottom:15px!important}.mb20{margin-bottom:20px!important}.mb25{margin-bottom:25px!important}.mb30{margin-bottom:30px!important}.mb35{margin-bottom:35px!important}.mb40{margin-bottom:40px!important}.mb45{margin-bottom:45px!important}.mb50{margin-bottom:50px!important}.mb60{margin-bottom:60px!important}.mb70{margin-bottom:70px!important}.mb80{margin-bottom:80px!important}.mb90{margin-bottom:90px!important}.mb100{margin-bottom:100px!important}.ml00{margin-left:0!important}.ml01{margin-left:1px!important}.ml02{margin-left:2px!important}.ml03{margin-left:3px!important}.ml04{margin-left:4px!important}.ml05{margin-left:5px!important}.ml06{margin-left:6px!important}.ml07{margin-left:7px!important}.ml08{margin-left:8px!important}.ml09{margin-left:9px!important}.ml10{margin-left:10px!important}.ml12{margin-left:12px!important}.ml15{margin-left:15px!important}.ml20{margin-left:20px!important}.ml25{margin-left:25px!important}.ml30{margin-left:30px!important}.ml35{margin-left:35px!important}.ml40{margin-left:40px!important}.ml45{margin-left:45px!important}.ml50{margin-left:50px!important}.ml60{margin-left:60px!important}.ml70{margin-left:70px!important}.ml80{margin-left:80px!important}.ml90{margin-left:90px!important}.ml100{margin-left:100px!important}.ml140{margin-left:140px!important}.ml160{margin-left:160px!important}.ma10{margin:10px!important}.ma15{margin:15px!important}.ma_auto{margin-left:auto;margin-right:auto!important}.pt00{padding-top:0!important}.pt01{padding-top:1px!important}.pt02{padding-top:2px!important}.pt03{padding-top:3px!important}.pt04{padding-top:4px!important}.pt05{padding-top:5px!important}.pt06{padding-top:6px!important}.pt07{padding-top:7px!important}.pt08{padding-top:8px!important}.pt09{padding-top:9px!important}.pt10{padding-top:10px!important}.pt15{padding-top:15px!important}.pt20{padding-top:20px!important}.pt25{padding-top:25px!important}.pt30{padding-top:30px!important}.pt35{padding-top:35px!important}.pt40{padding-top:40px!important}.pt45{padding-top:45px!important}.pt50{padding-top:50px!important}.pt60{padding-top:60px!important}.pt70{padding-top:70px!important}.pt80{padding-top:80px!important}.pt90{padding-top:90px!important}.pt100{padding-top:100px!important}.pt120{padding-top:120px!important}.pr00{padding-right:0!important}.pr01{padding-right:1px!important}.pr02{padding-right:2px!important}.pr03{padding-right:3px!important}.pr04{padding-right:4px!important}.pr05{padding-right:5px!important}.pr06{padding-right:6px!important}.pr07{padding-right:7px!important}.pr08{padding-right:8px!important}.pr09{padding-right:9px!important}.pr10{padding-right:10px!important}.pr15{padding-right:15px!important}.pr20{padding-right:20px!important}.pr25{padding-right:25px!important}.pr30{padding-right:30px!important}.pr35{padding-right:35px!important}.pr40{padding-right:40px!important}.pr45{padding-right:45px!important}.pr50{padding-right:50px!important}.pr60{padding-right:60px!important}.pr70{padding-right:70px!important}.pr80{padding-right:80px!important}.pr90{padding-right:90px!important}.pr100{padding-right:100px!important}.pb00{padding-bottom:0!important}.pb01{padding-bottom:1px!important}.pb02{padding-bottom:2px!important}.pb03{padding-bottom:3px!important}.pb04{padding-bottom:4px!important}.pb05{padding-bottom:5px!important}.pb06{padding-bottom:6px!important}.pb07{padding-bottom:7px!important}.pb08{padding-bottom:8px!important}.pb09{padding-bottom:9px!important}.pb10{padding-bottom:10px!important}.pb15{padding-bottom:15px!important}.pb20{padding-bottom:20px!important}.pb25{padding-bottom:25px!important}.pb30{padding-bottom:30px!important}.pb35{padding-bottom:35px!important}.pb40{padding-bottom:40px!important}.pb45{padding-bottom:45px!important}.pb50{padding-bottom:50px!important}.pb60{padding-bottom:60px!important}.pb70{padding-bottom:70px!important}.pb80{padding-bottom:80px!important}.pb90{padding-bottom:90px!important}.pb100{padding-bottom:100px!important}.pl00{padding-left:0!important}.pl01{padding-left:1px!important}.pl02{padding-left:2px!important}.pl03{padding-left:3px!important}.pl04{padding-left:4px!important}.pl05{padding-left:5px!important}.pl06{padding-left:6px!important}.pl07{padding-left:7px!important}.pl08{padding-left:8px!important}.pl09{padding-left:9px!important}.pl10{padding-left:10px!important}.pl15{padding-left:15px!important}.pl20{padding-left:20px!important}.pl25{padding-left:25px!important}.pl30{padding-left:30px!important}.pl35{padding-left:35px!important}.pl40{padding-left:40px!important}.pl45{padding-left:45px!important}.pl50{padding-left:50px!important}.pl60{padding-left:60px!important}.pl70{padding-left:70px!important}.pl80{padding-left:80px!important}.pl90{padding-left:90px!important}.pl100{padding-left:100px!important}.pa01{padding:1px!important}.pa02{padding:2px!important}.pa03{padding:3px!important}.pa04{padding:4px!important}.pa05{padding:5px!important}.pa10{padding:10px!important}.pa15{padding:15px!important}.fr{float:right!important}.fl{float:left!important}.fr10{float:right;margin-left:10px!important}.fr15{float:right;margin-left:15px!important}.fr30{float:right;margin-left:15px!important}.fl10{float:left;margin-right:10px!important}.fl15{float:left;margin-right:15px!important}.fl30{float:left;margin-right:30px!important}.txt10{font-size:10px!important}.txt11{font-size:11px!important}.txt12{font-size:12px!important}.txt13{font-size:13px!important}.txt14{font-size:14px!important}.txt15{font-size:15px!important}.txt16{font-size:16px!important}.txt17{font-size:17px!important}.txt18{font-size:18px!important}.txt19{font-size:19px!important}.txt20{font-size:20px!important}.txt21{font-size:21px!important}.txt22{font-size:22px!important}.txt23{font-size:23px!important}.txt24{font-size:24px!important}.txt25{font-size:25px!important}.txt26{font-size:26px!important}.txt27{font-size:27px!important}.txt28{font-size:28px!important}.txt29{font-size:29px!important}.txt30{font-size:30px!important}.txt31{font-size:31px!important}.txt32{font-size:32px!important}.txt33{font-size:33px!important}.txt34{font-size:34px!important}.txt35{font-size:35px!important}.txt36{font-size:36px!important}.txt37{font-size:37px!important}.txt38{font-size:38px!important}.txt39{font-size:39px!important}.txt40{font-size:40px!important}.bold{font-weight:700!important}.left{text-align:left!important}.center{text-align:center!important}.right{text-align:right!important}.clear{clear:both!important}.v_top{vertical-align:top!important}.v_mid{vertical-align:middle!important}.v_btm{vertical-align:bottom!important}.color_red{color:#f33!important}.color_pink{color:#ed8c96!important}.color_blue{color:#00408f!important}.color_green{color:#479f9d!important}.color_orange{color:#ff8327!important}.color_yellow{color:#ffeb8b!important}.color_beige{color:#dac58b!important}.color_brown{color:#9b8052!important}.color_navy{color:#1f2774!important}.color_black{color:#333!important}.ls_0{letter-spacing:0!important}.ls_1{letter-spacing:1px!important}.indent{margin-left:1em!important;text-indent:-1em!important}.line_h_2{line-height:2!important}.clearfix:after{display:block!important;clear:both!important;content:""!important}.sp{display:none!important}

@media screen and (max-width: 640px) {
  .pc{display:none!important}.sp{display:block!important}.pc_inline{display:none!important}.sp_inline{display:inline!important}.pc_table{display:table!important}.sp_table{display:table!important}.sp_mb00{margin-bottom:0!important}.sp_mr00{margin-right:0!important}.sp_ml00{margin-left:0!important}.sp_mt00{margin-top:0!important}.sp_pb00{padding-bottom:0!important}.sp_pr00{padding-right:0!important}.sp_pl00{padding-left:0!important}.sp_pt00{padding-top:0!important}.sp_center{text-align:center!important}
}




.job_btn_list {
	a[href="coming.html"] {
		position: relative;
		display: block;
        overflow: hidden;
        border-radius: 12px;
		&::before {
            content: "準備中";
            background: rgba(0, 0, 0, 0.4);
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            display: flex;
            position: absolute;
            justify-content: center;
            align-items: center;
			color: white;
			z-index: 9;
		}
	
	}
}