@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Hina+Mincho&family=Murecho:wght@400;700&display=swap');

:root {
	--main-color1: #E50044;
	--main-color-light1: #ffbfd2;
	--main-color2: #e66e00;
	--main-color-light2: #ffe2c7;
	--alert-color: #e25724;
}

html {
		font-family: "Murecho";
}
body {
    min-width: 1080px;
	max-width: 100vw;
}
.inner {
    max-width: 1080px;
}

.marker {
    background: linear-gradient(transparent 60%, #fff668 60%);
}

.sec_title {
    font-size: 36px;
    font-weight: 900;
    margin-bottom: 1em;
}
.sec_title span {
    display: block;
    font-size: 18px;
}

.bg_gray {
	background:#eeeeee;
}
img { vertical-align: middle; }
.red { color: #E60044;}

.pc { display: block; }.sp { display: none; }
@media(max-width: 1040px){ .sp{ display: block; } .pc{ display: none; } }


/* **************************************************************** */
/* header
*/
header#normal_header {
	background: rgba(255, 255, 255, 0.9);
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding: 5px 10px;
	z-index: 10000;
	box-sizing: border-box;
}
header#normal_header .inner {
	align-items: center;
	max-width: 1080px;
}
header#normal_header .upper {

}
header#normal_header .upper h1 {
	font-size: 12px;
}
header#normal_header .upper .logo {
	text-align: left;
}
header#normal_header .upper .logo .mini {

}

header#normal_header .contact_bloc {
	align-items: center;
}
header#normal_header .contact_bloc .tel_bloc {
	margin-right: 1em;
}
header#normal_header .contact_bloc .tel_bloc p {

}
header#normal_header .contact_bloc .tel_bloc p .tel {
	background: url(../images/icon_tel.png) no-repeat left center;
	font-size: 36px;
	line-height: 1em;
	font-weight: bold;
	padding-left: 1em;
	display: block;
}
header#normal_header .contact_bloc .tel_bloc p .tel a {
	text-decoration:none;
}
header#normal_header .contact_bloc .tel_bloc p .mini {
	font-size: 16px;
	line-height: 1;
	display: block;
	font-weight: bold;
}
.contact_btn {}
.contact_btn:hover { opacity:0.8; }


/* ******************************************* */
/*		  header PC
/* ******************************************* */
@media(min-width:1041px){
	#header {
		background: #ffffff;
		position: fixed;
		z-index: 9999;
		width: 100%;
		top: 0;
		transition: 0.1s;
		border-bottom: 2px solid var(--main-color1);
	}
	#header.skeleton { opacity: 0.9; }
	#header.skeleton:hover { opacity: 1.0; }
	#header .header_top {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 1rem 3rem;
	}
	#header .header_top .logo { width: 600px; transition: 0.1s; }
	#header .header_top .logo a { display: flex; align-items: center; text-decoration: none; }
	#header .header_top .login a {
		background: var(--main-color1);
		border: 1px solid var(--main-color1);
		padding: 0.4rem 1.5rem 0.5rem;
		border-radius: 6px;
		color: #ffffff; font-weight: bold;
		text-decoration: none;
	}
	#header .header_top .login a:hover {
		background: #FFFFFF;
		color: var(--main-color1);
	}
	#header .header_top .logo a img { width: 350px; }
	#header .header_top .logo a p {
		background: #1472C0;
		border-radius: 8px;
		padding: 0.2rem 0.3rem 0.3rem 0.3rem;
		color: #FFFFFF;
		text-decoration: none;
		letter-spacing: 0.1rem;
		font-size: 1.2rem;
		margin-left: 0.5rem;
	}
	#header .header_top nav ul { display: flex; }
	#header .header_top nav li { padding: 0 1rem; }
	#header .header_top nav li a { text-decoration: none; font-weight: bold; }
	#header .header_top nav li a:hover { opacity: 0.7; }
}
/* ******************************************* */
/*		  header SP
/* ******************************************* */
@media(max-width:1040px){
	#header {
		top: 0;
		left: 0;
		position: fixed;
		transition: 0.2s;
		background: #ffffff;
		z-index: 9999;
		width: 100%;
		box-shadow: 0px 2px 2px 2px rgba( 0, 0, 0, 0.1 );
	}
	.header_info {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 2vw;
		box-shadow: 0px 2px 2px 2px rgba( 0, 0, 0, 0.1 );
	}
	.header_info .logo {
		margin: 2vw;
		width: 75vw;
		max-width: 450px;
		display: flex;
	}
	.header_info .logo img {
		max-width: 100%;
		height: auto;
	}
	.header_info .logo a {
		text-decoration: none;
	}
	.header_info .logo a p {
		background: #1472C0;
		border-radius: 8px;
		margin: 0.1rem auto 0;
		padding: 0.1rem 0.5rem 0.2rem 0.8rem;
		color: #FFFFFF;
		letter-spacing: 0.4rem; line-height: 1.0;
		font-size: 0.9rem; font-weight: bold;
		text-align: center;
		margin-left: 0.5rem;
	}
	.header_info .button {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.header_info .button > div { margin: 2vw 1vw; }
	.header_info .trigger {
		vertical-align: middle;
		display: inline-block;
	}
	.header_info .menu {
		background: url('../images/mail.png') 0 0 no-repeat;
		background-color: var(--main-color1);
		background-size: 100% 100%;
		border-radius: 4px;
		transition: 0.3s;
		width: 15vw; height: 15vw;
		max-width: 60px;
		max-height: 60px;
	}
	.header_info .open .menu {
		background: url('../images/close.png') 0 0 no-repeat;
		transition: 0.3s;
		background-color: var(--main-color1);
		background-size: 100% 100%;
	}
}

