@charset "UTF-8";

html {
  /* 画面幅 1400px のとき 10px = 1rem  / 1300px で 固定 */
  font-size: max(0.7242vw, 9.2853px);
  color: #2e2e2e;
}

body {
  font-size: 14px;
  font-size: 1.4rem;
}

/*
	common
========================================================================== */
.idx,
.idx * {
  box-sizing: border-box;
}

.txt171 {
  font-size: 171%;
}

.txt170 {
  font-size: 170%;
}

.txt140 {
  font-size: 140%;
}

.txt138 {
  font-size: 138%;
}

.txt133 {
  font-size: 133%;
}

.txt125 {
  font-size: 125%;
}

.txt123 {
  font-size: 123%;
}

.txt118 {
  font-size: 118%;
}

.txt117 {
  font-size: 117%;
}

.txt115 {
  font-size: 115%;
}

.txt112 {
  font-size: 112%;
}

.txt108 {
  font-size: 108%;
}

.txt107 {
  font-size: 107%;
}

.txt106 {
  font-size: 106%;
}

.txt88 {
  font-size: 88%;
}

.txt84 {
  font-size: 84%;
}

.txt74 {
  font-size: 74%;
}

.txt70 {
  font-size: 70%;
}

/*
	kv
========================================================================== */
.idx_kv {
  width: 100%;
  position: relative;
  margin-bottom: 2rem;
	aspect-ratio: 2800 / 1460;
	overflow: hidden;
}

.idx_kv h1 {
  font-size: 1.25rem;
  line-height: 1;
  position: absolute;
  top: 1.2rem;
  right: 5.5rem;
  z-index: 60;
}

.idx_kv_catch {
  position: absolute;
  /* width: 39.2rem; */
  /* top: 3vw; */
  /* left: 22vw; */
  z-index: 60;
	width: 33.2rem;
  top: 50%;
	transform: translateY(-50%);
	left: 24.6vw;
}

.idx_kv_info,
.idx_kv .bx-wrapper:after {
  position: absolute;
  width: 35.5rem;
  height: 57.8rem;
  right: 5.7rem;
  bottom: 0;
}

.idx_kv_info {
  z-index: 62;
  display: flex;
  align-items: flex-end;
}

.idx_kv_info .inr {
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 1.67rem;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding-bottom: 3rem;
}

.idx_kv .bx-wrapper:after {
  content: "";
  z-index: 60;
  mix-blend-mode: multiply;
  background-color: #cec9bf;
}

.idx_kv_info_logo {
  width: 21.5rem;
  margin: 0 auto 4.4rem;
}

.idx_kv_info_tel {
  text-align: center;
}

.idx_kv_info_tel span {
  display: inline-block;
  width: 25.85rem;
}

.idx_kv_info_addr {
  width: 27.2rem;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 0.5em 0 0.5em 0.3em;
  margin: 0.8em 0 0.75em;
}

.idx_kv_info_time .hosoku {
  font-size: 83%;
  text-align: right;
}

.idx_kv_info_web {
  display: block;
  width: 27.3rem;
  margin-top: 1.5rem;
}

.idx_kv_bnr {
    position: absolute;
    left: 1.5rem;
		bottom: 6.5rem;
    display:flex;
    gap:1.2rem;
    z-index:64;
}

.idx_kv_bnr > a{
    aspect-ratio:1/1;
    width: 15rem;
}

/* bnr-orthofair  */
.bnr-orthofair {
  margin: 4rem auto 10rem;
  width: 1000px;
}

.bnr-orthofair a {
  display: block;
  /* margin-left: -71px; */
}

/*
  reserves
========================================================================== */
.idx_reserves{
	margin-top: 8rem;
	position: relative;
  padding: max(5vw,65px) 0 max(3.286vw,42px);
	font-size: max(1vw,13px);
	background-color: #cec9bf;
	margin-bottom: max(9.286vw,120px);
	font-family: 'Noto Serif JP', sans-serif;
}
.idx_reserves::before{
	position: absolute;
	content:"";
	left:0;
	right:0;
	bottom:0;
	top:0;
	mix-blend-mode: multiply;
	background-image:url(../images/top/gallery03.jpg);
	background-size: cover;
	background-position: center;
	opacity: 0.24;
}
.idx_reserves > * {
	position: relative;
	z-index: 2;
}
.idx_reserves h2 {
    color:#fff;
    line-height:1;
		margin-bottom: 2.5em;
}
.idx_reserves h2 .en {
    font-size: 4.4em;
    letter-spacing: 0.12em;
    display:block;
}

.idx_reserves h2 .ja{
    font-size:1.6em;
    display:block;
    margin-top:0.65em;
    letter-spacing:0.08em;
}

.idx_reserves .inr{
	position: relative;
	width: 63em;
	padding:2.5em 1.8em 1em;
	background:#fff;
	margin:auto;
	box-sizing: border-box;
}

.idx_reserves .btns {
    display: flex;
    justify-content: center;
    gap: 2em;
}

