@charset "UTF-8";
/* CSS Document */

#sub .main_btn a{ width:55%; animation: fluffy1 3s ease infinite; -webkit-animation-duration: 1.1s;	-webkit-animation: fluffy1 1s ease-in-out infinite alternate; }

#sub .news_wrap{ padding: 3rem 6rem; }
#sub section{ margin-bottom: 8rem;}
#sub section + section{ margin-top: 8rem;}

/* concept page --------------------------- */
.white_wrap{ position: relative; background:url("../images/concept/bg.jpg") no-repeat 0 0/100% 100%; padding: 40px 40px 20px; margin: 80px 0 0; }
.white_wrap .img{ position: absolute; right: 100px; top:20px; width: 180px; height:auto;}
#sub .concept_wrap .white_wrap h3{ padding-left: 30px; margin-bottom:0; text-align: left;}
#sub .white_wrap h4{ display:inline-block; margin: 0 0 25px; padding: 10px 20px 5px; background:#F8A0A2; color: #7A2424; }
#sub .white_wrap h4 + p{ position: relative; font-size: 13px; letter-spacing: 0; margin-left: 50px;}
#sub .white_wrap h4 + p:before{ position: absolute; left: -30px; top:-5px; content: ""; background: url("../images/access/icon_003.png") no-repeat 15% 100%/contain; width: 30px; height: 28px; display: inline-block;}
#sub .white_wrap h4 + p span{ background: #7A2424; color: #FFF; padding:3px 5px 0px; margin-right: 10px; line-height: 1;}
#sub .total_amount h5{ font-size: 25px; color: #555; margin-bottom: 15px; border-bottom: none;}
#sub .total_amount table{ margin: 0 auto 15px; width: 610px;}
#sub .total_amount table th,#sub .total_amount table td{ padding: 15px 20px 10px; font-size: 16px;}
#sub .total_amount table th span,#sub .total_amount table td span{ font-size: 130%; color: #7A2424; font-weight: bold; }
#sub .total_amount table + p{ color: #F00; font-size: 14px;}
.total_amount{ margin: 10px 0 20px; background: #FFF; text-align: center;  padding: 20px; border-radius: 25px;}


/* テーブル--------------------------- */
.sub table { border: 1px solid #5f7999; border-collapse: separate; border-spacing: 0; border-radius: 6px; margin-bottom: 30px;}
.sub table th{ text-align: center; font-weight: 300; color:#5f7999;}
.sub table th,.sub table td { vertical-align: middle; padding: 15px 30px; letter-spacing: 0.2em;}

.sub table tr:not(:last-child) th,
.sub table tr:not(:last-child) td{
	background-repeat: repeat-x; background-image: linear-gradient(to right, #5f7999 25%, rgba(255,255,255,0) 0%); background-position: bottom;	background-size: 4px 1px;}
.sub table thead th + th,
.sub table td { border-left: 1px solid  #5f7999;}
.sub table tr:last-child th,
.sub table tr:last-child td,
.sub table.table2 tr:last-child th,
.sub table.table2 tr:last-child td { border-bottom: none;}
.sub table thead tr:first-child th:first-child,
.sub table.table2 thead tr:first-child th:first-child { border-radius: 5px 0 0 0;}
.sub table thead tr:first-child th:last-child,
.sub table thead.table2 tr:first-child th:last-child { border-radius: 0 5px 0 0;}
.sub table tr:last-child th:first-child,
.sub table.table2 tr:last-child th:first-child { border-radius: 0 0 0 5px;}
.sub table tr:last-child th:last-child,
.sub table.table2 tr:last-child th:last-child { border-radius: 0 0 5px 0;}
.sub table tr:nth-child(even){background: #fdf6f5;}

.sub table.price_table th{ background:#FFF;	font-size:13px;	text-align:center; font-weight:normal; padding:10px 5px 10px 5px; box-sizing:border-box;}
.sub table.price_table td{ font-size:13px; text-align:right; background:#F2F2F2; padding:10px 5px 5px; box-sizing:border-box; letter-spacing:2px;}
table.price_table td span{ font-size:80%; padding-left:5px;	font-family: heisei-maru-gothic-std, sans-serif;}

#sub table.cace_table{ width: 750px; margin-left: auto; margin-right: auto;}
#sub table.cace_table th,#sub table.cace_table td{ width: 50%; padding:15px; line-height:1; font-size:18px;}
#sub table.cace_table th:nth-child(2){ border-left:#FFF 2px solid;}
#sub table.cace_table td:first-child{ border-left:none; border-bottom-left-radius: 20px;}
#sub table.cace_table + .case_text{ margin-top:-20px; font-size:12px; color:#7A2424;  }

.scroll_wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 1rem;
  position: relative;
}
#sub table.table_detail{ width: 100%; border-radius: 0 !important;}
#sub table.table_detail th,#sub table.table_detail td{ font-size: 16px; border-radius: 0 !important; text-align: center;}


/* CSS サブページ*/
#sub_main{ padding-bottom:50px;}
.font_15{
	font-size:15px !important;
}
ul.lisit li{
	list-style:square;
	margin-left:20px;
	padding-left:5px;
	line-height:180%;
	font-size:14px;
}
.service{
	padding-bottom:50px;
	text-align:center;
}

#sub .age_css h3 span{ background: #FEECEC; margin-right: 20px; padding: 2px 5px; border-radius: 5px; font-size: 18px; color: #555;}
#sub .age_css h3 span:nth-child(n+4){ background:#ffffef;}

/* サブMV--------------------------- */
.sub_nav{
	border-radius:20px;
	margin-bottom:20px;
}
.sub_mv{
	width: 93%;
    margin: 0 auto;
	box-sizing:border-box;
}
.sub_mv img{
	border-radius:20px;
}
#sub{
	margin-bottom:-1px;
}

/* パンくず--------------------------- */
.breadcrumb{
	margin: 20px auto 30px;
	width:1000px;
}
.breadcrumb li{
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
}
.breadcrumb li img{vertical-align: middle; margin-right: 10px; padding-right: 2px; padding-bottom:1px;}
.breadcrumb li:not(:last-child):after{
	content: "-";
	color:#7A2424;
	margin-left:10px;
}
.breadcrumb li a{
	font-size: 12px;
	letter-spacing: 0.24em;
	font-weight: 500;
    transition:0.5s;
	color:#000;}
.breadcrumb li a:hover{
	color:#F8A0A2;
    transition:0.5s;
}
.breadcrumb li i{
	color:#7A2424;
}

/* サブページの見出し--------------------------- */
#sub p{
	font-size:15px;
	line-height:200%;
	margin-bottom:20px;
	letter-spacing:0.07em;
}
#sub p.deloitte{font-size: .8em; text-align: center;}
#sub h1{
	color:#7A2424;
	text-align:center;
	font-size:38px;
	margin:40px 0 50px;
	display:block;
	line-height:1.6;
	letter-spacing:0.08em;
}
#sub h1 img{
	width:auto;
	height:60px; margin-bottom: .5rem;
}
#sub h2{
	color:#7A2424;
	margin:0 0 40px;
	font-size:26px;
	background:#F8A0A2;
	padding:30px 5px 20px;
	border-top-left-radius: 25px;
    border-top-right-radius: 25px;
	text-align:center; line-height: 1.8;
}
#sub h2.arrange{ background:#7A2424; color:#FFF;}
#sub h2.mt{
	margin-top:90px !important;
}
#sub h3{
	color:#7A2424;
	margin:50px 0 40px;
	font-size:23px;
	border-bottom:#7A2424 2px solid;
	padding:0 0 10px 0;
	line-height:2.5rem;
}
#sub h2 + h3{ margin-top: 30px;}
#sub h4{
	margin:40px 0 1.5rem;
	font-size:17px;
	background:#7A2424;
	color:#FFF;
	padding:13px 20px 10px;
	box-sizing:border-box;
	border-radius: 5px;
}
#sub h5{
	font-size:17px;
	color:#7A2424;
	margin:20px 0 30px; padding-bottom: 5px;
	font-weight:normal;
	border-bottom:#BE8082 2px solid;
	display:inline-block;
	line-height:1.7;
}
#sub h1,
#sub h2,
#sub h3,
#sub h4,
#sub .price_text{
	font-family: heisei-maru-gothic-std, sans-serif;
	font-weight: 800 ;
	font-style: normal ;
}
#sub h4{ font-weight:normal;}
.red{ color:#F00 !important;}
.red_border{ border-bottom: #F00 1px solid;}


/* サブページの装飾--------------------------- */
.flot_box{
	margin-bottom:40px;
	display:block;
}
.flot_box img{
	float:right;
	margin-left:50px;
	width:400px;
	margin-bottom:20px;
}
.img_center{
	margin:30px auto 25px;
	display:block;
	width:75%;
}
.photo img{
	width:48.8%;
	float:left;
	padding:5px;
}

#sub .box1 p{
	margin-bottom:0;
	line-height:100%;
}

#sub .price_text{
	font-size: 22px;
	padding:0 0 5px;
	margin:60px 0 35px;
	color:#F8A0A2;
	border-bottom:#F8A0A2 2px solid;
	letter-spacing:0.2em;
	line-height:normal;
}
#sub .box2 h3{
	margin-top:0;
}
.tel_text a{
	line-height:normal;
}
.tel_text a span{
	font-size:2em;
}
.tel_text a i{
	padding-right:0.3em;
	color:#F8A0A2;
}