/* ******************************************* */
/*		  TOP NEWS Ticker
/* ******************************************* */
#mv {
	position: relative;
	width: 100%;
	height: 750px;
	background: url('/images/bg.jpg');
	background-size: cover;
	background-position: 50% 50%;
}
#mv .image {
	position: absolute;
	top: 0; left: 0;
	z-index: 10;
}
#mv video {
	position: absolute;
	width: 360px;
	left: 579px;
	top: 303px;
	z-index: 100;
	transform: perspective(600px) scaleZ(12) rotateX(0.30deg) scale( 0.99 );
	transform-origin: 83% 100%;
}
#mv .title {
	display: flex;
	width: 1200px;
	height: 750px;
	margin: 0 auto;
	justify-content: center;
	align-items: center;
	position: relative;
	flex-wrap: wrap;
	padding-top: 3rem;
	z-index: 1000;
}
#mv .circle { position: absolute; border-radius: 1000px; }
#mv .circle:nth-of-type(1) { background-image: url('/images/circle01.png'); width: 400px; height: 400px; top: 300px; left: 50%; margin-left: -692px; }
#mv .circle:nth-of-type(2) { background-image: url('/images/circle02.png'); width: 320px; height: 320px; top: 120px; left: 50%; margin-left: 390px; }
#mv .circle:nth-of-type(3) { background-image: url('/images/circle03.png'); width: 280px; height: 280px; top: 70px; left: 50%; margin-left: -715px; }
#mv .circle:nth-of-type(4) { background-image: url('/images/circle04.png'); width: 250px; height: 250px; top: 454px; left: 50%; margin-left: 282px; }
#mv .circle:nth-of-type(5) { background-image: url('/images/circle05.png'); width: 150px; height: 150px; top: 70px; left: 50%; margin-left: 315px; }
#mv .circle:nth-of-type(6) { background-image: url('/images/circle06.jpg'); width: 240px; height: 240px; top: 260px; left: 50%; margin-left: -900px; }
#mv .circle:nth-of-type(7) { background-image: url('/images/circle07.jpg'); width: 240px; height: 240px; top: 430px; left: 50%; margin-left: 550px; }
#mv .circle { background-size: 100% 100%; }
#mv .deguchi {
	position: absolute;
	bottom: 0;
	left: 50%; margin-left: 300px;
}
#mv .title .images {
	max-width: 600px;
	margin: 1.5rem auto 0;
}
.fade { text-align: center; opacity: 0; font-size: 3rem; font-weight: bold; font-family: 'Roboto', 'Hina Mincho', sans-serif; letter-spacing: 0.2rem; }
.fade.delay span { transition-delay: 0.7s; }
.fade.delay2 span { transition-delay: 1.4s; }
.fade span {
	display: inline-block;
	opacity: 0;
	transform: scale( 2.2 );
	text-shadow: 0 0 80px #000;
	transition: 0.8s;
}
.fade span.animate {
	opacity: 1;
	text-shadow: 0 0 1rem #FFF, 0 0 1rem #FFF, 0 0 1rem #FFF, 0 0 1rem #FFF, 0 0 1rem #FFF;
	transform: scale( 1.0 );
}
#mv .title .comment {
	margin-top: 5rem;
	color: var(--main-color1);
	border: 8px solid var(--main-color1);
	font-weight: bold;
	padding: 1.5rem 2.0rem;
	background: #FFFFFF;
	font-size: 2.4rem;
}
@media(max-width:768px){
	.fade { font-size: 2rem; }
	#mv {
		position: relative;
		width: 100%;
		overflow: hidden;
		height: 80vh;
		left: 0; top: 0px;
		margin-left: 0;
		background: url('/images/bg.jpg');
		background-size: cover;
		background-position: 50% 50%;
	}
	#mv .title {
		display: flex;
		width: 100vw;
		height: 80vh;
		margin: 0 auto;
		justify-content: center;
		align-items: center;
		position: relative;
		flex-wrap: wrap;
		z-index: 1000;
	}
	#mv .circle { position: absolute; }
	#mv .circle:nth-of-type(1) { background-image: url('/images/circle01.png'); width: 200px; height: 200px; top: 67vh; left: 50%; margin-left:-56vw; }
	#mv .circle:nth-of-type(2) { background-image: url('/images/circle02.png'); width: 160px; height: 160px; top: 13vh; left: 50%; margin-left:-53vw; }
	#mv .circle:nth-of-type(3) { background-image: url('/images/circle03.png'); width: 140px; height: 140px; top: 69vh; left: 50%; margin-left: 23vw; }
	#mv .circle:nth-of-type(4) { background-image: url('/images/circle04.png'); width: 120px; height: 120px; top: 18vh; left: 50%; margin-left: 0; }
	#mv .circle:nth-of-type(5) { background-image: url('/images/circle05.png'); width:  80px; height:  80px; top: 12vh; left: 50%; margin-left: 34vw; }
	#mv .circle { background-size: 100% 100%; }
	#mv .deguchi {
		position: absolute;
		bottom: 0;
		left: 50%; margin-left: 300px;
	}
	#mv .title .images { max-width: 80%; }
	#mv .title .comment {
		margin: 3rem auto -0.5rem;
		color: var(--main-color1);
		border: 8px solid var(--main-color1);
		font-weight: bold;
		padding: 0.5rem 1.0rem;
		background: #FFFFFF;
		font-size: 1.2rem;
		width: 90%;
		box-sizing: border-box;
	}
}