.idx_reserves .btns a{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap: 0.24em;
    font-size: 2.5em;
    line-height: 1;
    letter-spacing:0.2em;
    width: 10em;
    padding: 0.64em 0;
    font-weight: 600;
    color: #454545;
    /* color: #fff; */
    background: radial-gradient(circle at center, #d2c18f 0%, #aa9b60 68%);
    color: #fff;
		position: relative;
}

.idx_reserves .btns a:after{
	content:"";
	position: absolute;
	right: 0.2em;
  bottom: 0.2em;
  width: 0.45em;
	aspect-ratio: 1/1;
	clip-path: polygon(0 100%, 100% 100%, 100% 0);
	background-color: #fff;
}
.idx_reserves .btns a i{
    font-size:0.46em;
    letter-spacing:0;
}

.idx_reserves .notes{
	margin-top: 1.2em;
  font-size: 1.6rem;
}

.idx_reserves .tel{
	font-size: 3.2rem;
}

.idx_reserves h3{
	font-size: 2.4em;
  margin-bottom: 0.6em;
}
.idx_reserves_tab {
	font-family: 'Noto Sans JP', sans-serif;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
		margin-bottom: 0.8em;
}

.idx_reserves_tab li{
    font-size:0.92em;
    padding: 0.2em 1em;
    background:#c2c2c2;
    text-align:center;
    border-radius:2em;
    color:#fff;
		cursor: pointer;
}

.idx_reserves_tab li.active{
    background:var(--sub-color);
}

.idx_reserves_cont {
    width: 100%;
    aspect-ratio: 975/210;
}
.idx_reserves_cont iframe {
    width: 100%;
    height: auto;
		min-height: 220;
    aspect-ratio: 975/210;
    display: block;
}

.idx_reserves .btn{
	display: block;
	width: fit-content;
	font-size: 1.3em;
	padding: 0.35em 5em;
	color:#fff;
	font-family: 'Noto Sans JP', sans-serif;
	margin:1.5em auto 0;
	border-radius: 2em;
	border:1px solid #fff;
}
.idx_reserves .btn:hover{
	background-color: rgba(255, 255, 255, 0.5);
	opacity: 1;
}

/*
	news
========================================================================== */
.idx_news {
  margin-top: 4.5rem;
  padding: 3rem 0 2.5rem;
  background-color: #fafaf7;
}

.idx_news .inr {
  width: 122rem;
  margin: auto;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.idx_news_lead {
  width: 19.4rem;
  margin-right: 4.5rem;
  padding-top: 0.6rem;
  padding-bottom: 1.1rem;
  border-right: 1px solid #565656;
}

.idx_news_lead h2 {
  width: 15.6rem;
  margin-bottom: 2.3rem;
}

.idx_news_lead .btn {
  display: block;
  width: 9.7rem;
  margin-right: 3rem;
  margin-left: auto;
}

.idx_news_cont {
  width: 57rem;
  padding-top: 2.4rem;
}

.idx_news_cont dl {
  display: flex;
}

.idx_news_cont dl + dl {
  margin-top: 2rem;
}

.idx_news_cont dl dt {
  width: 8em;
  flex-shrink: 1;
  font-weight: 1.3rem;
}

.idx_news_cont dl dd {
  width: 100%;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  font-size: 1.5rem;
}

.idx_news_cont dl dd a {
  text-decoration: underline;
}

/*
	mhlw
========================================================================== */
.idx_mhlw {
  margin: 8rem 0 0;
}

.idx_mhlw .inr {
  width: 123.7rem;
  margin: auto;
  border: 1px solid #b8b9ba;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 8.5rem 0 4.5rem;
}

.idx_mhlw .inr:after {
  content: "";
  position: absolute;
  border: 1px solid #b8b9ba;
  top: 0.6rem;
  left: 0.6rem;
  right: 0.6rem;
  bottom: 0.6rem;
  pointer-events: none;
}

.idx_mhlw_logo {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  background-color: #fff;
  width: 7.1rem;
  z-index: 2;
}

.idx_mhlw h2 {
  font-size: 2.5rem;
	font-size: 3.2rem;
  text-align: center;
  margin-bottom: 3rem;
}

.idx_mhlw h2 .ul {
  border-bottom: 1px solid;
}

.idx_mhlw p{
	font-size: 2.2rem;
	line-height: 1.6;
}
.idx_mhlw li {
  font-size: 2.4rem;
  padding-left: 3.6rem;
  background-image: url(../images/top/mhlw_ck.png);
  background-size: 2.75rem auto;
  background-position: 0 0.15em;
  background-repeat: no-repeat;
}

/*
	generation
========================================================================== */
.idx_gen {
  background-image: url(../images/top/gen_bg.jpg?20240130);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center bottom;
  background-color: #fffce9;
  padding: 9rem 0 66rem;
  margin-top: 11rem;
  position: relative;
}

.idx_gen::before {
  position: absolute;
  content: "";
  left: 50%;
  top: 0;
  transform: translate(-50%, -46%);
  width: 8.65rem;
  height: 8rem;
  background-image: url(../images/top/cmn_logo.png);
  background-position: center center;
  background-size: contain;
}

.idx_gen_lead {
  width: 116.4rem;
  margin: 0 auto;
  position: relative;
  padding-bottom: 4.5rem;
}

.idx_gen_lead h2 {
  font-size: 3.33rem;
  line-height: 1.25;
  letter-spacing: 0.06em;
  margin-bottom: 3rem;
  padding-left: 0.5em;
}

.idx_gen_lead h2 .mkr {
  background-image: linear-gradient(to top, #f3981d, #f3981d);
  background-size: 0.2rem 0.2rem;
  background-position: bottom;
  background-repeat: repeat-x;
  padding-bottom: 0.1em
}

.idx_gen_lead p {
  font-size: 3.13rem;
  line-height: 1;
}

.idx_gen_lead .fig {
  position: absolute;
}

.idx_gen_lead .fig_l {
  width: 20rem;
  left: 0;
  bottom: -3.8rem
}

.idx_gen_lead .fig_r {
  width: 19.4rem;
  right: 0;
  bottom: -1.8rem;
}

.idx_gen_cont {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  width: 120.8rem;
  margin: auto;
  padding: 3.8rem 3.8rem 3.3rem;
  background-image: url(../images/top/gen_cont_bg.png);
  background-size: 0.4rem 0.4rem;
  background-position: 0.2rem 0.2rem;
}

.idx_gen_cont .item {
  width: 35rem;
  padding: 2.8rem 3.8rem 4rem;
  background-color: #fff;
  display: block;
  position: relative;
  font-size: 1.67rem;
  box-shadow: 0px 0.4rem 0.7rem 0px rgba(67, 67, 67, 0.16);
}

.idx_gen_cont .item::after {
  position: absolute;
  content: "";
  border: 0.9rem solid #2e2e2e;
  border-top-color: rgba(0, 0, 0, 0);
  border-left-color: rgba(0, 0, 0, 0);
  right: 0.7rem;
  bottom: 0.7rem;
}

.idx_gen_cont .item .num {
  position: absolute;
  left: 0;
  top: 0;
  width: 10rem;
  mix-blend-mode: multiply;
  z-index: 1;
}

.idx_gen_cont .item figure {
  position: relative;
}

.idx_gen_cont .item h3 {
  text-align: center;
  font-size: 2.5rem;
  line-height: 1;
  margin-bottom: 1rem;
}

.idx_gen_cont .item h3 span {
  display: block;
  font-size: 1.7rem;
  padding-top: 0.3em;
}

.idx_gen_cont .item figure {
  margin-bottom: 1.6rem;
}

.idx_gen_cont .item li {
  background-size: 1.5rem auto;
  background-position: 0 0.3em;
  background-repeat: no-repeat;
  padding-left: 1em;
}

.idx_gen_cont .item li + li {
  margin-top: 0.4em;
}

.idx_gen_cont .item li .mkr {
  padding-bottom: 0.1em;
  background-size: 100% 0.2rem;
  background-position: left bottom;
  background-repeat: repeat-x;
}

/*  item1 */
.idx_gen_cont .item1 h3 span {
  color: #b7d06c;
}

.idx_gen_cont .item1 li {
  background-image: url(../images/top/gen_1_ck.png);
}

.idx_gen_cont .item1 li .mkr {
  background-image: linear-gradient(to top, #b7d06c, #b7d06c);
}

.idx_gen_cont .item1 .pop {
  width: 9.2rem;
  position: absolute;
  right: 1.6rem;
  bottom: 3rem;
  mix-blend-mode: multiply;
}

/*  item2 */
.idx_gen_cont .item2 h3 span {
  color: #daca72;
}

.idx_gen_cont .item2 li {
  background-image: url(../images/top/gen_2_ck.png);
}

.idx_gen_cont .item2 li .mkr {
  background-image: linear-gradient(to top, #daca72, #daca72);
}

/*  item3 */
.idx_gen_cont .item3 h3 span {
  color: #daaa72;
}

.idx_gen_cont .item3 li {
  background-image: url(../images/top/gen_3_ck.png);
}

.idx_gen_cont .item3 li .mkr {
  background-image: linear-gradient(to top, #daaa72, #daaa72);
}

/*
	information
========================================================================== */
.idx_info {
  margin-top: 5rem;
}

.idx_info h2 {
  width: 32.5rem;
  margin: 0 auto 4rem;
}

.idx_info_cont {
  position: relative;
}

.idx_info_cont .bg {
  width: 100%;
}

.idx_info_cont .inr {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 126.7rem;
  margin: auto
}

.idx_info_cont h3 {
  width: 66rem;
  border-bottom: 1px solid #959595;
  font-size: 3rem;
  line-height: 1.08;
  padding-top: 2rem;
  padding-left: 12.5rem;
  padding-bottom: 2.0rem;
  background-image: url(../images/top/info_acc.png);
  background-position: left 4rem top 0;
  background-size: 9.4rem auto;
  background-repeat: no-repeat;
  margin-bottom: 2.2rem;
}

.idx_info_cont h3 > span {
  display: block;
}

.idx_info_cont h3 > span:nth-of-type(2) {
  text-indent: 2.2em;
}

.idx_info_cont h3 .br {
  color: #ad824c;
}

.idx_info_cont h3 .ruby {
  position: relative;
}

.idx_info_cont h3 .ruby:before {
  content: "";
  position: absolute;
  left: 0;
  top: -0.15em;
  width: 100%;
  height: 0.3em;
  background-image: radial-gradient(#f8c177 0.08em, rgba(0, 0, 0, 0) 0.08em);
  background-size: 0.5em 0.5em;
  background-position: left center;
  background-repeat: repeat-x
}

.idx_info_cont li {
  font-size: 2.5rem;
  line-height: 1.2;
  padding-left: 1.32em;
  background-image: url(../images/top/info_ico.png);
  background-size: 0.68em auto;
  background-position: 0 0.45em;
  background-repeat: no-repeat;
  margin-left: 1rem;
}

.idx_info_cont li + li {
  margin-top: 2.8rem;
}

.idx_info_cont li:nth-of-type(1) {
  margin-left: 11.2rem;
}

.idx_info_cont li:nth-of-type(2) {
  margin-left: 8.5rem;
}

.idx_info_cont li:nth-of-type(3) {
  margin-left: 5rem;
}

.idx_info_cont li .mkr {
  color: #a06c25;
  background-image: linear-gradient(to top, #ffeeac 1.1rem, rgba(0, 0, 0, 0) 1.1rem);
  background-position: left bottom;
}

/*
	pickup
========================================================================== */
.idx_pickup {
  margin-top: 6.4rem;
}

.idx_pickup h2 {
  width: 25.4rem;
  margin: 0 auto 5.2rem
}

.idx_pickup_cont {
  background-image: url(../images/top/pickup_bg.jpg);
  background-size: cover;
  background-position: center center;
  padding: 11.2rem 0 4.5rem;
  position: relative;
}

.idx_pickup_cont::before {
  position: absolute;
  content: "";
  border-right: 1px solid #878787;
  left: 50%;
  top: -5.2rem;
  bottom: 7.5rem;
}

.idx_pickup_cont .inr {
  width: 125rem;
  margin: auto;
  display: flex;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0px 1.5rem 2.0rem 0px rgba(218, 218, 218, 0.4);
}

.idx_pickup_cont .item {
  display: block;
  width: 50%;
  padding: 5rem 4rem 3rem;
  position: relative;
}

.idx_pickup_cont .item::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 6.9rem;
  height: 6.9rem;
  transform: translate(-50%, -50%);
  background-size: contain;
  background-position: center;
}

.idx_pickup_cont .item h3 {
  font-size: 3.33rem;
  text-align: center;
  line-height: 1.2;
  padding-bottom: 1.6rem;
  border-bottom: 1px solid;
  margin-bottom: 1.2rem;
}

.idx_pickup_cont .item h4 {
  font-size: 2.08rem;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 1.5rem;
}

.idx_pickup_cont .item .fig1 {
  position: relative;
}

.idx_pickup_cont .item .fig1 img {
  position: relative;
  z-index: 2;
}

.idx_pickup_cont .item .fig1:after {
  position: absolute;
  content: "";
  top: 1rem;
  bottom: -1rem;
  right: -1em;
  left: 1rem;
}

.idx_pickup_cont .item .fig2,
.idx_pickup_cont .item .cir,
.idx_pickup_cont .item .pop,
.idx_pickup_cont .item .fig3 {
  position: absolute;
  z-index: 2;
}

.idx_pickup_cont .item .cir {
  width: 14rem;
  height: 14rem;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.idx_pickup_cont .item .cir span{
  color:#fff;
  font-size: 2.18rem;
  line-height: 1.25;
}
.idx_pickup_cont .item .cir img{
	display: none;
}
.idx_pickup_cont .item .box {
  position: relative;
  background-size: 1.9rem;
  background-repeat: no-repeat;
  background-position: right 0.9rem bottom 0.9rem;
}

.idx_pickup_cont .item .fig3 {
  left: 0;
  bottom: 0;
}

/* pickup_1 */
.idx_pickup_cont .item1::before {
  background-image: url(../images/top/pickup_1_ico.png);
}

.idx_pickup_cont .item1 h4 {
  color: #98ac7c;
}

.idx_pickup_cont .item1 .fig1 {
  width: 43.1rem;
  margin-bottom: 13.7rem;
}

.idx_pickup_cont .item1 .fig1:after {
  background-image: url(../images/top/pickup_1_fig1_bg.png);
  background-size: 0.5rem auto;
}

.idx_pickup_cont .item1 .fig2 {
  width: 20rem;
  right: 4rem;
  top: 36.8rem;
}

.idx_pickup_cont .item1 .cir {
  top: 19.8rem;
  right: 4rem;
  background-color: rgba(147, 168, 117, 0.90);
}

.idx_pickup_cont .item1 .pop {
  width: 26.55rem;
  top: 43rem;
  left: 8.4rem;
}

.idx_pickup_cont .item1 .box {
  background-color: #e9eed9;
  background-image: url(../images/top/pickup_1_arw.png);
  padding: 1rem 0 1.5rem 20.6rem;
  font-size: 1.6rem;
  line-height: 1.2;
}

.idx_pickup_cont .item1 .box li {
  background-image: url(../images/top/pickup_1_ck.png);
  background-position: 0 0.14em;
  background-size: 1.45rem auto;
  background-repeat: no-repeat;
  padding-left: 1.25em;
}

.idx_pickup_cont .item1 .box li + li {
  margin-top: 0.5em;
}

.idx_pickup_cont .item1 .fig3 {
  width: 19.9rem;
}

/* pickup_2 */
.idx_pickup_cont .item2::before {
  background-image: url(../images/top/pickup_2_ico.png);
}

.idx_pickup_cont .item2 h4 {
  color: #d69e8b;
}

.idx_pickup_cont .item2 .fig1 {
  width: 43.8rem;
  margin-bottom: 10.5rem;
}

.idx_pickup_cont .item2 .fig1:after {
  background-image: url(../images/top/pickup_2_fig1_bg.png);
  background-size: 0.5rem auto;
}

.idx_pickup_cont .item2 .fig2 {
  width: 24.8rem;
  top: 34.8rem;
  right: 4rem;
}

.idx_pickup_cont .item2 .cir {
  top: 18.6rem;
  right: 4rem;
  background-color: rgba(212, 153, 134, 0.90);
}

.idx_pickup_cont .item2 .pop {
  width: 16.95rem;
  top: 45.8rem;
  left: 11.7rem;
}

.idx_pickup_cont .item2 .box {
  background-color: #fbe9d0;
  background-image: url(../images/top/pickup_2_arw.png);
  padding: 1.2rem 10rem 1.2rem 14.8rem;
  line-height: 1.78;
}

.idx_pickup_cont .item2 .fig3 {
  width: 12.7rem;
}

.idx_pickup_cont .item2 .color {
  color: #cf927d;
}

/*
	as far as possible
========================================================================== */
.idx_afap {
  background-image: linear-gradient(to bottom, #fffdf6 50%, #fff 50%);
  background-size: 100% 100%;
  margin-top: 7rem;
  padding: 4.5rem 0 0;
}

.idx_afap h2 {
  font-size: 3.541rem;
  line-height: 1.2;
  margin-bottom: 1.8rem;
}

.idx_afap h2 .br {
  color: #9a8028;
}

.idx_afap h2 .en {
  width: 31.3rem;
  display: block;
  margin: 0 auto 3rem;
}

.idx_afap_cont {
  display: flex;
  align-items: flex-start;
}

.idx_afap_cont li {
  width: 33.33%;
  padding-top: 3.8rem;
  padding-bottom: 6rem;
}

.idx_afap_cont li:nth-of-type(2) {
  border-left: 1px solid #e6dec2;
  border-right: 1px solid #e6dec2;
  padding-top: 9.6rem;
  padding-bottom: 0;
  background-image: url(../images/top/afap_ico.png);
  background-size: 5.3rem;
  background-position: top 2rem center;
  background-repeat: no-repeat;
}

.idx_afap_cont h3 {
  font-size: 2.2rem;
  line-height: 1.2;
  border-bottom: 1px solid #c0b38c;
  padding-bottom: 1.2rem;
  margin-bottom: 1.5rem;
}

.idx_afap_cont p {
  font-size: 1.67rem;
}

.idx_afap_cont li > div {
  display: block;
  background-size: 100% auto;
  background-position: left top;
  background-repeat: no-repeat;
  padding: 37rem 3.5rem 4rem;
}

.idx_afap_cont li:nth-of-type(1) > div {
  background-image: url(../images/top/afap_1_bg.png);
  background-color: #fff6dc;
}

.idx_afap_cont li:nth-of-type(2) > div {
  background-image: url(../images/top/afap_2_bg.png);
  background-color: #fdefc7;
}

.idx_afap_cont li:nth-of-type(3) > div {
  background-image: url(../images/top/afap_3_bg.png);
  background-color: #fff6dc;
}

/*
	slide
========================================================================== */
.idx_slide {
  margin-top: 8rem;
  padding: 5.5rem 0;
  background-color: #f2f2f2;
}

.idx_slide li {
  width: 24.2rem;
  margin-left: 1.2rem;
}

/*
	policy
========================================================================== */
.idx_policy {
  /* margin-top: 8rem; */
  padding: 6.5rem 0 76.4rem;
  background-image: url(../images/top/policy_bg1.png?20230130), url(../images/top/policy_bg2.png);
  background-position: center bottom, center top;
  background-size: 100% auto;
  background-repeat: no-repeat, repeat-y;
}

.idx_policy_lead {
  text-align: center;
  font-size: 3.635rem;
  line-height: 1.2;
  margin-bottom: 5.5rem;
}

.idx_policy_lead .en {
  margin: 0 auto 4.8rem;
  width: 31.9rem;
}

.idx_policy_cont {
  font-size: 2.083rem;
  writing-mode: vertical-rl;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  min-height: 19em;
}

.idx_policy_cont h3 {
  text-indent: -0.5em;
  margin-left: 4rem;
}

.idx_policy_cont p {
  line-height: 1.8;
}

.idx_policy_cont p + p {
  margin-right: 1.6em;
}

.idx_policy_cont .or {
  color: #d87218;
}

/*
	menu
========================================================================== */
.idx_menu {
  margin-top: 7rem;
  padding-bottom: 14rem;
}

.idx_menu_logo {
  width: 8.7rem;
  margin: 0 auto 5.7rem;
}

.idx_menu_lead {
  padding-bottom: 16rem;
  position: relative;
  margin-bottom: 6rem;
  color: #fff;
}

.idx_menu_lead_txt {
  position: absolute;
  left: 13.5rem;
  top: 9rem;
  /* text-shadow: 0px 0px 0.9rem rgba(143, 126, 66, 0.52); */
	filter:drop-shadow(0px 0px 0.28em black)
}

.idx_menu_lead h2 {
  font-size: 3.333rem;
  line-height: 1.72;
  margin-bottom: 3rem;
  letter-spacing: 0.03em;
}

.idx_menu_lead h2 span {
  line-height: 1;
}

.idx_menu_lead h2 .color {
  color: #fceb8f;
}

.idx_menu_lead h2 + p {
  font-size: 2.086rem;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

.idx_menu_lead h3 {
  position: absolute;
  left: 22.8rem;
  bottom: 0;
  width: 22.6rem;
}

.idx_menu_lead .fig1 {
  width: 112rem;
}

.idx_menu_lead .fig2 {
  width: 66.4rem;
  position: absolute;
  right: 0;
  bottom: 0;
}

.idx_menu_bnr{
	width: 116.2rem;
  display: flex;
	flex-wrap: wrap;
  gap: 1.4rem;
  margin: 6rem auto 2.7rem;
}

.idx_menu_bnr a{
	width: 57.4rem;
}

.idx_menu_bnr a img{
	width: 100%;
}

.idx_menu_lst {
  width: 116.2rem;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 1.4rem 1.4rem;
}

.idx_menu_lst a {
  width: 28rem;
  height: 8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #8a8a8a;
  font-size: 2rem;
  line-height: 1.25;
  text-align: center;
  position: relative;
}

.idx_menu_lst a::after {
  position: absolute;
  content: "";
  border: 0.7rem solid #b4874d;
  border-top-color: rgba(0, 0, 0, 0);
  border-left-color: rgba(0, 0, 0, 0);
  right: 0.7rem;
  bottom: 0.7rem;
}

.idx_menu_lst span {
  display: inline-flex;
}

/*
	faq
========================================================================== */
.idx_faq {
    background: #f9f8f4;
    /* margin-top: -5rem; */
    padding-top: 6rem;
    padding-bottom: 8rem;
    margin-bottom: 12rem;
}

.idx_faq h2 {
    text-align: center;
    font-size: max(1vw,13px);
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    margin-bottom:3em
}

.idx_faq h2 .en{
    display:block;
    font-size:400%;
    line-height:1.2;
    letter-spacing:0.25em;
    padding-left:0.25em;
    color:#b3874f;
}

.idx_faq h2 .ja{
    display:block;
    border-top:1px solid #333;
    font-size:150%;
    margin-top:0.35em;
    padding: 0.4em 0.25em 0;
}

.idx_faq .idx_menu_lst li{
    background:#fff
}

/*
	team medical
========================================================================== */
.idx_tm_lead {
  position: relative;
  background-image: url(../images/top/tm_lead_bg1.png?20230130), url(../images/top/tm_lead_bg2.png);
  background-position: left top, left bottom;
  background-size: 100% auto;
  background-repeat: no-repeat;
  padding: 14rem 0 62rem;
}

.idx_tm_lead figure.pop {
  position: absolute;
  width: 22.5rem;
  right: 12rem;
  top: -4rem;
}

.idx_tm_lead h2 {
  width: 58.3rem;
  margin-right: 12rem;
  margin-left: auto;
  margin-bottom: 11rem;
}

.idx_tm_lead figure.cir {
  position: absolute;
  width: 60.2rem;
  top: 39rem;
  right: 3.7rem;
}

.idx_tm_lead_inr {
  width: 54.5rem;
  margin-left: 15.5rem;
}

.idx_tm_lead h3 {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  border-bottom: 1px solid #2e2e2e;
  padding-bottom: 1.3rem;
  font-size: 3.12rem;
  line-height: 1.3;
  margin-bottom: 3em;
}

.idx_tm_lead h3 .ico {
  width: 9.3rem;
  margin-right: 1.5rem;
}

.idx_tm_lead h3 .txt115 {
  letter-spacing: -0.06em;
}

.idx_tm_lead h3 .bl {
  color: #2d78ad;
}

.idx_tm_lead_lst {
  font-size: 2.083rem;
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 3.5rem 0;
  letter-spacing: -0.04em
}

.idx_tm_lead_lst li {
  padding-left: 2rem;
  background-image: url(../images/top/tm_lead_lst_arw.png);
  background-position: left 0 top 0.3em;
  background-size: 1.1rem;
  background-repeat: no-repeat;
}

.idx_tm_lead_lst li:nth-of-type(2n-1) {
  width: 30rem;
}

.idx_tm_lead_lst .ul {
  border-bottom: 1px solid #2c7cb4;
  padding-bottom: 0.08em;
}

.idx_tm_lead .name {
    position: absolute;
    font-size: 2.4rem;
    line-height:1.2;
    background: #fff;
    filter: drop-shadow(0 0 0.8rem rgb(167 167 167 / 35%));
    bottom: 5rem;
    padding: 0.12em 0.75em 0.15em;
		min-width:5.8em;
		display: flex;
		justify-content: center;
}

.idx_tm_lead .name i{
    font-size:78%;
    padding-left:0.08em;
}

.idx_tm_lead .name01{
    left: 21rem;    
}

.idx_tm_lead .name02{
    left: 46rem;    
}

.idx_tm_lead .name03{
    left: 72rem;    
}

.idx_tm_lead .name04{
    left: 96rem;    
}

.idx_tm_timetable{
  background-image: url(../images/top/tm_cont_bg.jpg);
	background-size: 100% auto;
  padding: 4.5rem 0 4.5rem;
	display: flex;
	justify-content: center;
}

.idx_tm_timetable table {
    background: #fff;
    border: 2px solid #2d78ae;
    margin: auto;
    font-size: 2.4rem;
    text-align: center;
}

.idx_tm_timetable table th,
.idx_tm_timetable table td{
    text-align:center;
}

.idx_tm_timetable table thead th{
    background: #2d78ae;
    color:#fff;
    padding: 0.25em 1.8em 0.2em;
}

.idx_tm_timetable table thead th:first-of-type,
.idx_tm_timetable table tbody th:first-of-type{
	border-right:2px solid #2c7cb4;
}

.idx_tm_timetable table tbody th{
	padding:0.25em 0 0.2em
}

.idx_tm_timetable table tbody tr:nth-of-type(2n){
	background:#e8f0f6;
}

.idx_tm_timetable ul{
	font-size: 1.6rem;
  margin-top: .5em;
  padding-left: 0.75em;
}

.idx_tm_cont {
  background-image: url(../images/top/tm_cont_bg.jpg);
  background-position: left top;
  background-size: cover;
  padding: 4.5rem 0 8.2rem;
}

.idx_tm_cont h3 {
  width: 31.5rem;
  margin: 0 auto 0rem;
  position: relative;
}

.idx_tm_cont h3:after {
  content: "";
  border-right: 1px solid #4f5b6a;
  height: 5rem;
  bottom: 0;
  left: 50%;
  transform: translateY(100%);
  position: absolute;
}

.idx_tm_slide > li {
  padding: 2rem 2.2rem 2.2rem 0;
}

.idx_tm_slide .box {
  background-image: linear-gradient(-45deg, #edf2f5 50%, rgba(0, 0, 0, 0) 50%);
  background-size: 34rem 34rem;
  background-position: right 3rem bottom 3rem;
  background-repeat: no-repeat;
  background-color: #fff;
  width: 126.6rem;
  height: 55.6rem;
  display: flex;
  align-items: center;
  padding: 0 0 0 7rem;
  position: relative;
}

.idx_tm_slide .box:after {
  content: "";
  position: absolute;
  top: 2.2rem;
  left: 2.2rem;
  bottom: -2.2rem;
  right: -2.2rem;
  background-color: #dde5ea;
  mix-blend-mode: multiply;
  z-index: -1;
}

.idx_tm_slide .box figure.dr {
  position: relative;
  background: #efefef;
  width: 40.6rem;
  height: 51rem;
  margin-right: 3.5rem;
}

.idx_tm_slide .box figure.dr img {
  position: absolute;
  bottom: 0;
  max-width: 100%;
}

.idx_tm_slide .box h4 {
  border-bottom: 1px solid #2e2e2e;
  line-height: 1;
  margin-bottom: 1.5rem;
  padding-left: 2rem;
  padding-bottom: 2rem;
}

.idx_tm_slide .box h4 .role {
  font-size: 2.083rem;
  display: block;
  margin-bottom: 1.8rem;
}

.idx_tm_slide .box h4 .ja {
  font-size: 4.584rem;
}

.idx_tm_slide .box h4 .en {
  font-size: 3.486rem;
  font-family: 'Times New Roman', serif;
  color: #ac8c59;
}

.idx_tm_slide .box .lst {
  font-size: 1.875rem;
  padding-left: 1.6rem;
}

.idx_tm_slide .box .lst li + li {
  margin-top: 0.5em;
}

/* tm_slide_1 */
.idx_tm_slide > li.tm_slide_1 .box figure.dr img {
  width: 39.8rem;
  right: -1rem;
}

.idx_tm_slide > li.tm_slide_1 .box .inr {
  width: 40.5rem;
}

.idx_tm_slide > li.tm_slide_1 .box .ja {
  display: block;
  margin-bottom: 0.75rem;
}

.idx_tm_slide > li.tm_slide_1 .box figure.cert {
  width: 24.8rem;
  margin-left: 4.5rem;
}

/* tm_slide_2 */
.idx_tm_slide > li.tm_slide_2 .box figure.dr img {
  width: 37.4rem;
  right: 1.8rem;
}

.idx_tm_slide > li.tm_slide_2 .box .inr {
  width: 64rem;
}

.idx_tm_slide > li.tm_slide_2 .box .ja {
  margin-right: 3.5rem;
}

/* tm_slide_3 */
.idx_tm_slide > li.tm_slide_3 .box .wrap {
  display: flex;
}

.idx_tm_slide > li.tm_slide_3 .box .wrap > li {
  width: 32rem;
}

.idx_tm_slide > li.tm_slide_3 .box .wrap > li + li {
  margin-left: 6rem;
}

.idx_tm_slide > li.tm_slide_3 .box figure.dr {
  width: 32rem;
  height: 40rem;
  margin: 0 0 2rem;
}

.idx_tm_slide > li.tm_slide_3 .box figure.dr img {
  width: 90%;
  left: 7%;
}

.idx_tm_slide > li.tm_slide_3 .box .tm_slide3-1 figure.dr img {
  width: 24.4rem;
  left: 20%;
}

.idx_tm_slide > li.tm_slide_3 .box h4 {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 0.8rem;
  margin-bottom: 1.2rem;
}

.idx_tm_slide > li.tm_slide_3 .box h4 .ja {
  font-size: 3.125rem;
}

.idx_tm_slide > li.tm_slide_3 .box h4 .en {
  font-size: 2.085rem;
  margin-left: 2.8rem;
}

/* bxslider */
.idx_tm_cont .bx-wrapper {
  position: relative;
  width: 128.8rem;
  margin: 3rem auto 0;
}

.idx_tm_cont .bx-prev,
.idx_tm_cont .bx-next {
  position: absolute;
  top: 50%;
  width: 6.8rem;
  height: 6.8rem;
  background-size: 100% 100%;
  overflow: hidden;
  text-indent: 100%;
  transition: 0.3s;
}

.idx_tm_cont .bx-prev:hover,
.idx_tm_cont .bx-next:hover {
  opacity: 0.5;
}

.idx_tm_cont .bx-prev {
  background-image: url(../images/top/tm_slide_arw-l.png);
  left: 0;
  transform: translate(-50%, -50%);
}

.idx_tm_cont .bx-next {
  background-image: url(../images/top/tm_slide_arw-r.png);
  right: 0;
  transform: translate(50%, -50%);
}

.idx_tm_cont .bx-pager {
  position: absolute;
  left: 50%;
  bottom: -2.8rem;
  transform: translate(-50%, 100%);
  display: flex;
  mix-blend-mode: multiply;
}

.idx_tm_cont .bx-pager-item + .bx-pager-item {
  margin-left: 1rem;
}

.idx_tm_cont .bx-pager-item a {
  font-size: 0;
  width: 2.3rem;
  height: 2.3rem;
  border-radius: 50%;
  background-color: #cfd1d8;
  display: block
}

.idx_tm_cont .bx-pager-item a.active {
  background-color: #2d78ad
}

/*
	case
========================================================================== */
.idx_case {
  margin-top: 3rem;
  background-color: #f1f1f1;
  padding: 4.8rem 0 7.8rem;
}

.idx_case > p {
  font-size: 1.667rem;
  margin-bottom: 9rem;
}

.idx_case .inr {
  width: 116rem;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 10.5rem 3.5rem;
}

.idx_case_item {
  background-color: #fff;
  width: 36rem;
  padding: 2.5rem 0 4rem;
  position: relative;
}

.idx_case_item h3 {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  width: 10.5rem;
  height: 10.5rem;
  padding-top: 3.5rem;
  z-index: 1;
  display: flex;
  justify-content: center;
  font-size: 2.085rem;
  line-height: 1;
  background-color: #a76f54;
  border-radius: 50%;
  color: #fff;
}

.idx_case_item h3 i {
  font-size: 2.913rem;
  margin-left: 0.3em;
}

.idx_case_fig_wrap {
  position: relative;
  z-index: 2;
  width: 31rem;
  margin: 0 auto 1rem;
}

.idx_case_item p {
  padding: 0 2em;
}

/* ------------------------------ twentytwenty */
.twentytwenty-handle {
  width: 7.5rem;
  height: 7.5rem;
  margin-left: -3.7rem;
  margin-top: -3.7rem;
  border: 0 none;
  background: rgba(255, 255, 255, 0.5);
}

.twentytwenty-horizontal .twentytwenty-handle:before,
.twentytwenty-horizontal .twentytwenty-handle:after {
  width: 1px;
  margin-left: -0.5px;
}

.twentytwenty-horizontal .twentytwenty-handle:before {
  bottom: 0;
}

.twentytwenty-horizontal .twentytwenty-handle:after {
  top: 0;
}

.twentytwenty-left-arrow,
.twentytwenty-right-arrow {
  width: 10px;
  height: 10px;
  border: 3px solid #505050;
  border-right: 0 none;
  border-bottom: 0 none;
  position: absolute;
}

.twentytwenty-left-arrow {
  margin-left: -24px;
  transform: rotate(-45deg);
}

.twentytwenty-right-arrow {
  margin-right: -24px;
  transform: rotate(135deg);
}

/*
	reason
========================================================================== */
.idx_reason .logo {
  padding: 6.3rem 0;
  text-align: center;
  width: 8.7rem;
  margin: auto;
}

.idx_reason_lead {
  background-image: url(../images/top/reason_lead_bg.jpg);
  background-position: top center;
  background-size: 100% auto;
  background-repeat: no-repeat;
  padding: 6rem 0 11rem;
}

.idx_reason_lead h2 {
  width: 20rem;
  margin: 0 auto 3.5rem;
}

.idx_reason_lead .box {
  background-color: rgba(255, 255, 255, 0.851);
  padding: 1.3rem 3.2rem 1.7rem;
  width: 81.5rem;
  margin-bottom: 7rem;
}

.idx_reason_lead h3 {
  font-size: 3.712rem;
  line-height: 1.2;
  margin-bottom: 0.65rem;
}

.idx_reason_lead h3 .or {
  color: #e48f15;
}

.idx_reason_lead h4 {
  font-size: 2.15rem;
  line-height: 1.27;
}

.idx_reason_lead h4 .mkr {
  background: linear-gradient(to top, #e48f15 50%, rgba(0, 0, 0, 0) 50%);
  background-size: 0.6rem 0.6rem;
  background-repeat: repeat-x;
  background-position: bottom;
  padding-bottom: 0.1em;
}

.idx_reason_lead p {
  font-size: 1.374rem;
  line-height: 1.66;
}

/* reason_1 */
.idx_reason_1 {
  position: relative;
  background-color: #f9f6ef;
  padding: 8rem 0 4.5rem;
  margin-bottom: 13rem;
}

.idx_reason_1:after {
  position: absolute;
  content: "";
  width: 89.5rem;
  height: 96.2rem;
  background-image: url(../images/top/reason_1_bg.png);
  background-size: 100% 100%;
  z-index: 0;
  mix-blend-mode: multiply;
  right: 0;
  bottom: -2.5rem;
}

.idx_reason_1 .num {
  position: absolute;
  width: 8.5rem;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
}

.idx_reason_1_lead {
  text-align: center;
  font-size: 2.916rem;
  line-height: 1;
  position: relative;
  z-index: 2;
}

.idx_reason_1_lead h3 {
  width: 67.7rem;
  margin: 3rem auto 4.5rem;
  font-size: 3.33rem;
  background-color: #f3c782;
  color: #fff;
  padding: 1.5rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.idx_reason_1_lead h3 i {
  color: #2e2e2e;
  font-size: 2.5rem;
}

.idx_reason_1_wrap {
  position: relative;
  z-index: 2;
  width: 122rem;
  margin: auto;
  display: flex;
  justify-content: space-between;
}

.idx_reason_1 .item {
  width: 57.5rem;
  height: 70.5rem;
  background-size: 100% 100%;
  display: block;
  padding-top: 38.7rem;
  position: relative;
}

.idx_reason_1 .item::after {
  position: absolute;
  content: "";
  width: 1.9rem;
  height: 1.9rem;
  background-image: url(../images/top/reason_1_arw.png);
  background-size: 100% 100%;
  background-position: center;
  right: 2.1rem;
  bottom: 2.2rem;
}

.idx_reason_1 .item .cir {
  position: absolute;
  top: 19rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 2.083rem;
  line-height: 1.2;
  width: 19.7rem;
  height: 19.7rem;
  border-radius: 50%;
  background-color: rgba(251, 210, 146, 0.9);
}

.idx_reason_1 .item h4 {
  text-align: center;
  font-size: 2.66rem;
  line-height: 1.3;
  margin-bottom: 1.5rem;
}

.idx_reason_1 .item h4 .mkr {
  background: linear-gradient(to top, #ffea88 50%, rgba(0, 0, 0, 0) 50%);
  background-size: 0.8rem 0.8rem;
  background-repeat: repeat-x;
  background-position: bottom;
}

.idx_reason_1 .item .box {
  display: flex;
  align-items: center;
  width: 49rem;
  background-color: #fff;
  margin: auto;
  font-size: 1.6rem;
}

.idx_reason_1 .item .box figure {
  flex-shrink: 0;
}

.idx_reason_1 .item .box figure img {
  width: auto;
  height: 18.8rem;
}

/* reason_1 - item1 */
.idx_reason_1 .item1 {
  background-image: url(../images/top/reason_1-1_bg.png)
}

.idx_reason_1 .item1 .cir {
  right: -1.5rem;
}

.idx_reason_1 .item1 .box {
  width: 52rem;
  margin-left: 4rem;
}

.idx_reason_1 .item1 .lst li {
  padding-left: 2rem;
  background-image: url(../images/top/reason_1_ck.png);
  background-position: left top;
  background-size: 1.06em auto;
  background-repeat: no-repeat;
  margin-left: 3.8rem;
  line-height: 1;
}

.idx_reason_1 .item1 .lst li + li {
  margin-top: 0.8em;
}

/* reason_1 - item2 */
.idx_reason_1 .item2 {
  background-image: url(../images/top/reason_1-2_bg.png?20230130);
  background-color: #fbd292;
}

.idx_reason_1 .item2 .cir {
  right: -2.5rem;
}

.idx_reason_1 .item2 .box p {
  margin-left: 1.8rem;
  width: 13em;
}

.idx_reason_1 .item2 .box p .or {
  color: #e8a336
}

/* reason_2 */
.idx_reason_2 {
  position: relative;
  background-color: #f9f6ef;
  padding: 8.4rem 0 2.5rem;
  margin-bottom: 12.5rem;
}

.idx_reason_2:after {
  position: absolute;
  content: "";
  width: 74.7rem;
  height: 73.3rem;
  background-image: url(../images/top/reason_2_bg.png);
  background-size: 100% 100%;
  z-index: 0;
  mix-blend-mode: multiply;
  left: 0;
  bottom: -2.5rem;
  pointer-events: none;
}

.idx_reason_2 .num {
  position: absolute;
  width: 10rem;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
}

.idx_reason_2_lead {
  z-index: 2;
  font-size: 1.875rem;
  margin-bottom: 2.8rem;
}

.idx_reason_2_lead h2 {
  font-size: 2.7rem;
  line-height: 1;
}

.idx_reason_2_lead h3 {
  width: 62rem;
  margin: 2rem auto 2.8rem;
  font-size: 2.5rem;
  line-height: 1.4;
  background-color: #f3f7e1;
  Background-blend-mode: multiply;
  padding: 1.5rem 0;
}

.idx_reason_2_lead h3 .mkr {
  background-color: #ffe535;
  padding: 0.1em;
}

.idx_reason_2_cont {
  width: 67.6rem;
  background-color: #fff;
  margin: 0 auto 3.3rem;
  position: relative;
  z-index: 2;
  padding: 0.5rem 0;
}

.idx_reason_2_cont .item {
  width: 61.5rem;
  display: flex;
  align-items: center;
  margin: auto;
  padding: 2.5rem 0 2.5rem 0.8rem
}

.idx_reason_2_cont .item + .item {
  border-top: 1px solid #a3a3a3;
}

.idx_reason_2_cont .item figure {
  width: 15.4rem;
  margin-right: 2.2rem;
}

.idx_reason_2_cont .item dt {
  font-size: 1.874rem;
  margin-bottom: 0.75em;
}

.idx_reason_2_cont .item dd {
  font-size: 1.586rem;
}

.idx_reason_2_btn {
  width: 26rem;
  margin: 0 auto;
  display: block;
  background-image: url(../images/top/reason_2_btn-arw.png);
  background-color: #2e2e2e;
  background-position: right 1.2rem center;
  background-repeat: no-repeat;
  background-size: 1.4rem auto;
  font-size: 1.9rem;
  line-height: 1;
  text-align: center;
  color: #fff;
  padding: 1.4rem 0;
}

.idx_reason_2 > .fig {
  position: absolute;
  z-index: 3;
  pointer-events: none;
}

.idx_reason_2 > .fig1 {
  top: 0;
  left: 0rem;
  width: 40.1rem;
}

.idx_reason_2 > .fig2 {
  bottom: -10rem;
  left: -1rem;
  width: 42.7rem;
}

.idx_reason_2 > .fig3 {
  top: 4rem;
  right: 3rem;
  width: 32.3rem;
}

.idx_reason_2 > .fig4 {
  bottom: -2rem;
  right: 1rem;
  width: 34.8rem;
}

/* reason_3-4 */
.idx_reason_3-4 {
  display: flex;
  justify-content: center;
  gap: 3.7rem;
}

.idx_reason_3-4 section {
  width: 60rem;
  padding: 5.5rem 2.7rem 2.5rem;
  position: relative;
}

.idx_reason_3-4 section::after {
  position: absolute;
  content: "";
  z-index: 2;
  background-size: 100% 100%;
  width: 53.5rem;
  height: 42.4rem;
  right: -1.3rem;
  bottom: -1.4rem;
  mix-blend-mode: multiply;
  pointer-events: none;
}

.idx_reason_3-4 section .num {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}

.idx_reason_3-4 section .num img {
  width: auto;
  height: 7.2rem;
}

.idx_reason_3-4 section h2 {
  font-size: 2.5rem;
  line-height: 1.2;
  margin-bottom: 3rem;
}

.idx_reason_3-4 section h2 .ul {
  border-bottom: 2px solid;
}

.idx_reason_3-4 section > figure {
  position: relative;
  margin-bottom: 1.9rem;
}

.idx_reason_3-4 section > figure:after,
.idx_reason_3-4 section > figure figcaption {
  position: absolute;
  width: 20.9rem;
  height: 16.5rem;
  right: 0;
  bottom: 0;
}

.idx_reason_3-4 section > figure:after {
  content: "";
  background-size: 100% 100%;
  mix-blend-mode: multiply;
}

.idx_reason_3-4 section > figure figcaption {
  position: absolute;
  color: #fff;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  font-size: 2.292rem;
  line-height: 1;
  text-align: center;
  padding-bottom: 0.8rem;
  padding-right: 1rem;
  z-index: 1;
}

.idx_reason_3-4 section > figure figcaption > span {
  width: 5em;
}

.idx_reason_3-4 section .box {
  display: flex;
  align-items: center;
  padding: 1.8rem 2rem 1.6rem 2.8rem;
  background-color: #fff;
  position: relative;
  z-index: 3;
}

.idx_reason_3-4 section .box dl {
  width: 100%;
}

.idx_reason_3-4 section .box figure {
  width: 14.9rem;
  flex-shrink: 0;
}

.idx_reason_3-4 section .box dt {
  font-size: 2.334rem;
  line-height: 1;
  padding-left: 1.2rem;
  padding-bottom: 0.8rem;
  border-bottom: 1px solid;
  margin-bottom: 1.5rem;
}

.idx_reason_3-4 section .box dd {
  font-size: 1.667rem;
  line-height: 1.3;
  padding-left: 1.2rem;
  padding-right: 3em;
}

/* reason3 */
.idx_reason_3 {
  background-color: #e8f1eb;
}

.idx_reason_3::after {
  background-image: url(../images/top/reason_3_bg.png);
}

.idx_reason_3 h2 .ul,
.idx_reason_3 dt {
  border-color: #9bbca7 !important;
}

.idx_reason_3 > figure:after {
  background-image: url(../images/top/reason_3_figcap_bg.png);
}

/* reason4 */
.idx_reason_4 {
  background-color: #f8f4ed;
}

.idx_reason_4::after {
  background-image: url(../images/top/reason_4_bg.png);
}

.idx_reason_4 h2 .ul,
.idx_reason_4 dt {
  border-color: #cfb7a1 !important;
}

.idx_reason_4 > figure:after {
  background-image: url(../images/top/reason_4_figcap_bg.png);
}

.idx_reason_4 .lst li {
  padding-left: 2.7rem;
  background-image: url(../images/top/reason_4_ck.png);
  background-position: left 0 top 0.08em;
  background-size: 0.92em auto;
  background-repeat: no-repeat;
}

.idx_reason_4 .lst li + li {
  margin-top: 0.2em;
}

/*
	treat
========================================================================== */
.idx_treat {
  margin-top: 7.4rem;
  padding-top: 13.5rem;
  background-image: url(../images/top/cmn_logo.png);
  background-position: center top;
  background-size: 8.7rem;
  background-repeat: no-repeat;
}

.idx_treat_seo {
  font-size: 1.375rem;
  line-height: 1.667;
  margin: 3rem auto 1.5rem;
  width: 70em;
}

.idx_treat_cont {
  display: flex;
  padding: 3rem 0;
  align-items: center
}

.idx_treat_cont:nth-of-type(2n) {
  background-color: #fafafa;
}

.idx_treat_cont .en {
  width: 10.7rem;
  margin-right: 4rem
}

.idx_treat_cont .txt {
  width: 60.8rem;
  margin-right: 6rem;
  background-position: right bottom;
  background-size: 1.5rem auto;
  background-repeat: no-repeat;
}

.idx_treat_cont .ttl {
  border-bottom: 1px solid #4e4e4e;
  padding-left: 1rem;
  padding-bottom: 1.2rem;
  position: relative;
}

.idx_treat_cont .ttl p {
  font-size: 2.085rem;
  line-height: 1;
  margin-bottom: 1.5rem;
}

.idx_treat_cont .ttl p:before {
  content: "";
  width: 2rem;
  height: 2rem;
  display: inline-block;
  margin-right: 1.05em;
  vertical-align: text-top;
}

.idx_treat_cont .ttl h3 {
  font-size: 2.708rem;
  line-height: 1.15;
}

.idx_treat_cont .cont {
  display: flex;
  align-items: center;
  padding-left: 1.5rem;
  font-size: 1.667rem;
  line-height: 1;
}

.idx_treat_cont .cont .lst li {
  background-size: 0.9em auto;
  background-position: left 0 top 0.2em;
  background-repeat: no-repeat;
  padding-left: 2em;
}

.idx_treat_cont .cont .lst li + li {
  margin-top: 1em;
}

.idx_treat_cont .cont .lst li .ul {
  border-bottom: 1px solid;
}

.idx_treat_cont > figure {
  width: 51.2rem;
}

/* treat - implant */
.idx_treat_cont.implant .color {
  color: #e0a278;
}

.idx_treat_cont.implant .txt {
  background-image: url(../images/top/treat_implant_arw.png);
}

.idx_treat_cont.implant .ttl p:before {
  background-color: #e0a278;
}

.idx_treat_cont.implant .cont .lst li {
  background-image: url(../images/top/treat_implant_ck.png);
}

.idx_treat_cont.implant .cont figure.pop {
  width: 18.4rem;
}

/* treat - perio */
.idx_treat_cont.perio .color {
  color: #71c2bd;
}

.idx_treat_cont.perio .txt {
  background-image: url(../images/top/treat_perio_arw.png);
}

.idx_treat_cont.perio .ttl p:before {
  background-color: #71c2bd;
}

.idx_treat_cont.perio .cont {
  padding-top: 1.5rem;
  padding-bottom: 1.6rem;
}

.idx_treat_cont.perio .cont .lst li {
  background-image: url(../images/top/treat_perio_ck.png);
}

.idx_treat_cont.perio .cont figure.pop {
  width: 19rem;
  margin-left: auto;
  margin-right: 4.8rem;
}

/* treat - correct */
.idx_treat_cont.correct {
  flex-direction: row-reverse;
}

.idx_treat_cont.correct .color {
  color: #78acd4;
}

.idx_treat_cont.correct .en {
  margin-right: 0;
}

.idx_treat_cont.correct .txt {
  margin-left: 3rem;
}

.idx_treat_cont.correct .ttl p:before {
  background-color: #78acd4;
}

.idx_treat_cont.correct dt .cir {
  width: 14rem;
  position: absolute;
  right: 0;
  bottom: 1.2rem
}

.idx_treat_cont.correct .cont {
  padding-top: 1.5rem;
  padding-bottom: 1.6rem;
}

.idx_treat_cont.correct .cont .lst li {
  background-image: url(../images/top/treat_correct_ck.png);
}

.idx_treat_cont.correct .cont figure.pop {
  width: 16.3rem;
  margin-left: 2.5rem;
  margin-right: 3.3rem;
}

.idx_treat_cont.correct .cont .link li a {
  color: #78acd4;
  text-decoration: underline;
  background-image: url(../images/top/treat_correct_arw.png);
  background-size: 0.9em auto;
  background-position: right center;
  background-repeat: no-repeat;
  padding: 0.5em 1.37em 0.5em 0;
  display: inline-block;
}

/* treat - root */
.idx_treat_cont.root {
  flex-direction: row-reverse;
}

.idx_treat_cont.root .color {
  color: #bcaae0;
}

.idx_treat_cont.root .en {
  margin-right: 0;
}

.idx_treat_cont.root .txt {
  margin-left: 3rem;
  background-image: url(../images/top/treat_root_arw.png);
}

.idx_treat_cont.root .ttl p:before {
  background-color: #bcaae0;
}

.idx_treat_cont.root .cont {
  padding-top: 1.5rem;
  padding-bottom: 1.6rem;
}

.idx_treat_cont.root .cont .lst li {
  background-image: url(../images/top/treat_root_ck.png);
}

.idx_treat_cont.root .cont figure.pop {
  width: 16.3rem;
  margin-left: 6rem;
}

/*
	consultation
========================================================================== */
.idx_consul {
  margin-top: 5.5rem;
  padding-top: 12rem;
  background-image: url(../images/top/cmn_logo.png);
  background-size: 8.7rem auto;
  background-position: top center;
  background-repeat: no-repeat;
}

.idx_consul_wrap {
  width: 130rem;
  height: 60.6rem;
  margin: auto;
  position: relative;
  background-image: url(../images/top/consul_bg.jpg);
  background-size: 100% 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.idx_consul_cont {
  color: #fff;
  text-align: center;
}

.idx_consul_cont .color {
  color: #492308;
}

.idx_consul_cont h2 {
  width: 29.1rem;
  margin: 0 auto 2.2rem
}

.idx_consul_cont h3 {
  width: 27rem;
  height: 4rem;
  margin: 2.2rem auto;
  font-size: 2.083rem;
  position: relative;
}

.idx_consul_cont h3:after {
  position: absolute;
  content: "";
  background-color: #d4a470;
  mix-blend-mode: multiply;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
}

.idx_consul_cont h3 span {
  position: absolute;
  content: "";
  left: 50%;
  top: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.idx_consul_cont .txt {
  font-size: 1.875rem;
  line-height: 1.333;
}

.idx_consul_cont .txt h4 {
  border-bottom: 1px solid #fff;
  padding-bottom: 0.2em;
  width: 13em;
  margin: 0 auto 1em;
}

.idx_consul_cont .txt p + p {
  margin-top: 1em;
}

.idx_consul_cont .txt .btn {
  display: inline-block;
  width: 13rem;
  margin-top: 3.5rem;
}

/*
	gallery
========================================================================== */
.idx_gallery {
  margin-top: 8rem;
  position: relative;
}

.idx_gallery h2 {
  position: absolute;
  width: 28.3rem;
  top: 3.5rem;
  left: 3.5rem;
  z-index: 60;
}

.idx_gallery_thumb {
  display: flex;
  padding: 2rem 0;
  background: #f3f2ee;
}

.idx_gallery_thumb a {
  cursor: pointer;
}

/*
	sns
========================================================================== */
.idx_sns {
  margin-top: 3.5rem;
  padding-top: 12.4rem;
  background-image: url(../images/top/cmn_logo.png);
  background-size: 8.7rem auto;
  background-position: center top;
  background-repeat: no-repeat;
}

.idx_sns .inr {
  width: 100%;
  margin: auto;
  display: flex;
  gap: 2.2rem;
  background-color: #f6f6f6;
  padding: 3.5rem 0 3.8rem;
  justify-content: center;
}

.idx_sns section {
  width: 66rem;
}

.idx_sns_btn {
  display: block;
  width: 19.7rem;
  margin: 2.8rem auto 0;
}

.idx_sns_column .wrap {
  height: 52.4rem;
  overflow-y: auto;
}

.idx_sns_column article {
  background-color: #fff;
}

.idx_sns_column article:nth-child(2n-1) {
  background-color: #fef8ec;
}

.idx_sns_column article a {
  display: flex;
  align-items: center;
  padding: 2.5rem 2.2rem;
}

.idx_sns_column article figure {
  margin-right: 2.5rem;
  flex-shrink: 0;
}

.idx_sns_column article figure img {
  width: 9.6rem;
  height: 6.4rem;
  object-fit: cover;
  object-position: center;
}

.idx_sns_column article dl {
  width: 46rem;
  line-height: 1;
}

.idx_sns_column article dd time {
  font-size: 1.2rem;
  font-style: italic;
  color: #666
}

.idx_sns_column article dt {
  margin-top: 0.75rem;
  font-size: 1.6667rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 29em;
}

.idx_sns_column article dt i > img {
  width: 0.8rem;
  margin-bottom: 0.18em;
  margin-right: 0.3em;
}

.idx_sns_insta_inr {
  padding: 5.5rem 1rem 1rem;
  background-color: #fff;
}

.idx_sns_insta h2 {
  width: 27rem;
  margin: 0 auto 4.1rem;
}

.idx_sns_insta .wrap {
  width: 100%;
  /* display: flex;
  flex-wrap: wrap;
  gap: 0.2rem 0.2rem; */
	padding:0 2rem;
}

.idx_sns_insta .wrap a {
  /* width: 21.2rem; */
}

/*
	recurit
========================================================================== */
.idx_recruit {
  padding: 7.5rem 0;
  text-align: center;
  display: flex;
  justify-content: center;
}

.idx_recruit a + a {
  margin-left: 3rem;
}

.idx_recruit a img {
  width: auto;
  height: 20rem;
}

/*
	cmn_link
========================================================================== */
.cmn_link {
  margin: 0 0;
}

/*
	access
========================================================================== */
.idx_access {
  margin-top: 7rem;
  padding: 0 0 4rem;
}

.idx_access h2 {
  font-size: 3.872rem;
  line-height: 1;
  margin-bottom: 5rem;
  position: relative;
}

.idx_access h2:after {
  content: "";
  height: 6.2rem;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateY(115%);
  border-right: 1px solid;
}

.idx_access iframe {
  display: block;
  width: 131.3rem;
  height: 50.7rem;
  margin: 0 auto 4rem;
}

.idx_access p {
  font-size: 1.333rem;
  width: 90em;
  margin: auto;
}

/*
  footer
========================================================================== */
footer {
  margin-top: 0;
}