/* サブページのテーブル--------------------------- */
#sub table {
  border-collapse: separate;
  border-spacing: 0;
  margin: 30px 0 40px;
  background:#FDE2E3;
  border-radius:20px;
}
#sub table th,
#sub table td {
	vertical-align: middle;
	padding: 20px 30px;
	letter-spacing: 0.2em;
	font-size:14px;
	line-height:180%;
	border-bottom:#FFF 2px solid;
	font-weight:normal;
}

#sub table thead th + th,
#sub table td { border-left: 1.5px solid  #FFF;}
#sub table tr:last-child th,
#sub table tr:last-child td{ border-bottom: none;}
#sub table thead tr:first-child th:first-child { border-radius: 20px 0 0 0;}
#sub table thead tr:first-child th:last-child {border-radius: 0 20px 0 0;}
#sub table tr:last-child th:first-child { border-radius: 0 0 0 20px;}
#sub table tr:last-child td:last-child {border-radius: 0 0 20px 0;}
#sub table tr:nth-child(even) th,#sub table tr:nth-child(even) td{background: #FEECEC;}

#sub table.price_table{width:600px;margin:20px auto 60px;}
#sub table.price_table th,
#sub table.price_table td{padding: 10px 20px 5px;}
#sub table.price_table th{text-align:left;font-size:13px;letter-spacing:0.08em;}
#sub table.price_table td{font-size:20px;letter-spacing:0.08em;text-align:right;font-weight:normal;}
#sub table.time_table{border-radius:0px;}
#sub table.time_table th,
#sub table.time_table td{padding:13px 10px 8px;text-align:center;vertical-align:middle;font-size:1.2em;}