.campaign { border-top: 6px solid #FFF; border-bottom: 6px solid #FFF; padding: 4rem 0; position: relative; z-index: 0; background: linear-gradient(to bottom, rgba(161,219,255,1) 0%,rgba(203,235,255,1) 47%,rgba(240,249,255,1) 99%); }
.campaign::before { content: ""; position: absolute; top: -14.5px; left: 0; width: 100%; height: 23px; background: url('/images/line02.png'); z-index: 30;}
.campaign::after  { content: ""; position: absolute; bottom: -14.5px; left: 0; width: 100%; height: 23px; background: url('/images/line02.png'); z-index: 30;}
.campaign .tops { position: absolute; width: 100%; top: 0; left: 0; z-index: 12; }
.campaign .bottoms { position: absolute; width: 100%; bottom: 0; left: 0; z-index: 11; }
.campaign .comment {
	margin: 0 auto;
	color: var(--main-color1);
	font-weight: bold;
	padding: 0.75rem 2.5rem;
	font-size: 2.4rem;
	position: relative;
	line-height: 1.2;
	width: 80%;
	z-index: 14;
	max-width: 600px;
}
.campaign .comment b { font-size: 120%; }
.campaign .comment::before {
	width: 100%; height: 100%; position: absolute;
	top: 0; left: 0; border-radius: 50%;
	background: #FFF;
	box-shadow: 0 0 5rem #FFF, 0 0 5rem #FFF, 0 0 5rem #FFF, 0 0 5rem #FFF, 0 0 5rem #FFF, 0 0 5rem #FFF, 0 0 5rem #FFF;
	content: "";
	z-index: -1;
}
.campaign .comment::after {
	width: 100%; height: 100%; position: absolute;
	top: 0; left: 0;
	border-left: 15px double var(--main-color1);
	border-right: 15px double var(--main-color1);
	transform: perspective(400px) scaleZ(1) rotateX(-30deg);
	content: "";
	z-index: 0;
	box-sizing: border-box;
}
@media(max-width:768px){
	.campaign { padding: 2rem 0; background: linear-gradient(to bottom, rgba(161,219,255,1) 0%,rgba(203,235,255,1) 47%,rgba(240,249,255,1) 99%); }
	.campaign .comment {
		padding: 0.5rem 1.5rem;
		font-size: 1.5rem;
		line-height: 1.2;
		max-width: auto;
	}
	.campaign .comment b { font-size: 120%; }
	.campaign .comment::before {
		box-shadow: 0 0 3rem #FFF, 0 0 3rem #FFF, 0 0 3rem #FFF, 0 0 3rem #FFF, 0 0 3rem #FFF, 0 0 3rem #FFF, 0 0 3rem #FFF;
	}
	.campaign .comment::after {
		width: 100%; height: 100%; position: absolute;
		top: 0; left: 0;
		border-left: 15px double var(--main-color1);
		border-right: 15px double var(--main-color1);
		transform: perspective(400px) scaleZ(1) rotateX(-30deg);
		content: "";
		z-index: 0;
	}
}

/* **************************************************************** */
/* mv
*/
.mv {
    overflow: hidden;
    background: url(../images/bg_mv.png) #D4ECF9 no-repeat center top;
    padding-top: 71px;
    height: 762px;
    box-sizing: border-box;
}
.mv .inner {
    height: 100%;
    position: relative;
}
.mv h1 {
		position: absolute;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 1em;
    text-align: center;
    margin-right: 10em;
}
.mv h1 .sub {
		display: block;
    font-size: 32px;
    line-height: 1.4em;
}
.mv h1 .marker {
    display: inline-block;
    color: #0085cd;
    font-size: 64px;
    padding: 0 10px;
    background: linear-gradient(transparent 60%, #fff668 60%);
}
.mv p {
		position: absolute;
    bottom: 3em;
    left: 6em;
    font-size: 32px;
    line-height: 1.4em;
		z-index: 10;
    text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff;

}
.mv .person_deguchi {
		position: absolute;
    bottom: 0;
    right: -54px;
}


.mv .person_deguchi img {
	height: 600px;
	width: auto;
}





/* **************************************************************** */
/* tel_section
*/
.tel_section {
	display: none;
    background: #0085cd;
    color: #fff;
}
.tel_box {
	align-items: center;
    justify-content: center;
    padding: 0.5em 0;
}
.tel_box > p {
		font-size: 24px;
}
.tel_box .tel_bloc {
    margin: 0 1em;
}
.tel_box .tel_bloc p {

}
.tel_box .tel_bloc p .tel {
    background: url(../images/icon_tel2.png) no-repeat left center;
    font-size: 41px;
    line-height: 1em;
    font-weight: bold;
    padding-left: 1.1em;
    display: block;
}
.tel_box .tel_bloc p .tel a {
		text-decoration:none;
		color:#fff;
}
.time_bloc {
    font-size: 24px;
    align-items: center;
    justify-content: space-between;
}
.time_bloc .time_txt {
    background: #fff;
    color: #0085cd;
    padding: 0 0.5em;
    font-size: 0.8em;
    margin-right: 0.5em;
}


/* **************************************************************** */
/* banner_section
*/
.banner_section {
		background: #d4ecf9;
    padding: 1em 0;
}
.banner_bloc {

}
.banner_bloc ul {

}
.banner_bloc ul li {
  width: 100%;
}

/* **************************************************************** */
/* open_section
*/
.open_section {
    padding: 4em 0 0;
    margin-bottom: 4em;
    background: url(../images/bg_open.png) no-repeat right bottom;
		background-size: 70%;
}
.open_title {
    margin-bottom: 2em;
}
.open_title h2 {
		color: #0085cd;
    font-size: 48px;
    background: linear-gradient(transparent 60%, #fff668 60%);
    display: inline-block;
    padding: 0 0.5em;
}
.open_title p {
    font-size: 30px;
}
.open_catch {
    margin-bottom: 4em;
}
.open_catch img {

}
.open_catch h3 {
		font-size: 48px;
    color: #e50044;
}

.room_wrap {
	padding-bottom: 1em;
}
.room_item {
    border: solid 1px #0a8acf;
    background: rgba(255, 255, 255, 0.7);
    padding: 2em 1em 1em;
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}
.room_item + .room_item {
	margin-top: 2em;
}

.room_item h4 {
    display: block;
    background: #0085cd;
    color: #fff;
    font-size: 30px;
    padding: 0 1em;
    border-radius: 30px;
    position: absolute;
    top: -26px;
    left: 50%;
	margin-left: -120px;
    width: 240px;
    box-sizing: border-box;
}
.room_item .room_detail.flex {
	display: flex;
	flex-wrap: nowrap;
}
.room_item .room_detail .room_map {

}
.room_item .room_detail .room_map iframe {

}

.room_item .room_detail .room_data {
    margin-right: auto;
    margin-left: 2em;
    text-align: left;
}
.room_item .room_detail .room_data dl {
    margin: 0;
}
.room_item .room_detail .room_data dl + dl {
    margin-top: 1em;
}
.room_item .room_detail .room_data dl dt {
    font-size: 20px;
    font-weight: bold;
}
.room_item .room_detail .room_data dl dd {
    margin: 0;
}
@media(max-width: 768px){
	.room_item .room_detail.flex {
		display: block;
	}
	.room_item .room_detail .room_data {
	    margin: 1rem auto;
	    text-align: left;
	}
}

/* **************************************************************** */
/* kokuchi_section
*/
.kokuchi_section {
    margin-bottom: 4em;
}

/* **************************************************************** */
/* kokuchi2_section
*/
.kokuchi2_section {
    padding: 4em 0 0;
}

/* **************************************************************** */
/* book-block
*/
.book-block {
    padding: 4em 0 0;
}

/* **************************************************************** */
/* about_section
*/
.about_section {
	padding: 0.5rem 0 0;
	background:#0085cd;
}
.about_title {

}
.about_title h2 {
    display: inline-block;
    font-size: 30px;
    color: #fff;
    border-bottom: solid 1px #fff;
    margin-bottom: 2em;
}

.about_bloc {
    text-align: left;
    position: relative;
}
.about_01 {
	margin-bottom: 2em;
	margin-top: -3rem;
}
.about_02 {
    position: absolute;
    top: 2em;
    right: 2em;
}

.about_prof {
    max-width: 680px;
    background: #fff;
    box-sizing: border-box;
    padding: 1em;
    position: absolute;
    bottom: 8em;
    right: 0;
}
.about_prof h3 {
    align-items: center;
    justify-content: flex-start;
    border-bottom: solid 1px;
    margin-bottom: 0.5em;
}
.about_prof h3 .ttl {
    font-size: 1.4em;
}
.about_prof h3 .sub {
    margin-left: 1em;
}
.about_prof p {
    font-size: 14px;
}


.about_text {

}
.about_text p {
    color: #fff;
    font-weight: bold;
    font-size: 20px;
}

/*youtube*/
.youtube-block{
  padding: 4em 0;
  width: 1080px;
  margin: 0 auto;
  max-width: 95%;
  box-sizing: border-box;
}
p.youtube-ttl{
  font-size: 36px;
  border-bottom: 2px solid #d0121b;
  line-height: 2em;
  margin-bottom: 1em;
  font-weight: 900;
}
.player{
  width: 100%;
  position: relative;
}
.player a{
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.player span{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  display: block;
  width: 88px;
  height: 60px;
  background: rgba(0,0,0,.6);
  border-radius: 10px;
  transition: all .2s;
}
.player span::before{
  content: "";
  width: 0;
  height: 0;
  border-left: 25px solid #fff;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.player:hover span{
  background:#c4302b;

}



/* **************************************************************** */
/* special_section
*/
.special_section {
		padding:4em;
}
.special_title {
    margin-bottom: 2em;
}
.special_title h2 {
    display: inline-block;
    font-size: 30px;
    color: #0085cd;
    border-bottom: solid 1px #0085cd;
    margin-bottom: 0.2em;
}
.special_title p {
    font-size: 18px;
    color: #0085cd;
}

.special_01 {
    margin-bottom: 2em;
}

.special_text {
    max-width: 600px;
    text-align: left;
    margin-left: auto;
    margin-top: -140px;
    margin-bottom: 2em;
}
.special_text p {
    font-size: 15px;
}

.special_prof {
    background: #d4ecf9;
    padding: 1em;
    text-align: left;
}
.special_prof h3 {
    color: #0085cd;
    margin-bottom: 0.5em;
}
.special_prof p {
    font-size: 14px;
}


/* **************************************************************** */
/* pos_section
*/
.pos_section {
		background:#0085cd;
		padding:4em;
		border-bottom:solid 2px #fff;
}
.pos_bloc {

}
.pos_bloc > figure {

}
.pos_bloc .pos_detail {
    box-sizing: border-box;
    width: calc(100% - 438px);
}
.pos_bloc .pos_data {
    color: #000;
    text-align: left;
    margin-top: 2em;
    margin-left: 4em;
    margin-bottom: 2em;
    max-width: 440px;
}
.pos_bloc .pos_data h3 {
    border-bottom: solid 1px #fff;
    padding-bottom: 0.2em;
    margin-bottom: 0.4em;
}
.pos_bloc .pos_data p {

}

/* **************************************************************** */
/* focus_section
*/
.focus_section {
    background: url(../images/bg_focus.png) no-repeat center bottom;
    padding: 4em;
    overflow: hidden;
    position: relative;
    z-index: 0;
}
.focus_bloc {
		text-align: left;
    max-width: 900px;
    padding-bottom: 20em;
    position: relative;
}
.focus_bloc h2 {
    font-size: 36px;
    line-height: 1.65em;
    border-bottom: solid 1px #000;
    padding-bottom: 0.5em;
    margin-bottom: 0.2em;
}
.focus_bloc h3 {
    font-size: 20px;
    margin-bottom: 1em;
}
.focus_bloc p {

}
.focus_bloc .focus_01 {
		width: 200px;
    height: 200px;
    background: #0085cd;
    -moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    position: absolute;
    top: 0;
    right: -16em;
}

/* **************************************************************** */
/* focus_section
*/
.reason_section {
    padding: 4em;
    position: relative;
    z-index: 2;
    overflow: hidden;
}
.reason_bloc {
    align-items: stretch;
    justify-content: space-between;
}
.reason_bloc figure {
    width: 50%;
    position: relative;
}
.reason_bloc figure img {
    position: absolute;
    bottom: 0;
    right: 30px;
    max-width: initial;
}

.reason_bloc .reason_detail {
    width: 50%;
    text-align: left;
    padding-bottom: 4em;
}
.reason_bloc .reason_detail h2 {
		font-weight: normal;
    font-size: 2em;
    line-height: 1.4em;
    margin-bottom: 0.5em;
}
.reason_bloc .reason_detail h3 {
		color: #0085cd;
    font-size: 1.4em;
    margin-bottom: 0.5em;
}
.reason_bloc .reason_detail p {

}

.reason_bloc:nth-child(even) {
    flex-direction: row-reverse;
}
.reason_bloc:nth-child(even) figure img {
		position: absolute;
    bottom: 0;
    right: 0;
    left: 30px;
    max-width: initial;
}

.reason_bloc + .reason_bloc {
    margin-top: 4em;
}
.reason_text {
		background: #d4ecf9;
    border: solid 1px #0085cd;
    margin-top: 2em;
    margin-left: 100px;
    padding: 1.3em 1em;
    position: relative;
}
.reason_text h3 {
    position: absolute;
    top: -10px;
    left: -100px;
}
.reason_text p {
    margin-left: 100px;
    text-align: left;
    box-sizing: border-box;
    width: calc(100% - 600px);
    font-size: 14px;
}
.reason_text .reason_item {

}
.reason_text .reason_item h4 {
    color: #0085cd;
    text-align: left;
}
.reason_text .reason_item img {

}

.reason_text2 {
    background: #d4ecf9;
    border: solid 1px #0085cd;
    margin-top: 2em;
    margin-left: 100px;
    padding: 1.3em 1em;
    position: relative;
    box-sizing: border-box;
    width: 100%;
}
.reason_text2 h3 {
    position: absolute;
    top: -10px;
    left: -100px;
}
.reason_text2 ul {
    margin-left: 100px;
    align-items: center;
}
.reason_text2 ul li {
	margin-bottom: 2em;
}
.reason_text2 ul li p {
    text-align: left;
    padding: 0 0.5em;
}

.reason_text2  ul li.v_img {
	width: 20%;
}
.reason_text2  ul li.v_txt {
	width: 30%;
}



/* **************************************************************** */
/* material_section
*/
.material_section {
		padding: 4em 0 5em;
    border-bottom: solid 7px #0085cd;
    overflow: hidden;
}
.material_title {
    margin-bottom: 2em;
}
.material_title h2 {
    display: inline-block;
    font-size: 30px;
}
.material_bloc {

}
.material_bloc ul {
		position:relative;
}
.material_bloc ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    margin-top: -22px;
}
.material_bloc ul li:nth-child(even) {
    flex-direction: row-reverse;
}
.material_bloc ul li + li {

}
.material_bloc ul li h3 {

}
.material_bloc ul li p {
    width: calc(100% - 360px);
    box-sizing: border-box;
    padding: 0 2em;
    text-align: left;
    font-size: 18px;
}

.material_bloc ul li.material_01 {
    margin: 0;
    position: absolute;
    top: 89px;
    left: -162px;
}
.material_bloc ul li.material_02 {
    margin: 0;
    position: absolute;
    top: -72px;
    right: -162px;
}
.material_bloc ul li.material_03 {
    margin: 0;
    position: absolute;
    top: 574px;
    right: -162px;
}

/* **************************************************************** */
/* future_mv_section
*/
.future_mv_section {
    background: url(../images/bg_future_mv.png) no-repeat center bottom;
    padding: 1em 0;
}
.future_mv_bloc {
    align-items: center;
}
.future_mv_title {
    width: calc(100% - 273px);
    text-align: left;
}
.future_mv_title h2 {
    font-size: 42px;
    line-height: 1.4em;
    font-weight: normal;
    border-bottom: solid 1px #000;
    padding-bottom: 0.2em;
    margin-bottom: 0.5em;
}
.future_mv_title h3 {
    margin-bottom: 0.5em;
}
.future_mv_title p {
    font-size: 15px;
}
.future_mv_bloc figure {

}

/* **************************************************************** */
/* future_section
*/
.future_section {
    padding: 2em 0;
}
.future_title {
		margin-bottom: 1em;
}
.future_title h2 {
    color: #0085cd;
    text-align: left;
    font-weight: normal;
}
.future_bloc {

}
.future_bloc ol {

}
.future_bloc ol li {
		width: 49%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
    margin-bottom: 1em;
}
.future_bloc ol li figure {

}
.future_bloc ol li .detail {
		width: calc(100% - 120px);
    box-sizing: border-box;
    padding: 0.5em 1em;
    text-align: left;
}

.future_bloc ol li .detail .detail_item {

}
.future_bloc ol li .detail .detail_item + .detail_item {
		margin-top:0.5em;
}
.future_bloc ol li .detail .detail_item h3 {
		font-size:18px;
}
.future_bloc ol li .detail .detail_item h3.ttl1 {
    display: inline-block;
    background: #acaaa9;
    color: #fff;
    padding: 0 1em;
    border-radius: 15px;
    font-weight: normal;
}
.future_bloc ol li .detail .detail_item h3.ttl2 {
    display: inline-block;
    background: #e50044;
    color: #fff;
    padding: 0 1em;
    border-radius: 15px;
    font-weight: normal;
}
.future_bloc ol li .detail .detail_item h3.ttl3 {
		color:#0085cd;
}
.future_bloc ol li .detail .detail_item h3.ttl4 {
		color:#e50044;
}
.future_bloc ol li .detail .detail_item p {

}

/* **************************************************************** */
/* flow_section
*/
.flow_section {
	background: #e7f5fc;
    padding: 4em 0;
}
.flow_title {
		margin-bottom: 1em;
}
.flow_title h2 {
    font-size: 30px;
}

.flow_bloc {
		max-width:780px;
		margin:0 auto;
}
.flow_bloc ol {

}
.flow_bloc ol li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
.flow_bloc ol li + li {
    margin-top: 2em;
}
.flow_bloc ol li figure {

}
.flow_bloc ol li .detail {
		width: calc(100% - 190px);
    padding: 1em;
    box-sizing: border-box;
    text-align: left;
}
.flow_bloc ol li .detail h3 {
		color: #0085cd;
    margin-bottom: 0.5em;
    font-size: 1.4em;
}
.flow_bloc ol li .detail h3 span {
    display: block;
    border-bottom: solid 1px #0085cd;
}
.flow_bloc ol li .detail p {

}

/* **************************************************************** */
/* faq_section
*/
.faq_section {
    padding: 4em 0;
}
.faq_title {
		margin-bottom: 2em;
}
.faq_title h2 {
    font-size: 30px;
}

.faq_bloc dl {
    margin: 0;
}
.faq_bloc dl + dl {
    margin-top: 4em;
}
.faq_bloc dl dt {
    position: relative;
    font-size: 20px;
    font-weight: 900;
    text-align: left;
    padding-left: 4em;
    margin-bottom: 2em;
}
.faq_bloc dl dt:before {
    content: "";
    width: 64px;
    height: 64px;
    background: url(../images/icon_q.png) no-repeat left top;
    display: block;
    font-size: 30px;
    line-height: 56px;
    text-align: center;
    position: absolute;
    top: -18px;
    left: 0;
		font-weight: 900;
}
.faq_bloc dl dd {
    position: relative;
    text-align: left;
    padding-left: 5em;
    margin-left: 0;
}
.faq_bloc dl dd:before {
    content: "";
    width: 64px;
    height: 51px;
    background: url(../images/icon_a.png) no-repeat left top;
    display: block;
    font-size: 30px;
    line-height: 56px;
    text-align: center;
    position: absolute;
    top: -18px;
    left: 0;
		font-weight: 900;
}






/* **************************************************************** */
/* Contact
*/
#Contact {
    background: #ecf4fd;
    padding: 4em 0;
}
.attention_bloc {
    margin-bottom: 2em;
}
.attention_bloc h3 {
    font-size: 20px;
    font-weight: 900;
    margin-bottom: 0.5em;
}
.attention_bloc p {
    text-align: left;
}
#Contact .contact_bloc {
		margin-bottom:2em;
}
#Contact .contact_bloc dl {
		border-top: dotted 2px #bfbfbf;
    margin: 0;
    padding: 1em;
    align-items: center;
}
#Contact .contact_bloc dl:nth-child(odd) {
    background: #fff;
}
#Contact .contact_bloc dl:last-child {
		border-bottom: dotted 2px #bfbfbf;
}
#Contact .contact_bloc dl dt {
		width: 25%;
    text-align: left;
    position: relative;
    align-items: center;
    font-weight: 900;
}

#Contact .contact_bloc dl dt.required {

}
#Contact .contact_bloc dl dt.required:after {
    content: "必須";
    display: inline-block;
    background: #004f9f;
    color: #fff;
    font-size: 12px;
    padding: 5px 10px;
}

#Contact .contact_bloc dl dd {
    margin: 0;
    width: 73%;
    text-align: left;
    position: relative;
    box-sizing: border-box;
    border-left: solid 1px #b5b5b5;
    margin-left: 1em;
    padding-left: 1.2em;
}


#Contact .contact_bloc .dl_bloc {

}
#Contact .contact_bloc .btn_bloc {
    margin-top: 4em;
}
#Contact .btn_bloc input[type="submit"] {
		color: #fff;
    text-decoration: none;
    width: 420px;
    height: 80px;
    border-radius: 10px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 0 #bdbcbc;
    background: #e50044;
    border: none;
    font-size: 20px;
}
#Contact .btn_bloc input[type="submit"]:hover {
    box-shadow: none;
    transform: translate3d(0, 6px, 0);
    background: rgba(194, 35, 3, 0.8);
}



.contact_name {
    padding: 5px 10px;
    box-sizing: border-box;
    border: solid 1px #b5b5b5;
    width: 50%;
}
.contact_age {
    padding: 5px 10px;
    box-sizing: border-box;
    border: solid 1px #b5b5b5;
    width: 66px;
}
.contact_mail {
    padding: 5px 10px;
    box-sizing: border-box;
    border: solid 1px #b5b5b5;
    width: 100%;
}
.contact_tel {
    padding: 5px 10px;
    box-sizing: border-box;
    border: solid 1px #b5b5b5;
    width: 50%;
}
.contact_zip {
    padding: 5px 10px;
    box-sizing: border-box;
    border: solid 1px #b5b5b5;
    width: 60px;
}
.contact_address {
    padding: 5px 10px;
    box-sizing: border-box;
    border: solid 1px #b5b5b5;
    width: 100%;
}
.contact_desc {
		width: 100%;
    padding: 5px 10px;
    box-sizing: border-box;
		border: solid 1px #b5b5b5;
}