#sub table.table_main tr:last-child th{ background:#7A2424; color: #FFF; border-radius:20px 0 0 20px;}
#sub table.table_main tr th,#sub table.table_main tr td{ font-size: 1em; line-height: 2.5;}
#sub table.table_main tr td{ text-align:center; color: #7A2424; font-weight: bold; letter-spacing: 1px;}
#sub table.table_main{ margin-bottom:10px;}
#sub table.table_main + p{ font-size: 12px; text-align: right;}

/* 症例集 --------------------------- */

#box_50 .box_01{
	width:49%;
	float:left;
}
#box_50 .mr{
	margin-right:18px;
}

/* 症例紹介ページ --------------------------- */
#case .box_case,
#schedule .box_case{
	width:50%;
	float:left;
	box-sizing:border-box;
	padding:20px;
}


#case h3,
#schedule h3.h3{
	margin:20px 0 20px;
}
#schedule h4.h4{
	margin:10px 0 20px;
}
#case h3.mt{ margin-top: 80px;}


/* 初めての方へ --------------------------- */
#flow .text_02,#case .text_02{font-size:1.2em;}
.can_not img{ width:650px; margin:0 auto; display:block;}
#sub .can_not table.price_table{ width:100%;}
#sub .can_not table.price_table th{ width:65%; font-size:1rem;}
#sub .can_not table.price_table td span{ font-size:0.7rem;}

/* 治療の流れ --------------------------- */
#schedule ul {
  padding: 0;
}
#schedule ul li {
  position: relative;
  list-style-type: none!important;/*ポチ消す*/
  padding: 0.5em 0.5em 0.5em 0.5em;
  margin-bottom: 20px;
  margin-right:20px;
  line-height: 1.5em;
  vertical-align: middle;
  color: #505050;
  border-bottom:#F8A0A2 1.5px dotted;
  display:inline-block;
}
#schedule ul li:before{ 
  display:inline-block; 
  vertical-align: middle;
  /*以下白丸つくる*/
  content:'';
  width:1em;
  height: 1em;
  background: #F8A0A2;
  border-radius: 50%;
  margin-right: 13px;
}