.radio_wrap {
    justify-content: flex-start;
}
.radio_item + .radio_item {
		margin-left:1em;
}

.check_wrap {
    justify-content: center;
    margin-bottom: 1em;
}



/* **************************************************************** */
/* privacy
*/
.privacy {
    padding: 4em 0;
}
.privacy_about {
    margin-bottom: 2em;
}
.privacy_about h3 {
    font-size: 24px;
    font-weight: 900;
    margin-bottom: 1em;
}
.privacy_about p {

}
.privacy_bloc {

}
.privacy_bloc ol {
    border-top: dotted 2px #bfbfbf;
    border-bottom: dotted 2px #bfbfbf;
    max-width: 920px;
    padding: 2em 0 2em 0em;
    margin: 0 auto 2em;
}
.privacy_bloc ol li {
    text-align: left;
    list-style-type: decimal;
    list-style-position: inside;
    text-indent: -1em;
    padding-left: 1em;
}
.privacy_bloc ol li + li {
    margin-top: 1em;
}
.privacy_bloc ol li span {

}
.privacy_bloc p {

}


/* **************************************************************** */
/* footer
*/
footer .inner {
    position: relative;
    padding: 1em 0;
    align-items: center;
    justify-content: center;
}

footer ul.flex {
    width: 100%;
    align-items: center;
    justify-content: center;
}
footer ul.flex li {

}
footer ul.flex li + li {

}
footer ul.flex li + li:before {
		content:"|";
}
.copyright {
		background: #0085cd;
    color: #fff;
}


/* **************************************************************** */
/* thanks
*/
.thanks_body {
    background: #d4ecf9;
}
.thanks_body header{
    background: #fff;
    position: static;
    box-sizing: border-box;
}
.thanks {
    position: relative;
    box-sizing: border-box;
}
.thanks .inner {
    text-align: left;
    position: relative;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.thanks .detail {
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 10;
    width: 100%;
}


.thanks_image {
    margin-bottom: 2em;
}
.thanks_image p {
		color: #e60044;
    font-size: 30px!important;
    margin-top: 1em;
}
.thanks_image img {

}





.thanks .detail h1 {
    font-size: 36px;
    margin-bottom: 1em;
}
.thanks .detail p {
    font-size: 22px;
}

footer .logo {
    margin-bottom: 1em;
}
footer .logo a {
		text-decoration:none;
}
footer .logo .sub {
    display: block;
    margin: 10px auto 0;
}



/* 20200601追加 */
.arrow figure{
	margin: 0 auto;
}
.arrow figure img {
	width: 50px;
}

.musical_section {
	margin-bottom: 40px;
}
.musical_section .musical_inner {
	width: 1080px;
    margin: 0 auto;
    border: 1px solid #0085cd;
    padding: 20px;
}
ruby rt{
	   font-size: .4em;
}


.about_text.flex.border {
	justify-content: space-around;
	align-items: center;
    margin: 30px auto 0;
    width: max-content;
    /* border: 1px solid #fff; */
    padding: 20px;
		background: #fff;
}
.about_text.flex.border img {
	width: 20%;
	margin-right: 20px;
}
.about_text.flex.border p {
	font-size: 24px;
	color: #f00;
}
.about_text.flex.border p a {
	color: #f00;
}


/* 20200715追加 */
/* .catch_l {
	font-size: 55px;
} */

.open_catch h3 {position: relative;
  display: inline-block;
  padding: .5em 45px;}
.open_catch h3:before {content: '';
  position: absolute;
  top: 50%;
	left: 0;
  display: inline-block;
  width: 36px;
  height: 2px;
  background-color: #e50044;
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);}
.open_catch h3:after {content: '';
  position: absolute;
  top: 50%;
	right: 0;
  display: inline-block;
  width: 36px;
  height: 2px;
  background-color: #e50044;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);}


.online_section {
margin-bottom: 40px;
}
.online_inner {
	width: 1080px;
    margin: 0 auto;
    border: 1px solid #E60044;
    padding: 20px;
}

.online_inner h2 span.large {
	color: #E60044;
}


span.fill {

	animation: flash 1s linear infinite;
  background:#e50044;
	-webkit-background-clip: text;
	background-clip: text;

  }

	@keyframes flash {
	  0%,50%,100%{
	    opacity: 0;
	  }

	  35%{
	    opacity: 1;
	    background:#f15b87;
			-webkit-background-clip: text;
			background-clip: text;
	  }

	  65%{
	    opacity: 1;
	    background:#e50044;
			-webkit-background-clip: text;
			background-clip: text;
	  }
	}


	/* 1216追加 */
	.colona ul li {
		text-align: left;
	}
	.colona ul li img {
		width: 15%;
	}
	.colona p {
		margin: 0.2em auto;
		text-align: left;
	}
	.colona ul li p {
		text-indent: -1em;
	  padding-left: 1em;
	}
	.cl_list {
		border: 3px solid #0085cd;
		padding: 2em;
	}
	.cl_list li + li{
		margin-top: 1em;
	}




@media screen and (max-width: 768px) {

body {
    min-width: initial;
}
.contact_btn {
    display: none;
}




header#normal_header .upper {
    width: 40vw;
}
header#normal_header .contact_bloc {

}
header#normal_header .contact_bloc .tel_bloc {
    margin-right: 0;
    margin-left: auto;
}
header#normal_header .contact_bloc .tel_bloc p .tel {
    font-size: 20px;
    background-size: contain;
    padding-left: 1.2em;
}
header#normal_header .contact_bloc .tel_bloc p .mini {
    font-size: 10px;
}




.mv {
		background-size: 160%;
    height: 280px;
}
.mv .person_deguchi {
    width: 40vw;
    right: 0;
}
.mv .person_deguchi img {
    height: auto;
    width: auto;
}

.mv h1 {
    display: inline-block;
    margin-right: 0;
    margin-left: -4em;
    top: 46%;
    -webkit-transform: translateY(-46%);
    -ms-transform: translateY(-46%);
    transform: translateY(-46%);
}
.mv h1 .sub {
    font-size: 14px;
}
.mv h1 .marker {
    font-size: 21px;
		margin-right: 1em;
}
.mv p {
    left: 2em;
			bottom: 1em;
    font-size: 14px;
}

.tel_box > p {
    font-size: 16px;
}
.tel_box .tel_bloc p .tel {
    font-size: 32px;
    background-size: contain;
}
.time_bloc {
    font-size: 16px;
}
.banner_section {
    padding: 1em;
}
.banner_bloc ul li + li {
    margin-top: 1em;
}

.open_section {
    padding: 2em 1em 0;
    margin-bottom: 2em;
    background-size: contain;
}
.open_title {
    margin-bottom: 1em;
}
.open_title h2 {
    box-sizing: border-box;
    font-size: 17px;
}
.open_title p {
    font-size: 17px;
}
.open_catch img {
		width: 40vw;
    margin-bottom: 1em;
}
.open_catch {
    margin-bottom: 3em;
}
.open_catch h3 {
    font-size: 18px;
}
.room_item {
    padding: 1.5em 1em 1em;
}
.room_item h4 {
    font-size: 20px;
	width: 200px;
    margin-left: -100px;
    top: -18px;
}

.room_item .room_detail .room_map {
    margin: 0 auto;
		width: 100%;
}

.room_item .room_detail .room_data {
    margin: 0;
}
.room_item .room_detail .room_data dl dt {
    font-size: 16px;
}
.room_item .room_detail .room_data dl + dl {
    margin-top: .5em;
}

.about_section {
    padding: 2em 1em;
}
.about_title h2 {
    font-size: 19px;
    margin-bottom: 1em;
}



.about_01 {
    width: 70vw;
    margin-top: 2em;
    margin-bottom: 1em;
    margin-left: -10px;
}
.about_02 {
    width: 42vw;
    top: -30px;
    right: 0px;
}
.about_prof h3 .ttl {
    font-size: 1em;
}
.about_prof h3 .sub {
    margin: 0;
    font-size: 0.9em;
}
.about_prof {
    position: static;
    margin-bottom: 1em;
}
.about_text p {
    font-size: 1em;
}

p.youtube-ttl{
    font-size: 16px;
}
.player span{
  width: 19vw;
  height: 12.5vw;
}
.player span::before{
  content: "";
  border-left: 18px solid #fff;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
}

.special_section {
    padding: 2em 1em;
}
.special_title h2 {
    font-size: 19px;
}
.special_text {
    margin-top: 0;
}


.pos_section {
    padding: 2em 1em;
}
.pos_bloc {
    position: relative;
}
.pos_bloc > figure {
    width: 40vw;
    position: absolute;
    top: 0;
    left: 0;
}
.pos_bloc .pos_detail {
    width: 100%;
}
.pos_bloc .pos_data {
    max-width: inherit;
    width: 46vw;
    margin-left: auto;
}
.pos_bloc .pos_data h3 {
    font-size: 0.9em;
}
.pos_bloc .pos_data p {
    font-size: 0.8em;
}
.pos_detail figure {
    width: 60vw;
    margin-left: auto;
}
.focus_section {
    padding: 2em 1em;
    background-size: contain;
}