/* 強み・特徴 --------------------------- */
#concept .box_01{
	text-align:center;
	width:100%;
	background:url(../images/concept/002.jpg) no-repeat 100% 100%;
	background-size:300px auto;
	padding:30px 0 0;
	margin-bottom:50px;
}
#concept .box_01 p{
	font-size:1.1em;
	line-height:2.8em;
}
#concept .box_01 p span{
	font-weight:bold;
	color:#7A2424;
	font-size:120%;
}
#concept .box_01 img{
	width:100px;
	margin:0 0 20px;
}
#concept .img_001{
	margin:100px auto 50px;
	width:300px;
}
#concept .box_02,
#schedule .box_02,#decoration .box_02{
	background:#F8F8F8;
    border-bottom-left-radius: 25px;
    border-bottom-right-radius: 25px;
	padding:30px 30px 40px;
	box-sizing:border-box;
	margin:0 0 150px;
	position:relative;
}
#decoration .box_02{ margin-bottom:5rem;}
.concept_wrap,.decoration_wrap{
	position:relative;
}
#sub .concept_wrap h2,#sub .decoration_wrap h2{
    width: 100%;
    border-top-left-radius: 25px;
    border-top-right-radius: 25px;
    padding: 45px 0 25px 0;
	font-size:3em;
	margin:0;
}
#sub #concept .concept_wrap h2 span,#sub .decoration_wrap h2 span{
	font-size:50%;
}
#concept .concept_wrap p.number,.decoration_wrap p.number{
	width:150px;
	height:150px;
	border-radius: 50%;
	background:#7A2424;
	position:absolute;
	top:-95px;
	left:5%;
	text-align:center;
	padding-top:30px;
	box-sizing:border-box;
	line-height:280%;
	font-weight:bold;
	color:#FFF;
	font-size:1em;
	z-index:1;
	margin-bottom:0;
}
#concept .concept_wrap p.number span{
	font-size:3.5em;
}
.decoration_wrap p.number span{ font-size:4rem; display:block; margin-top:1rem;}
#sub .concept_wrap h3{
	border-bottom:0;
	font-weight:100;
	margin:0;
	line-height:160%;
	text-align:center;
	padding-top:10px;
}
#sub .concept_wrap .mb{
	margin-bottom:60px;
}
.point_list li{ position:relative; padding-left:1.8rem; font-size:1.1rem; line-height:2.4rem;}
.point_list li:before{ position:absolute; top:auto; left:0; content:"●"; color:#F8A0A2;}
#sub .decoration_wrap{ margin-top:10rem; }
.normal_list li{ list-style: disc; margin-left: 15px; font-size: 15px; margin-bottom: 1rem; }
#sub .box_so.normal_p ul.normal_list{ margin-top: 15px;}

/* ドクター紹介 --------------------------- */
#dr p.text_01,
#flow p.text_01,
#schedule p.text_01,#decoration p.text_01{
	font-size:1.5em;
	line-height:2em;
	text-align:center;
	padding-top:20px;
}
#dr p.text_01 span,
#flow p.text_01 span,
#schedule p.text_01 span{
	font-size:140% !important;
}
#dr .box_01{
	background:#F6F6F6;
	padding:0;
	width:47%;
	float:left;
	margin:0 14px 20px;
	position:relative;
	border-radius:10px;
}
#dr .box_01 p{
	text-align:center;
	padding:10px 5px;
	background:#F8A0A2;
	color:#7A2424;
	border-top-left-radius: 25px;
    border-top-right-radius: 25px;
	margin:0;
}
#sub #dr table{
	margin:0 0 10px;
}
#sub #dr table th,
#sub #dr table td{
	background:#F6F6F6;
	padding:10px 0 0px 20px;
	border:none;
	letter-spacing:0.5px;
}

/* よくある質問 --------------------------- */
#q_and_a .main_btn{
	margin:20px 0 50px 0;
}

/* コロナ対策 --------------------------- */
div#news {
    border: double 10px #000;
    padding: 30px 50px 20px;
    margin: 50px auto;
    text-align: center;
	background-color: rgba(235, 232, 227, 0.5);
	width: 850px;
}
#news p {
    font-size: 1.0em;
    line-height: 160%;
}
#news p span{border-bottom: 1px solid red; font-weight: bold;}
#news p.title {
    text-align: center;
    font-size: 32px;
    color: #7a2324;
	margin-bottom: 20px;
}
#news ul {
    text-align: left;
    font-size: 20px;
    width: 650px;
    margin: 20px auto;
}
#news li {
	border-bottom: dashed 1px;
	margin-bottom: .5em; 
	font-weight: bold; 
	text-indent: -1em; 
	padding-left: 1em;
	line-height: 150%;
}
#news li:before {content: "●";}

#news p.news_text01{
    color: #f8a0a2;
    margin: 15px 0;
    text-align: center;
    border-bottom: 1px solid red;
    font-weight: bold;
    display:inline-block;
}

/* 求人情報--------------------------- */
.link_box{ display:flex; justify-content:space-between; margin:50px 0;}
.link_box div{ width:48%;}
.link_box div a:hover,.tel_text a:hover{ opacity:0.7;}
#sub p.tel_text{ margin-bottom:50px;}
.tel_text a{ font-size:16px; font-weight:bold;}
#sub .link_box div h3{ margin-top:0; }

#sub .recruit{ margin-top:100px;}
#sub .recruit h2{ margin-bottom:0;}
#sub .recruit h3{ margin:0 0 20px;}


/* 予約前の注意事項--------------------------- */
.number_list{ width:100%; margin:0 0 50px; display:flex; justify-content:space-around;  align-items:flex-start;}
#sub .number_list .number p{font-size:70px; line-height:0.7; margin-top:40px;}
#sub .number_list dl{width:795px; border-left:#000 1px dashed; padding-left:50px; padding-top:30px;}
#sub .number_list dt{position:relative; padding-bottom:15px; font-size:22px; font-weight:700; line-height:1.8;}
#sub .number_list dt span{ color:#7A2424; font-size:28px; background: rgba(0, 0, 0, 0) linear-gradient(transparent 75%, rgba(248, 160, 162, 0.5) 0%) repeat scroll 0 0; }
#sub .number_list dd{ font-size:16px; line-height:1.8;}
#sub .number_list dd span{ color: #7A2424;}
.policy{
  margin: 20px auto; font-size:20px; text-align:center;}