.focus_bloc h2 {
    font-size: 15px;
}
.focus_bloc h3 {
    font-size: 14px;
}
.focus_bloc p {
    font-size: 14px;
}
.focus_bloc {
    padding-bottom: 6em;
}
.focus_bloc .focus_01 {
    right: -14em;
    z-index: -1;
}

.reason_section {
    padding: 2em 1em;
}
.reason_bloc figure {
    width: 100%;
}


.reason_bloc .reason_detail {
		width: 100%;
    padding-bottom: 4em;
}
.reason_bloc figure img {
    position: static;
    max-width: 200%;
    width: calc(100% + 4em);
    margin-left: -4em;
    margin-top: -3em;
}

.reason_bloc .reason_detail h2 {
    font-size: 1.4em;
}
.reason_bloc .reason_detail h3 {
    font-size: 1.2em;
}

.reason_text {
    margin: 0;
    padding: 1em;
}
.reason_text h3 {
		width: 30vw;
    top: -62px;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.reason_text {
    margin: 0;
    padding: 5em 1em 1em;
}
.reason_text p {
    width: 100%;
    margin: 0 0 1em;
}


.reason_bloc + .reason_bloc {
    margin-top: 2em;
}
.reason_bloc:nth-child(even) figure img {
    margin-top: 0;
    position: static;
    left: 0;
    right: 30px;
    margin-left: 0;
    margin-right: -4em;
    margin-bottom: 1em;
}

.reason_text2 {
    width: 100%;
    padding: 5em 1em 1em;
    margin: 1em 0 0;
}
.reason_text2 h3 {
		width: 30vw;
    top: -62px;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.reason_text2 ul {
    margin: 0;
    text-align: center;
    justify-content: center;
		flex-direction: column;
}
.reason_text2 ul li + li {
		margin-top:1em;
}

.reason_text2 ul li.v_img {
    width: 50%;
}
.reason_text2 ul li.v_txt {
    width: 100%;
}





.material_section {
    padding: 2em 1em;
}
.material_title h2 {
    font-size: 19px;
}


.material_bloc ul li {
    margin-top: 0;
}
.material_bloc ul li + li {
		margin-top:1em;
}
.material_bloc ul li h3 {
    width: 100%;
}
.material_bloc ul li h3 img {
		width: 30vw;
}
.material_bloc ul li p {
    width: 100%;
    padding: 0;
    font-size: 1em;
    margin-top: 1em;
}



.material_bloc ul li.material_01 {
		display:none;
}
.material_bloc ul li.material_02 {
		display:none;
}
.material_bloc ul li.material_03 {
		display:none;
}


.future_mv_section {
    background-size: cover;
    padding: 1em;
}
.future_mv_title {
    width: 100%;
}
.future_mv_title h2 {
    font-size: 24px;
}

.future_section {
    padding: 1em;
}
.future_title h2 {
    font-size: 13px;
}
.future_bloc ol li {
    width: 100%;
}
.future_bloc ol li figure {
    width: 100%;
}
.future_bloc ol li figure img {
    width: 20vw;
}
.future_bloc ol li .detail {
    width: 100%;
    margin-bottom: 1em;
    padding: 0;
}

.future_bloc ol li .detail .detail_item h3.ttl1 {
    font-size: 14px;
}
.future_bloc ol li .detail .detail_item h3.ttl2 {
    font-size: 14px;
}
.future_bloc ol li .detail .detail_item h3.ttl3 {
    font-size: 14px;
}
.future_bloc ol li .detail .detail_item h3.ttl4 {
    font-size: 14px;
}
.future_bloc ol li .detail .detail_item p {
    font-size: 13px;
}


.flow_section {
    padding: 2em 1em;
}
.flow_title h2 {
    font-size: 19px;
}

.flow_bloc ol li figure {
    width: 100%;
    margin-bottom: 1em;
}
.flow_bloc ol li figure img {
    width: 30vw;
}

.flow_bloc ol li .detail {
    width: 100%;
    padding: 0;
}
.flow_bloc ol li .detail h3 {
    font-size: 1em;
}
.flow_bloc ol li .detail p {
    font-size: 14px;
}


.room_item .room_detail .room_map iframe {
    width: 100%;
}


.faq_section {
    padding: 2em 1em;
}
.faq_title h2 {
    font-size: 19px;
}


.faq_bloc dl dt:before {
    width: 30px;
    height: 30px;
    background-size: contain;
    top: 0;
}
.faq_bloc dl dd:before {
		width: 30px;
    height: 30px;
    background-size: contain;
    top: 0;
}
.faq_bloc dl dt {
		font-size: 14px;
    line-height: 1.4em;
    padding-left: 3em;
    margin-bottom: 1em;
}
.faq_bloc dl dd {
    padding-left: 2.8em;
    font-size: 14px;
}
.faq_bloc dl + dl {
    margin-top: 2em;
}

.sec_title {
    font-size: 19px;
    margin-bottom: 0;
}






#Contact {
    padding: 2em 0;
}

.attention_bloc {
    margin-bottom: 0;
    padding: 1em;
}
.attention_bloc h3 {
    font-size: 18px;
}
.attention_bloc p {
    font-size: 14px;
}

#Contact .contact_bloc dl dt {
    width: 100%;
    margin-bottom: 5px;
    font-size: 14px;
}
#Contact .contact_bloc dl dd {
    width: 100%;
    border: none;
    padding-left: 0;
    margin-left: 0;
}
#Contact .contact_bloc {
    margin-bottom: 0;
}
#Contact .btn_bloc {
    padding: 1em;
}
#Contact .btn_bloc .radio_item {
		font-size: 12px;
}
#Contact .btn_bloc input[type="submit"] {
    width: 100%;
    height: auto;
    padding: 1em 0;
    font-size: 18px;
}

footer .inner {
    padding: 0;
}
footer .logo {
		width: 40vw;
    margin-bottom: 0;
}

.thanks .detail {
    padding: 1em;
}
.thanks .detail h1 {
    font-size: 20px;
}

.thanks .detail p {
    font-size: 14px;
}

.thanks_image img {
    width: 20vw;
}
.thanks_image p {
    font-size: 20px!important;
}
.thanks_body footer .logo {
    width: 40vw;
    margin-bottom: 1em;
}




/* 20200601追加 */
.future_mv_bloc figure {
    margin: 0 auto;
}
.arrow figure{
	margin: 0 auto;
}

.flow_bloc ol li.arrow figure img {
	width: 50px;
}

.musical_section {
	padding: 0 1em;
}
.musical_section .musical_inner {
	box-sizing: border-box;
	width: 100%;
}
.musical_section .musical_inner h2{
	font-size: 1em;
	margin-bottom: .5em;
}
.musical_section .musical_inner p{
	text-align: left;
}

.about_text.flex.border {
    align-items: center;
    flex-direction: column;
    width: auto;
    padding: 1em;
    box-sizing: border-box;
}
.about_text.flex.border p {
    font-size: 20px;
}
.about_text.flex.border img {
    width: 30%;
    margin-right: 0;
    margin-bottom: .5em;
}

.kokuchi_section {
    padding: 0 0 2em ;
		margin-bottom: 0;
}

.kokuchi2_section {
    padding: 2em 0 0;
}


.book-block {
    padding: 0 ;
}


/* 20200715追加 */
/* .catch_l {
	font-size: 24px;
} */
.online_section {
margin-bottom: 40px;
padding: 0 1em;
}
.online_inner {
	box-sizing: border-box;
	width: 100%;

}