.submit_btnarea { width: 360px;  margin: 0 auto;}
.form_btn{ background: #7A2424;border: 1px solid #fff; border-radius:20px;color: #fff; width: 100%; padding: 10px; font-size: 16px; cursor: pointer; transition: all .5s ease-out; position: relative;}
.form_btn:hover{ border: 1px solid #005183; background: #fff; color: #005183;}
button[type="submit"][disabled] { background-color: #fff; color: #ccc; border-color: #ccc; cursor: default; }
button[type="submit"][disabled]:hover{ opacity:1; }
#sub .text_point{ padding:20px 5px 15px; border-radius:20px; margin-bottom:50px; box-sizing:border-box; border:#7A2424 8px double; font-size:25px; font-weight:bold; text-align:center;}
#sub .text_point span{ color:#F00;}

/* セカンドオピニオン--------------------------- */
.box_so{ margin: 70px 0 100px; padding: 60px 50px; background:#FEECEC; text-align: center; border-radius: 20px;}
#sub .box_so p{ color: #000; font-size: 20px; font-weight: bold; margin-top: 30px;}
#sub .box_so p.small_text{ font-size: 15px; font-weight: 500;}
#sub .box_so p span{ font-size: 30px; color:#7A2424; background: #FFF; padding: 10px 20px; border-radius: 90px;}
#sub .box_so.normal_p p{ font-size: 15px; text-align: left; margin: 0; font-weight: normal;}
#sub .box_so.normal_p p + p{ margin-top: 15px;}
#sub .box_so.normal_p ul{ margin-top: 30px;}
#sub .box_so.normal_p ul li{ text-align: left; font-weight: bold; margin-bottom: 10px;}
#sub .box_so h3{ margin-top: 0;}
#sub .box_so table{ margin: 50px 0 50px;}
#sub .box_so table tr:nth-child(even) th, #sub table tr:nth-child(even) td{ background: rgba(159,72,76,0.1);}
#sub .box_so table th{ font-size: 20px; vertical-align: middle;}
#sub .box_so table td{ font-size: 16px; vertical-align: middle;}
#sub #case .box_so table th{ width: 30%; font-size: 1.2rem;}
#sub #case .box_so table td{ text-align: left; font-size: 14px;}

#sub .box_gray{ background: #F8F8F8; margin: -40px 0 150px; padding: 30px 30px 40px; border-bottom-right-radius: 25px; border-bottom-left-radius:25px;}
#sub .box_gray2{ background: #F8F8F8; margin: 30px 0; padding: 30px;}
#sub .box_gray2 h5{ margin-top: 0; color:#7A2424; border-color:#7A2424;  margin-bottom: 15px;}
#sub .box_gray2 p:last-child{ margin-bottom: 0;}
#sub .list_white{ display: flex; margin-bottom: 1.5rem; }
#sub .list_white li,#sub .list_pnk li{ background: #eee; border-radius: 90px; padding: 15px 25px; font-size: 18px; line-height: 1.6;}
#sub .list_white li + li{ margin-left: 20px;}
#sub .list_pnk{ margin-bottom: 1.5rem;}
#sub .list_pnk li{ background: #f2c8b6; display: inline-block;}
#sub .list_pnk li + li{ margin-top: 20px;}
#sub .list_pnk li span{ font-size:150%; color:#F00; line-height: 2; font-weight: bold;}
#sub .text_big{ font-size: 18px;}
#sub .text_big span{ font-size: 25px;}

#sub .box_bordeaux{ position: relative; background: #FFF; padding: 50px; margin-bottom: 50px;}
#sub .box_bordeaux p{ margin-bottom: 0;}
#sub .box_bordeaux p + p{ margin-top: 15px;}
#sub .box_bordeaux .flot_box,#sub .box_bordeaux img{ margin-bottom: 0;}
#sub .box_bordeaux p span{ border-bottom: #7A2424 1px solid; font-weight: bold; font-size: 110%; }
#sub .box_bordeaux h5{ margin-top: 0;}
#sub .box_bordeaux .main_btn a{ margin-bottom: 0;}
.text_right{ text-align: left;}

.age_link_wrap{ display:flex; justify-content:space-between; flex-wrap: wrap;}
.age_link_wrap li{width:calc(95%/5);}

.flex_wrap,.flex_wrap_main{ display: flex; justify-content:space-between; margin-top: 30px;}
.flex_wrap_main div{ width: 48.5%;}
#sub .flex_wrap_main div h3,#sub .flex_wrap_main div h4,#sub .flex_wrap_main div h5{ margin-top: 0;}
.flex-30_70 .img-box{ width: 23%;}
.flex-30_70 .text-box{ width: 73%;}

#sub .img_lady{ position: absolute; top:20px; right: 30px; width: 220px; height: 220px; background: #FFF; padding: 20px; border-radius: 90%; box-sizing: border-box;}
#sub .img_lady img{ width:auto; height:100%; margin: auto; display: block;}

#access_route .flex_wrap{ flex-wrap: wrap; align-content: flex-start;}
#access_route .flex_wrap .box{ position: relative; width: 48.5%; background: #FEECEC; padding: 50px 20px 20px; box-sizing: border-box; margin-bottom: 30px; border-radius: 30px;}
#access_route .flex_wrap .box span.time,#access_route .flex_wrap .box span.prefectures{ position: absolute; top:20px; left: 40px; background: #F8A0A2; color: #7A2424; padding: 18px 10px 15px; text-align: center; border-radius:10px; line-height: 1.4; letter-spacing: 0; box-sizing: border-box;}
#access_route .flex_wrap .box span.prefectures{ left: auto; top:30px; right: 40px; width: 120px;  border-radius: 10px; font-size: 20px; background: #FFF; border: #F8A0A2 2px solid; padding-left: 0; padding-right: 0;}
#access_route .box h4{ text-align: center; margin-bottom: 25px; }
#access_route .box .ul_100{ width:200px; margin: 0 auto;}
#access_route .box .ul_100 ul{ padding-left: 20px;}
#access_route .box .ul_100 li:last-child{ color: #000;}
#access_route .box .ul_50{ display: flex; justify-content: space-between;align-items: flex-start;}
#access_route .box .ul_50 ul{ width: 48%;}
#access_route .box ul li{ color: #000; font-size: 20px; text-align: center;}
#access_route .box ul li + li{ margin-top: 20px;}
#access_route .box ul li:nth-child(odd){ background:#FFF; border-radius:10px; padding: 10px 0 5px; line-height: 1;}
#access_route .box ul li:nth-child(2n){ position: relative; font-size: 13px; letter-spacing: 0; padding-left: 60px; color: #7A2424; text-align:left; }
#access_route .box ul li:nth-child(2n):before{ position: absolute; left: 20px; top:-5px; content: ""; background: url("../images/access/icon_001.png") no-repeat 0 0/contain; width: 33px; height: 33px; display: inline-block;}
#access_route .box ul li.bullet_train:before{ background-image: url("../images/access/icon_002.png");}
#access_route .box ul li.woke:before{ background-image: url("../images/access/icon_005.png");}
#access_route .box ul li:nth-child(2n):after{ position: absolute; left: 3px; top:-5px; content: ""; background: url("../images/access/icon_003.png") no-repeat 15% 100%/contain; width: 30px; height: 28px; display: inline-block;}
#access_route .box ul li:last-child{ color:#F8A0A2;}
#access_route .small_text{ font-size: 13px;}
#access_route .box img{ width: 190px; height: auto;}

.linkwrap{ width: 100%; height: 100%; display: block; position: absolute; top: 0; left: 0; z-index: 10; transition: 1.0s ;}
#sub .insta_wrap h2{margin-bottom: 5px;}
.insta_img{ position: relative; margin: 40px 0 0;}
#concept.insta_wrap picture img{ width: 550px; padding: 0 20px;}
#concept.insta_wrap picture + picture img{ width: 210px;}
#concept.insta_wrap .box{ position: relative; padding-top: 0;}
#concept.insta_wrap .flex_wrap{ justify-content:center; align-items: center;}
#concept.insta_wrap .linkwrap:hover{ background: #FFF; opacity: 0.4; transition: 1.0s ;}

#calendar .flex{ justify-content: flex-start;}
#calendar .flex li{ padding: 5px; box-sizing: border-box; }

#sub .column_box{ display: flex; justify-content: space-between; flex-wrap: wrap; border:#7A2424 2px dashed; padding: 25px; margin-bottom: 5rem;}
#sub .column_box dt{ width: 30%; border:none;}
#sub .column_box dd{ width: 67%; margin-bottom: 0;}
#sub .column_box h3{ margin: 0 0 20px;}
#sub .column_box p{ margin-bottom: 0; font-size: 14px;}
#sub .column_box p + p{ margin-top: 10px;}
#sub .keyword_text span{ background: #FEECEC; padding: 5px 10px; border-radius: 10px; margin-left:5px;}
#sub .table_of_contents{ background: rgba(159,72,76,0.1); padding:30px 20px 40px;}
#sub .table_of_contents p{ text-align: center; font-size: 25px; margin-bottom: 40px;}
#sub .table_of_contents p:after{ content:""; background:url("../images/column/pencil.png") no-repeat center/cover; width: 30px; height: 30px; display:inline-block; margin-left: 10px;}
#sub .table_of_contents ul{ display: flex; justify-content: space-around; flex-wrap: wrap;}
#sub .table_of_contents ul li a{ background: #7A2424; color: #FFF; font-size: 16px; padding: 10px 20px; border-radius: 20px;}

.online_qualification{ width: 650px; margin: 0 auto 30px;}
.online_qualification .box{ width: 300px;}
#online_qualification table th,#online_qualification table tr:last-child th:first-child{ background: #DDD; border-radius: 0; padding: 20px; width: 30%; letter-spacing: 0.5px;}
#online_qualification table td,#online_qualification table tr:nth-child(even) td,#online_qualification table tr:last-child td:last-child{ background: #FFF; padding: 20px; border-radius: 0; font-size: 13px; letter-spacing: 0.5px;}
#online_qualification table td{ border: #CCC 1px solid;}
#online_qualification table tr:last-child td:last-child{ border-bottom:#CCC 1px solid; }
.text_center{ text-align: center;}

.mokuji,
.l-page section.default dl.mokuji{ width: 700px; background: rgba(159,72,76,0.1); padding: 60px 80px; margin:  60px auto 80px; box-sizing: border-box; border-radius: 10px;}
#sub .mokuji dt{ width: 100%; font-size: 30px; text-align: center; display: block; padding-bottom: 15px; margin-bottom: 40px; color:  #000; border-bottom: #F8A0A2 2px solid;}
#sub .mokuji dd{ margin-bottom: 0; width: 100%; }
#sub .mokuji dd ul li{ list-style: decimal-leading-zero; font-size: 18px; letter-spacing: 0.1px; padding-left: 10px; margin-left: 40px; line-height: 1.6;}
#sub .mokuji dd ul li + li{ margin-top: 25px;}
#sub .mokuji dd ul li a{border-bottom: rgba(159,72,76,0.1) 0px solid; transition : 0.5s;}
#sub .mokuji dd ul li a:hover{ border-bottom: #7A2424 1px solid; transition : 0.5s; }

.related_pages ul{ display: flex; justify-content:space-around; flex-wrap: wrap;}
.related_pages ul li{ background:#f8f8f8; border: #7A2424 1px dashed; position: relative; width: 32%; transition:0.5s; padding: 10px; margin-bottom: 15px; box-sizing: border-box;}
.related_pages ul li:hover{ opacity: 0.7; transition:0.5s;}
#sub .related_pages ul li p{ text-align: center; margin: 7px 0 0; color: #7A2424; font-weight:bold; letter-spacing: 1px;}
.related_pages ul li span{ position: absolute; right: 0; top: 20px; background: #fcf47c; color: #782627; font-size: 12px; font-weight: bold; letter-spacing: 0.1px; padding: 12px 5px 10px; line-height: 1;}

#sub .price_css table{ border-radius: 0; border-collapse: collapse;}
#sub .price_css table th,#sub .price_css table td{ font-size: 18px; color: #333; letter-spacing: 1px;}
#sub .price_css table th{ width: 38%;}
#sub .price_css table td,#sub .price_css table tr:nth-child(even) td{ background: #FFF; text-align: right; }
#sub .price_css table th,#sub .price_css table td,#sub .price_css table tr:last-child th:first-child,#sub .price_css table tr:last-child td:last-child,#sub .price_css table tr:last-child th, #sub .price_css table tr:last-child td{border:#7A2424 1px solid;  border-radius: 0; }

#sub .recommended_page{ margin: 7rem auto;}
#sub .recommended_page h2{ background-color: #F6ECED; border-radius: 0; color: #555; }
.recommended_page ul{ display: flex; justify-content: space-between; flex-wrap: wrap;}
.recommended_page ul li{ width: 30%; margin-bottom: 1rem; display: grid;}
.recommended_page ul li a{ font-size: 16px; border: #CCC 1px solid; color: #555; padding: 0.8rem 0; text-align: center; border-radius: 0.5rem; transition: 0.5s;}
.recommended_page ul li a:hover{ background: #F6ECED; color: #7A2424; border-color: #7A2424; transition: 0.5s;}


.flex_wrap .img{ width: 42%; }
.flex_wrap .text{ width: 55%; }
#sub .flex_wrap .price_css table{ margin-top: 1rem;}
#sub .flex_wrap .price_css table th{ background:rgba(159,72,76,0.1); color: #7A2424; }
#sub .flex_wrap .price_css table th,#sub .flex_wrap .price_css table td{ padding: .5rem 1rem; font-size: 15px;}

.Introductory_wrap{ background: #FEEAEA; box-sizing: border-box; padding-bottom: 3rem; }
#sub .Introductory_wrap h2{ border-radius: 0; background: #7A2424; color: #FFF; }
.Introductory_wrap .flex_wrap{ padding: 0 2rem;}
.Introductory_wrap .point_list{ margin-bottom: 1rem; }
.Introductory_wrap .point_list li + li{ margin-top: .5rem;}
#sub .box_bordeaux.compact{ border:#7A2424 1px dashed;  background: #FFF; margin: 0 auto; width: 70%; padding: 1.5rem 2rem; text-align: center; }
#sub .Introductory_wrap .small_text{ font-size: 12px; text-align: right; letter-spacing: 0;}

.yoyaku_wrap .point_list{ display: flex; justify-content: space-between; flex-wrap: wrap; margin-bottom: .8rem; }
.yoyaku_wrap .point_list li{ width: 48%; margin-bottom: .7rem; background: #f2c8b6; border-radius: 10px; text-align: center; padding: .4rem 0; color: #333; font-size: 14px;}
.yoyaku_wrap .point_list li:before{ content: none;}
.tell_link{ text-align: center;}
.tell_link a{ position: relative; font-size: 28px; font-weight: bold; font-family:YuMincho, "Yu Mincho","serif"; color: #000; padding:1.5rem 0 1rem 2.5rem; letter-spacing: .2rem; }
.short .tell_link a{ font-size: 25px;}
.tell_link a:before{ position: absolute; top: 2px; left: 2px; content: ""; width: 25px; height: 48px; background:url("../images/common/icon_tel.svg") no-repeat 0 100% /contain; display: inline-block; }
.short .tell_link a:before{top: 4px; left: 5px; width: 22px; height: 43px;}
.yoyaku_wrap{ padding-top: 1.5rem;}
.yoyaku_wrap a.btn:before{ padding-right: 1rem; content: ""; width: 28px; height: 28px; background:url("../images/common/icon_calendar.svg") no-repeat 0 0 /contain; display: inline-block; border: none; position: static; transform: none; border-radius: initial;}
.yoyaku_wrap a.btn { position: relative; width: 475px; max-width: 100%; height: 60px; border-radius: 3rem; margin: 10px auto 0; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; font-size: 25px; font-weight: bold; border: #7A2424 1px solid; letter-spacing: .1rem; color: #7A2424; background: #F6ECED; display: flex; justify-content: center; align-items: center; text-decoration: none;-webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; -o-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; padding-left: 0;}
.yoyaku_wrap a.btn:after { position: absolute; top: 10px; right: 60px; content: "　"; display: inline-block; background: url(../images/top/btn_2.png) no-repeat 50% 50%; background-size: 20px;}
.yoyaku_wrap a.btn:hover{ opacity: 1; background: #f2c8b6; }
.short .yoyaku_wrap a.btn:after{ right: 2rem; top:13px;}
#sub .yoyaku_wrap h3{ margin: 0 0 1rem;}
#sub .yoyaku_wrap p { font-size: 17px; text-align: center; line-height: 1.8;}
#sub .yoyaku_wrap p strong{ background:  rgba(0, 0, 0, 0) linear-gradient(transparent 55%, rgba(248, 160, 162, 0.5) 0%) repeat scroll 0 0;}

.cta_wrap { position: relative; background: #FDF6EC url("../images/sub_mv/cta_bg.jpg")0% 100%/ cover; width: 100%; padding: 3rem 0 0; }
#sub .cta_box h2{ background: none; font-weight: 500; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";  margin: auto; font-size: 39px; color: #000; text-align: center; padding: 0; }
#sub .cta_box h2 span{ background: rgba(0, 0, 0, 0) linear-gradient(transparent 55%, rgba(248, 160, 162, 0.5) 0%) repeat scroll 0 0;}
.cta_box{ width: 1100px; margin: 0 auto; padding: 3vw 4rem 5rem; box-sizing: border-box; }
.cta_box .flex_wrap{ display: flex; justify-content: space-between;}
.cta_box .flex_wrap .img{ width: 50%; position: relative;}
#sub .cta_box .flex_wrap .img p{ position: absolute; top:2rem; left: 3rem; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-size: 1.7rem; color: #000; text-shadow: 1px 2px 3px #FFF;}
#sub .cta_box .flex_wrap .img p span{ background:#F6ECED; padding: .5rem .2rem; margin-bottom: .3rem; }
.cta_box .flex_wrap .text{ width: 50%; padding-left: 2rem; padding-top: 0; box-sizing: border-box; }
#sub .cta_box .flex_wrap .text p{ text-align: left; font-size: 15px; margin-bottom: 1rem; line-height: 2; }

.cta_box.short{ width: 800px; background:#FDF6EC url("../images/sub_mv/cta_bg.jpg")0% 100%/ cover; padding: 2rem 2rem 1.7rem; margin: 0 auto 6rem; border: #CCC 1px solid; }
.cta_box.short .flex_wrap{ margin: 0;}
.cta_box.short .yoyaku_wrap a.btn{ width: 100%; margin-bottom: 0; font-size: 22px;}
#sub .cta_box.short .flex_wrap .text .tell_link{ width: 100%; text-align: center; font-size: 17px; }
#sub .cta_box.short .yoyaku_wrap .point_text{ font-size: 15px; line-height: 1.65; text-align: center; }
#sub .cta_box.short .flex_wrap .text p{ text-align: center;}
.cta_box.short .flex_wrap .img,.cta_box.short .flex_wrap .text{ width: 48%; padding: 0; margin-bottom:0; }
.cta_box.short .flex_wrap .img{ display: flex; justify-content: center; width: 365px; height: 215px; overflow: hidden; }
.cta_box.short .flex_wrap .img img{ height: 100%; width: auto; max-width: none; }
.cta_box .tell_link{ position: relative; width: 475px; background: #FFF; margin: 1.5rem auto 1.5rem; padding-top: 1rem; box-shadow: 0 1px 5px #888; }
.cta_box .tell_link span{ position: absolute; top:-1rem; left: 0; right: 0; text-align: center; font-size: 15px; font-family: "Noto Sans JP", sans-serif; font-weight: 500; background: #f8d5d5; border: #FFF 1px solid; color: #333; width: 280px; border-radius: 1rem; margin: auto; line-height: 1.8; }

#sub .second_wrap h3{ border-top: #000 1px solid; border-bottom: none; margin: 2rem 0 1rem; padding-top: 2.5rem; text-align: center;}
    