.online_inner h2 span.large {
	color: #E60044;
	font-size: 1em;
}

/* 1216追加 */
.colona {
	padding: 1em;
}
.colona ul li img {
	width: 100%;
}


}

.link { margin: 1.5rem auto; display: flex; justify-content: center; align-items: center; }
.link a {
	display: block;
	border-radius: 6px;
	background: #CF121B;
	color: #FFFFFF;
	padding: 1rem 5rem;
	font-weight: bold;
	font-size: 1.1rem;
	text-decoration: none;
	box-shadow: 0 3px 0px #8f002a;
	margin: 0.5rem;
	position: relative;
}
.link a:hover { text-shadow: 0 0 0.5rem #FFFFFF; box-shadow: 0 1px 0px #8f002a; top: 2px; }
@media(max-width: 768px){
	.link a { padding: 0.5rem 3rem; }
}

section.information {
	margin: 4rem auto;
	text-align: center;
}
section.information .contents {
	border: 4px solid #CF121B;
	margin: 0 auto;
	background: #FEECEC;
	padding: 3.5rem 2.5rem 0.5rem;
	font-size: 1.2rem; font-weight: bold;
	position: relative;
	width: 95%;
	box-sizing: border-box;
}
section.information .contents b { color: #CF121B; font-size: 110%; }
section.information .contents::before {
	content: "入塾説明会 随時開催!!";
	background: #CF121B;
	padding: 0.5rem 4rem;
	font-size: 1.7rem;
	position: absolute;
	width: 70%; top: -1.5rem; left: 50%; margin-left: -35%;
	color: #FFFFFF; font-weight: bold;
	box-sizing: border-box;
	letter-spacing: 0.2rem;
}
@media(max-width: 768px){
	section.information {
		margin: 4rem auto;
		text-align: center;
	}
	section.information .contents {
		border: 4px solid #CF121B;
		margin: 0 auto;
		background: #FEECEC;
		padding: 1.5rem 1.5rem 0.5rem;
		font-size: 1.2rem; font-weight: bold;
		position: relative;
		width: 95%;
		box-sizing: border-box;
	}
	section.information .contents b { color: #CF121B; font-size: 110%; }
	section.information .contents::before {
		padding: 0.25rem 1.5rem;
		font-size: 1.2rem;
		width: 88%; top: -1.8rem; left: 50%; margin-left: -44%;
		letter-spacing: 0.15rem;
	}
	.about_01 { text-align: center; margin: 0 auto; }
}

.fuwafuwa { animation: fuwafuwa 3s infinite ease-in-out alternate; }
.pukapuka { animation: pukapuka 4s infinite ease-in-out alternate; }
@keyframes fuwafuwa {
	0% {transform: translate( 0, -5px ); }
	50% {transform: translate( 0, 5px ); }
	100% {transform: translate( 0, -5px ); }
}
@keyframes pukapuka {
	0% {transform: scale( 1.0 ); }
	50% {transform: scale( 1.05 ); }
	100% {transform: scale( 1.0 ); }
}

p.annotation { margin: 0.5rem auto; font-size: 0.8rem; opacity: 0.75; }
p.annotation::before { content: "※ "; }

.items {
	margin: 4rem auto;
	max-width: 80%;
	border: 1px solid #0085CD;
	background: #D4ECF9;
	padding: 6.5rem 5rem 1.0rem;
	position: relative;
	box-sizing: border-box;
}
.items h3 {
	position: absolute;
	top: -96px; left: 50%; margin-left: -96px;
}
.items p { margin-bottom: 1rem; }
.items ul {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	text-align: center;
}
.items ul li { width: 28%; margin: 1rem; }
.items ul li p { color: #0085CD; font-weight: bold; margin: 0.5rem auto; }
@media(max-width:768px){
	.items {
		margin: 1rem auto;
		max-width: 90%;
		padding: 3.5rem 1.5rem 1.0rem;
	}
	.items h3 {
		position: absolute;
		top: -48px; left: 50%; margin-left: -48px;
		width: 96px; height: 96px;
	}
	.items p { margin-bottom: 1rem; }
	.items ul {
		display: block;
		margin: 1rem auto;
	}
	.items ul li { width: 100%; margin: 0 auto; }
}


/* **************************************************************** */
/* flow_section
*/
.price_section { padding: 4em 0; }
.price_title { margin-bottom: 1em; }
.price_title h2 { font-size: 30px; }
.price_bloc { max-width: 980px; margin:0 auto; }
.price_bloc table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 5px;
}
.price_bloc table tr th { padding: 0.8rem 1rem; }
.price_bloc table tr td { padding: 0.8rem 1rem; }
.price_bloc table tr:nth-of-type(1) th:nth-of-type(2) { background: var(--main-color1); color: #FFFFFF; }
.price_bloc table tr:nth-of-type(1) th:nth-of-type(3) { background: var(--main-color2); color: #FFFFFF; }
.price_bloc table tr:nth-of-type(2) th:nth-of-type(2),
.price_bloc table tr:nth-of-type(2) th:nth-of-type(3) { background: var(--main-color1); color: #FFFFFF; }
.price_bloc table tr:nth-of-type(2) th:nth-of-type(4),
.price_bloc table tr:nth-of-type(2) th:nth-of-type(5) { background: var(--main-color2); color: #FFFFFF; }
.price_bloc table td:nth-of-type(1),
.price_bloc table td:nth-of-type(2) { background: var(--main-color-light1); color: var(--main-color1); }
.price_bloc table td:nth-of-type(3),
.price_bloc table td:nth-of-type(4) { background: var(--main-color-light2); color: var(--main-color2); }
.price_bloc table tr td b,
.price_bloc table tr td p {
	font-size: 1.2rem;
	font-weight: bold;
}
.price_bloc table tr td b::after {
	content: '/ 初回(税込)';
	font-size: 0.9rem;
}
.price_bloc table tr td p::after {
	content: '/ 月(税込)';
	font-size: 0.9rem;
}
.caption p { opacity: 0.7; font-size: 0.9rem; }
.caption p::before { content: "※ "; }
@media screen and (max-width: 768px) {

}

table.common_table {
	width: 100%;
	max-width: 800px;
	margin: 1.5rem auto;
}
table.common_table tr {
	display: flex;
	margin: 8px auto;
	padding-bottom: 8px;
	border-bottom: 1px dotted #cccccc;
}
table.common_table tr th {
	width: 25%;
	min-width: 100px;
	padding: 0.5rem 1rem;
	text-align: center;
	background: var(--main-color-light1);
	color: var(--main-color1);
}
table.common_table tr td {
	flex: 1;
	text-align: left;
	padding-left: 1.5rem;
}

@media(max-width: 736px) {
	.rwd_scroll { overflow: auto; white-space: nowrap; }
	.rwd_scroll::-webkit-scrollbar { height: 5px; }
	.rwd_scroll::-webkit-scrollbar-track { background: #f1f1f1; }
	.rwd_scroll::-webkit-scrollbar-thumb { background: #bcbcbc; }
	.rwd_scroll::after { content: '← スクロールできます →'; font-size: 0.9rem; font-weight: bold; opacity: 0.7; text-align: center; display: block; margin: 0.5rem auto;}
}
