@charset "utf-8";


/*-----------------------------------------------------------------------

-----------------------------------------------------------------------*/

:root {
	--main-width: 960px;
	--main-width-max: 100%;
	--main-width-full: 90%;

	--main-border-r: 5px;

	--main-colorg1: #0d5f76;
	--main-colorg2: #119977;

	--main-color1: #469178;
	--main-color2: #3F8377;
	--main-color3: #377276;
	--main-color4: #2C6074;

}

.color1 {
	color: var(--main-color1);
}

.color2 {
	color: var(--main-color2);
}

.color3 {
	color: var(--main-color3);
}

.color4 {
	color: var(--main-color4);
}



@media print {
	body {
		width: 1000px;
	}
}

/*------------▼ ie edge object-fit -------------*/
.objectFitImg {
	object-fit: cover;
	object-position: center;
	font-family: 'object-fit: cover; object-position: center;'
}



body {
	margin: 0;
	padding: 0;
	color: #444;
	position: relative;
	font-size: 0.85rem;
	line-height: 2.0rem;
	font-family: 'Roboto', sans-serif;

	background: #f9f9f9;
	background-image: -webkit-radial-gradient(#f4f4f4 15%, transparent 0), -webkit-radial-gradient(#f4f4f4 15%, transparent 0);
	background-image: radial-gradient(#f4f4f4 15%, transparent 0), radial-gradient(#f4f4f4 15%, transparent 0);
	background-position: 0 0, 10px 10px;
	-webkit-background-size: 20px 20px;
	background-size: 20px 20px;
}

.wrap {
	position: relative;
}

section {
	width: 100%;
	margin-bottom: 5rem;
}

.grline {
	position: fixed;
	z-index: 10;
	width: 0.5em;
	height: 100%;
	top: 0;
	left: 0;
	background: -webkit-gradient(linear, left bottom, left top, from(var(--main-colorg1)), to(var(--main-colorg2)));
	background: -webkit-linear-gradient(bottom, var(--main-colorg1), var(--main-colorg2));
	background: linear-gradient(0deg, var(--main-colorg1), var(--main-colorg2));
}

/*------------▼ iehack-------------*/
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
	.grline {
		background: linear-gradient(0deg, #0d5f76, #119977);
	}
}

/*------------▲ iehack-------------*/







.sttl {
	font-weight: bold;
	font-size: 1.1rem;
}

@media screen and (max-width: 960px) {
	.sttl {
		font-weight: bold;
		font-size: 0.8rem;
	}
}

.align_center {
	text-align: center;
}

.catch_content {
	width: var(--main-width);
	margin: 0 auto 2em auto;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	padding: 1rem;
	line-height: 3rem;
	border: dotted 3px #333;
	border-radius: 10px;

	margin-top: 2rem;
}


.normal_content {
	width: var(--main-width);
	margin: 0 auto 2em auto;
}

/*------------▼ iehack-------------*/
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
	.normal_content {
		width: 960px;
		margin: 0 auto 2em auto;
	}
}

/*------------▲ iehack-------------*/


.normal_content p {
	text-align: center;
}

@media screen and (max-width: 960px) {
	.normal_content, .catch_content {
		width: var(--main-width-full);
	}

	.catch_content {
		font-size: 1rem;
		line-height: 2rem;
		text-align: left;
	}

	.normal_content p {
		text-align: left;
	}
}

.cvbtm {
	width: 50%;
	margin: 0 auto;
	color: #fff;
	text-align: center;
	background: -webkit-gradient(linear, left bottom, left top, from(var(--main-colorg1)), to(var(--main-colorg2)));
	background: -webkit-linear-gradient(bottom, var(--main-colorg1), var(--main-colorg2));
	background: linear-gradient(0deg, var(--main-colorg1), var(--main-colorg2));
	border-radius: var(--main-border-r);
}

/*------------▼ iehack-------------*/
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
	.cvbtm {
		background: linear-gradient(0deg, #0d5f76, #119977);
	}
}

/*------------▲ iehack-------------*/

.cvbtm a {
	color: #fff;
	display: block;
	width: 100%;
	font-size: 1.6rem;
	padding: 2rem;
}

@media screen and (max-width: 960px) {
	.cvbtm {
		width: 90%;
		margin-bottom: 3rem;
	}

	.cvbtm a {
		font-size: 1.2rem;
	}
}







/*-----------------------------------------------------------------------
header
-----------------------------------------------------------------------*/
header {
	background: rgba(255, 255, 255, 0.9);
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 1000;
}

.header_inner {
	width: var(--main-width);
	margin: 0px auto;
	padding: 1.0rem 0 0 0;
}

/*------------▼ iehack-------------*/
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
	.header_inner {
		width: 960px;
		margin: 0px auto;
		padding: 1.0rem 0 0 0;
	}
}

/*------------▲ iehack-------------*/

.header_inner .logo {
	width: 160px;
	position: absolute;
	top: 1rem;
	z-index: 2000;
}

.header_inner .logo img {
	width: 100%;
}

.header_inner nav {
	width: 100%;
}

.header_inner nav section {
	display: none;
	text-align: center;
	margin: 0;
}

.header_inner nav section ul {
	font-size: 0;
	text-align: center;
	padding: 0.2rem 0;
}

.header_inner nav section ul li {
	display: inline-block;
	font-size: 0.8rem;
	margin: 0 0.5rem 0.5rem 0;

}

.header_inner nav section ul li a {
	padding: 0.5rem 1rem;
	border: solid 1px #ccc;
	border-radius: 3px;
	color: #333;
}

.header_inner nav section ul li a:hover {
	border: solid 1px #3eb79d;
	background-color: #e7f6f3;
	/*薄緑*/
	color: #24a98d;
	/*緑*/
}


/*-----------------------------------------------------------------------
footer
-----------------------------------------------------------------------*/
footer {}

.footerinner {
	background-color: #555;
	padding: 0;
	margin: 0;
	font-size: 0.8rem;
	color: #fff;
	text-align: center;
}








/*----------------------------
	exp_comment area (add)
----------------------------*/

ul.exp_cmt {
	list-style: none;
	text-align: center;
	background-color: #fff;
	border-radius: var(--main-border-r);
}

ul.exp_cmt li {
	padding: 0.8rem 1rem;
	border-bottom: dotted 1px #ccc;
	line-height: 1.8;
	/* 	font-size: 1rem; */
}

ul.exp_cmt li:last-child {
	border-bottom: none;
}




/*----------------------------
	dr voice
----------------------------*/

dl.dr_voice {
	width: var(--main-width);
	padding: 0;
	margin: 0 auto;
	list-style: none;
	border-bottom: solid 4px var(--main-color4);
}

dl.dr_voice dt {
	border-radius: var(--main-border-r);
	width: 20%;
	float: left;
}

dl.dr_voice dd {
	width: 80%;
	float: left;
	margin-bottom: 1rem;
	font-size: 1rem;
	line-height: 1;
}

.dr_voice dd:nth-child(2) {
	font-size: 1.4rem;
	font-weight: 600;
}

dl.dr_voice dt img {
	width: 80%;
}



@media screen and (min-width:768px) and (max-width:960px) {
	dl.dr_voice {
		width: var(--main-width-full);
	}

	dl.dr_voice dt {
		width: 25%;
	}

	dl.dr_voice dd {
		width: 75%;
		font-size: 1.2em;
		margin-bottom: 0.5em;
	}

	.dr_voice dd:nth-child(2) {
		font-size: 1.4em;
	}
}

@media screen and (max-width: 767px) {
	dl.dr_voice {
		width: var(--main-width-full);
	}

	dl.dr_voice dt {
		width: 30%;
	}

	dl.dr_voice dd {
		width: 70%;
		font-size: 0.8em;
		margin-bottom: 0.5em;
	}

	.dr_voice dd:nth-child(2) {
		font-size: 1.2em;
	}
}


/*-----------------------------------------------------------------------
h1
-----------------------------------------------------------------------*/

.mainvisual_lowlayer {
	display: flex;
	flex-direction: row;
	height: 500px;
	margin: 0;
}

@media screen and (max-width: 960px) {
	.mainvisual_lowlayer {
		height: 400px;
	}
}

.mainvisual_lowlayer div {
	width: 100%;

}

.mainvisual_lowlayer div:nth-child(1) {
	background: url(../images/0_01.jpg) no-repeat center center;
	background-size: cover;
}

.mainvisual_lowlayer div:nth-child(2) {
	background: url(../images/0_02.jpg) no-repeat center center;
	background-size: cover;
}

.mainvisual_lowlayer div:nth-child(3) {
	background: url(../images/0_03.jpg) no-repeat center center;
	background-size: cover;
}

.mainvisual_lowlayer div:nth-child(4) {
	background: url(../images/0_04.jpg) no-repeat center center;
	background-size: cover;
}

.mainvisual {
	opacity: 0.9;

	width: 100%;
	margin: -8rem auto 0 auto;
	padding: 0;
	background: -webkit-gradient(linear, left top, right top, from(var(--main-colorg1)), to(var(--main-colorg2)));
	background: -webkit-linear-gradient(right, var(--main-colorg1), var(--main-colorg2));
	background: linear-gradient(0deg, var(--main-colorg1), var(--main-colorg2));
	background-size: cover;
	border-top: solid 3px #42eec3;
	border-bottom: solid 3px #08404f;
}

/*------------▼ iehack-------------*/
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
	.mainvisual {
		background: linear-gradient(0deg, #0d5f76, #119977);
	}
}

/*------------▲ iehack-------------*/



h1 {
	/* 	width: max-content; */

	width: intrinsic;
	/* Safari/WebKit uses a non-standard name */
	width: -moz-max-content;
	/* Firefox/Gecko */
	width: -webkit-max-content;
	/* Chrome */

	border: solid 3px #fff;
	margin: 1rem auto;
	padding: 4.5rem 2.7rem;
	color: #fff;
	text-align: center;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.5em;
	background: -webkit-gradient(linear, left bottom, left top, from(var(--main-colorg1)), to(var(--main-colorg2)));
	background: -webkit-linear-gradient(top, var(--main-colorg1), var(--main-colorg2));
	background: linear-gradient(90deg, var(--main-colorg1), var(--main-colorg2));
}

/*------------▼ iehack-------------*/
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
	h1 {
		background: linear-gradient(0deg, #119977, #0d5f76);
		width: 50vw;
	}
}

/*------------▲ iehack-------------*/


/* Edge 1 */
/*
@supports (-ms-ime-align: auto) {
	h1 {
		width: auto;
	}
}
*/


h1 span:nth-child(7) {
	font-size: 1.6em;
	line-height: 2;
}

h1 span:nth-child(5) {
	font-size: 2.2em;
	line-height: 1.6;
}

h1 span:nth-child(5) br {
	display: none;
}

h1 span:nth-child(3) {
	font-size: 1.5em;
	line-height: 2;
	font-weight: normal;
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
	padding: 0.2rem 0.5rem;
}

h1 span:nth-child(1) {
	font-size: 4.5em;
}

/*
	h1 span:nth-child(5) { font-size: 1.6em; line-height: 2; }
	h1 span:nth-child(3) { font-size: 3.5em;  }
	h1 span:nth-child(1) { font-size: 4.5em;  }
*/

@media screen and (max-width: 960px) {
	h1 {
		padding: 3rem 2rem;
	}

	h1 span:nth-child(7) {
		font-size: 1em;
		line-height: 3;
	}

	h1 span:nth-child(5) {
		font-size: 1.4em;
		line-height: 1.4;
		letter-spacing: 0.1em;
	}

	h1 span:nth-child(5) br {
		display: inline;
	}

	h1 span:nth-child(3) {
		font-size: 1em;
		line-height: 3;
	}

	h1 span:nth-child(1) {
		font-size: 3.0em;
		line-height: 1.4;
	}

	/*
		h1 span:nth-child(1) { font-size: 1em; line-height: 2; }
		h1 span:nth-child(3) { font-size: 2.3em;  }
		h1 span:nth-child(5) { font-size: 3.0em;  }
*/
}


/*-----------------------------------------------------------------------
menu
-----------------------------------------------------------------------*/

menu ul {
	display: flex;
	flex-direction: row;
	list-style: none;
}

menu ul li {
	width: 100%;
	text-align: center;
}

menu ul li a {
	color: #fff;
	display: block;
	width: 100%;
	height: 200px;
	padding-top: 5em;
}

menu ul li a:hover {
	opacity: 0.8;
}

menu ul li span:nth-child(1) {
	font-size: 3rem;
	font-style: italic;
	margin-left: -2rem;
	margin-right: 1rem;
}

menu ul li span:nth-child(2) {
	font-size: 1.8rem;
	font-weight: 600;
}

@media screen and (min-width:768px) and (max-width:960px) {
	menu ul {
		flex-wrap: wrap;
	}

	menu ul li {
		width: 50%;
		text-align: center;
	}

	menu ul li a {
		width: 100%;
		height: 100px;
		padding-top: 1.5em;
	}

	menu ul li span {
		font-size: 1rem;
		line-height: 0.8;
	}

	menu ul li span:nth-child(1) {
		font-size: 2rem;
		font-style: italic;
		margin-left: -2rem;
		margin-right: 1rem;
	}

	menu ul li span:nth-child(2) {
		font-size: 1rem;
		font-weight: 600;
	}
}

@media screen and (max-width: 767px) {
	menu ul {
		flex-wrap: wrap;
	}

	menu ul li {
		width: 50%;
		text-align: center;
	}

	menu ul li a {
		width: 100%;
		height: 100px;
		padding-top: 1.5em;
	}

	menu ul li span {
		font-size: 0.8em;
		line-height: 0.8;
	}

	menu ul li span:nth-child(1) {
		font-size: 2rem;
		font-style: italic;
		margin-left: -3%;
		margin-right: 0.3em;
	}

	menu ul li span:nth-child(2) {
		font-size: 1rem;
		font-weight: 600;
	}

	menu ul li span:nth-child(4) {
		font-size: 0.8em;
		font-weight: 600;
	}
}




menu ul li:nth-child(1) {
	background-color: var(--main-color1);
}

menu ul li:nth-child(2) {
	background-color: var(--main-color2);
}

menu ul li:nth-child(3) {
	background-color: var(--main-color3);
}

menu ul li:nth-child(4) {
	background-color: var(--main-color4);
}


/*------------▼ iehack-------------*/
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
	menu ul li:nth-child(1) {
		background-color: #469178;
	}

	menu ul li:nth-child(2) {
		background-color: #3F8377;
	}

	menu ul li:nth-child(3) {
		background-color: #377276;
	}

	menu ul li:nth-child(4) {
		background-color: #2C6074;
	}
}

/*------------▲ iehack-------------*/



/*-----------------------------------------------------------------------
h2
-----------------------------------------------------------------------*/

.section_title {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	justify-content: flex-start;
}

.section_title div:nth-child(1) {
	flex-grow: 0.5;
	font-size: 14rem;
	font-style: italic;
	line-height: normal;
	display: flex;
	justify-content: center;
	align-items: center;
}

.section_title div:nth-child(2) {
	flex-grow: 3;
	display: flex;
	justify-content: center;
	align-items: center;
}

.sec1 .section_title div:nth-child(1) {
	color: var(--main-color1);
}

.sec2 .section_title div:nth-child(1) {
	color: var(--main-color2);
}

.sec3 .section_title div:nth-child(1) {
	color: var(--main-color3);
}

.sec4 .section_title div:nth-child(1) {
	color: var(--main-color4);
}

/*------------▼ iehack-------------*/
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
	.sec1 .section_title div:nth-child(1) {
		color: #469178;
	}

	.sec2 .section_title div:nth-child(1) {
		color: #3F8377;
	}

	.sec3 .section_title div:nth-child(1) {
		color: #377276;
	}

	.sec4 .section_title div:nth-child(1) {
		color: #2C6074;
	}
}

/*------------▲ iehack-------------*/


h2 {
	text-align: center;
	font-size: 4.5rem;
	font-weight: 600;
	margin: 0;
	padding: 2rem 0 0 0;
	line-height: 1;
	letter-spacing: 0.3rem;
}

h2 span {
	font-size: 50%;
}

.sec1 h2:first-letter {
	color: var(--main-color1);
}

.sec2 h2:first-letter {
	color: var(--main-color2);
}

.sec3 h2:first-letter {
	color: var(--main-color3);
}

.sec4 h2:first-letter {
	color: var(--main-color4);
}

/*------------▼ iehack-------------*/
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
	.sec1 h2:first-letter {
		color: #469178;
	}

	.sec2 h2:first-letter {
		color: #3F8377;
	}

	.sec3 h2:first-letter {
		color: #377276;
	}

	.sec4 h2:first-letter {
		color: #2C6074;
	}
}

/*------------▲ iehack-------------*/


@media screen and (max-width: 960px) {
	.section_title div:nth-child(1) {
		font-size: 5rem;
		padding-top: 1.5rem
	}

	.section_title div span {
		font-size: 0.35em;
		letter-spacing: 0.1em
	}

	h2 {
		font-size: 1.8rem;
		letter-spacing: 0.2rem;
	}
}


/*-----------------------------------------------------------------------
h3
-----------------------------------------------------------------------*/

.normal_ttl {
	padding: 1rem 0 1rem 0;
	text-align: center;
	margin-bottom: 1rem;
	letter-spacing: 0.2rem;
}

h3 {
	width: var(--main-width);
	text-align: center;
	font-size: 2.2rem;
	font-weight: bold;
	margin: 0 auto;
	padding: 2rem 0 0 0;
	line-height: normal;
}

/*------------▼ iehack-------------*/
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
	h3 {
		width: 960px;
	}
}

/*------------▲ iehack-------------*/

@media screen and (min-width:768px) and (max-width:960px) {
	h3 {
		width: var(--main-width-full);
		font-size: 1.6rem;
	}
}

@media screen and (max-width: 767px) {
	h3 {
		width: var(--main-width-full);
		font-size: 1.4rem;
	}
}

h3 span:nth-child(1) {
	font-size: 50%;
	display: block;
	margin-bottom: 0.5em;
	padding: 0;
	letter-spacing: 0.1rem;
}

.sec1 h3 span:nth-child(2), .sec1 h3 span:nth-child(3) {
	color: var(--main-color1);
}

.sec2 h3 span:nth-child(2), .sec1 h3 span:nth-child(3) {
	color: var(--main-color2);
}

.sec3 h3 span:nth-child(2), .sec1 h3 span:nth-child(3) {
	color: var(--main-color3);
}

.sec4 h3 span:nth-child(2), .sec1 h3 span:nth-child(3) {
	color: var(--main-color4);
}

/*------------▼ iehack-------------*/
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
	.sec1 h3 span:nth-child(2), .sec1 h3 span:nth-child(3) {
		color: #469178;
	}

	.sec2 h3 span:nth-child(2), .sec1 h3 span:nth-child(3) {
		color: #3F8377;
	}

	.sec3 h3 span:nth-child(2), .sec1 h3 span:nth-child(3) {
		color: #377276;
	}

	.sec4 h3 span:nth-child(2), .sec1 h3 span:nth-child(3) {
		color: #2C6074;
	}
}

/*------------▲ iehack-------------*/

.sec1 h3, .sec2 h3, .sec3 h3, .sec4 h3 {
	border-bottom-style: solid;
	border-bottom-width: 4px;
}

.sec1 h3 {
	border-bottom-color: var(--main-color1);
}

.sec2 h3 {
	border-bottom-color: var(--main-color2);
}

.sec3 h3 {
	border-bottom-color: var(--main-color3);
}

.sec4 h3 {
	border-bottom-color: var(--main-color4);
}

/*------------▼ iehack-------------*/
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
	.sec1 h3 {
		border-bottom-color: #469178;
	}

	.sec2 h3 {
		border-bottom-color: #3F8377;
	}

	.sec3 h3 {
		border-bottom-color: #377276;
	}

	.sec4 h3 {
		border-bottom-color: #2C6074;
	}
}

/*------------▲ iehack-------------*/


/*-----------------------------------------------------------------------
h4
-----------------------------------------------------------------------*/

h4 {
	text-align: center;
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 2.4rem;
	letter-spacing: 0.2rem;
	margin-bottom: 2rem;
	padding: 1rem 2rem 0 2rem;
}



/*-----------------------------------------------------------------------
photo img (item_list) flexbox
-----------------------------------------------------------------------*/

.item_list {
	width: var(--main-width);
	margin: 0 auto 2em auto;
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	/*<<-----important*/
}

@media screen and (max-width: 960px) {
	.item_list {
		width: var(--main-width-full);
	}
}

/*------------▼ iehack-------------*/
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
	.item_list {
		width: 960px;
	}
}

/*------------▲ iehack-------------*/


/*----------------------------------
enq img common
----------------------------------*/
ul.enqimg li {
	margin-bottom: 3rem;
}

/*----------------------------------
normal img
----------------------------------*/
.nmlimg .item_list li {
	width: 250px;
	list-style: none;
	margin-bottom: 2rem;
}

.nmlimg .item_list li img {
	width: 250px;
	height: 210px;
	border-radius: var(--main-border-r);
	object-fit: cover;
}

@media screen and (min-width:768px) and (max-width:960px) {
	.nmlimg .item_list li {
		width: 45%;
	}

	.nmlimg .item_list li img {
		width: 100%;
		height: 250px;
	}
}

@media screen and (max-width: 767px) {
	.nmlimg .item_list li {
		width: 100%;
	}

	.nmlimg .item_list li img {
		width: 100%;
		height: 250px;
	}
}


/*----------------------------------
wide img
----------------------------------*/
.wideimg .item_list li {
	width: 500px;
	list-style: none;
}

.wideimg .item_list li img {
	width: 100%;
	height: 250px;
	border-radius: var(--main-border-r);
	object-fit: cover;
}

@media screen and (min-width:768px) and (max-width:960px) {
	.wideimg .item_list li {
		width: 45%;
	}

	.wideimg .item_list li img {
		width: 100%;
		height: 250px;
	}
}

@media screen and (max-width: 767px) {
	.wideimg .item_list li {
		width: 100%;
	}

	.wideimg .item_list li img {
		width: 100%;
		height: 250px;
	}
}

/*
	@media screen and (max-width: 960px) {
		.wideimg .item_list li { width: 100%; }
		.wideimg .item_list li img { width: 100%; height: 200px; }
	}
*/


/*----------------------------------
extra img
----------------------------------*/
.eximg .item_list li {
	width: var(--main-width-full);
	list-style: none;
}

.eximg .item_list li img {
	width: 100%;
	border-radius: var(--main-border-r);
}

@media screen and (min-width:768px) and (max-width:960px) {
	.eximg .item_list li {
		width: 100%;
	}

	.eximg .item_list li img {
		width: 100%;
	}
}

@media screen and (max-width: 767px) {
	.eximg .item_list li {
		width: 100%;
	}

	.eximg .item_list li img {
		width: 100%;
	}
}

/*
	@media screen and (max-width: 960px) {
		.eximg .item_list li { width: 100%; }
		.eximg .item_list li img { width: 100%; }
	}
*/

figcaption {
	font-size: 0.8rem;
	/*	font-weight: bold;*/
	background-color: #fff;
	border-radius: var(--main-border-r);
	text-align: center;
	line-height: normal;
	padding: 1em 0.5em;
}

.kaisai li dl {
	text-align: left;
}

.kaisai li dl dt {
	font-size: 1.1rem;
}

.kaisai li dl dd {
	font-size: 0.9rem;
}













/*-----------------------------------------------------------------------
 	▼▼▼▼ legacy
-----------------------------------------------------------------------*/


/*----------------------------
	common inner (width)
----------------------------*/

div.inner {
	width: var(--main-width);
	margin: 0 auto;
	padding: 1.5rem 0;

	/*edge*/
	table-layout: fixed;
}

div.inner img {}

div.inner_min {
	margin: 0 auto;
	padding: 1.5rem 0;
}


a {
	color: #3399ff;
}

.tel_inquily_num a {
	color: #fff;
}

i.l_icon {
	font-size: 2.5rem;
	letter-spacing: 0;
	margin: 0 auto;
}

i.s_icon {
	font-size: 1.2rem;
	letter-spacing: 0;
	margin: 0 auto;
}

i {
	font-size: 3rem;
	margin-right: 0.5rem;
}

caption {
	width: 100%;
	margin: 0 auto;
}











/*----------------------------
	table
----------------------------*/



.timetable_area {
	width: 600px;
	float: left;
	margin-bottom: 2rem;
}

.timetable_area_img {
	width: 300px;
	float: right;
}

.timetable_area_img img {
	width: 100%;
}

.timetable_area table {
	width: 600px;
}

.timetable_area table tr {
	border-bottom: dotted 1px #d6cbb4;
	/* 	border-bottom: solid 1px #e5776b; */
}

.timetable_area table td {
	padding: 0.5rem;
}

.timetable_area table td:first-child {
	color: #E6611B;
	font-weight: bold;
	vertical-align: top;
}

.caption_txt {
	text-align: center;
	line-height: 1.2rem;
	padding: 1rem;
}




/*----------------------------
	table
----------------------------*/

.table_fotmat {
	margin-bottom: 2rem;
}

.table_fotmat table {
	width: 100%;
	margin: 0 auto;
}

.table_fotmat table tr:first-child {
	border-top: solid 1px #E6611B;
}

.table_fotmat table.nth tr:nth-child(2n+1) {
	background: #f9f9f9;
}

.table_fotmat table th {
	background-color: #f4f3ee;
}

.table_fotmat table th,
.table_fotmat table td {
	padding: 0.5rem;
	border-bottom: solid 1px #E6611B;
	border-left: solid 1px #E6611B;
}

.table_fotmat table td {
	text-align: left;
	background-color: #fff;
}

.table_fotmat table th:last-child,
.table_fotmat table td:last-child {
	padding: 0.5rem;
	border-bottom: solid 1px #E6611B;
	border-left: solid 1px #E6611B;
	border-right: solid 1px #E6611B;
}











/*-----------------------------------------------------------------------

タブレット Beakpoint

-----------------------------------------------------------------------*/

@media only screen and (min-width: 641px) and (max-width: 960px) {

	body {
		font-size: 0.8rem;
		line-height: 2;
	}

	/*-----------------------------------------------------------------------
	header
	-----------------------------------------------------------------------*/
	/*
	header {
		background: rgba(255, 255, 255, 0.9);
	    position: fixed;
	    top: 0;
	    width: 100%;
	    z-index: 1000;
	}
	
	.header_inner {
	    width: 100%;
	    margin: 0px auto;
	    padding: 1.0rem 0 0 0;
	}
	.header_inner .logo {
	    width: 130px;
	    position: absolute;
	    top: 1.2rem;
	    left: 1rem;
	    z-index: 2000;
	}
	.header_inner .logo img {
	    width: 100%;
	}
	.header_inner nav {
	    width: 100%;
	}
	.header_inner nav section {
	    display: none;
	    text-align: center;
	    margin-bottom: 0;
	}
	
		.header_inner nav section ul {
			width: intrinsic;
			margin: 0 auto;
			padding: 0.5rem 1rem;
		}
		.header_inner nav section ul li {
			font-size: 0.8rem;
			width: auto;
			float: left;
			text-align: center;
			
			margin: 0 0.5rem 1rem 0;
		}
		.header_inner nav section ul li a {
			padding: 0.5rem 1rem;
			border: solid 1px #ccc;
			border-radius: 3px;
		}
		.header_inner nav section ul li a:hover {
			border: solid 1px #3eb79d;
			background-color: #e7f6f3;
			color: #24a98d;
		}
	

	.mainvisual_inner {
	    width: 100%;
	    padding: 0;
	    margin: 0 auto;
	    position: relative;
	}
*/




	/*----------------------------
		inner width
	----------------------------*/

	div.inner {
		width: 100%;
		margin: 0 auto;
		padding: 1.5rem;
	}

	div.inner_min {
		width: 100%;
		margin: 0 auto;
		padding: 1.5rem;
	}



	/*----------------------------
		img
	----------------------------*/

	.insert_img {
		/*photo img div outer*/
		width: 100%;
		text-align: center;
	}

	.insert_img img {
		/*photo img*/
		border-radius: 10px;
		max-width: 100% !important;
	}

	.copy_img_bg {
		/*見出しコピーテキストを背景画像にて*/
		background: url(../images/ttl_01_sp.png) no-repeat center bottom;
		background-size: contain;
		width: var(--main-width-full);
		height: 0;
		padding-top: 52.7%;
		margin: 0 auto 2rem auto;
	}


	h4 {
		text-align: center;
		font-size: 1.2rem;
		font-weight: normal;
		line-height: 3.0rem;
		letter-spacing: 0.6rem;
		margin-bottom: 3rem;
	}





	/*----------------------------
		table
	----------------------------*/

	.timetable_area {
		width: 50%;
		float: left;
	}

	.timetable_area_img {
		float: right;
		margin: 0 auto;
	}

	.timetable_area table {
		width: 100%;
	}

	.timetable_area table td {
		padding: 0.5rem 0;
	}


	.table_fotmat table th,
	.table_fotmat table td {
		padding: 0.2rem;
	}



}


/*-----------------------------------------------------------------------

スマホ Beakpoint

-----------------------------------------------------------------------*/

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

	body {
		font-size: 0.8rem;
		line-height: 1.7rem;
	}

	br {
		display: block;
	}


	/*-----------------------------------------------------------------------
		header
		-----------------------------------------------------------------------*/
	header {
		background: rgba(255, 255, 255, 0.9);
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 1000;
	}

	.header_inner {
		width: 100%;
		margin: 0px auto;
		padding: 1.0rem 0 0 0;
	}

	.header_inner .logo {
		width: 100px;
		position: absolute;
		top: 1.2rem;
		left: 1rem;
		z-index: 2000;
	}

	.header_inner .logo img {
		width: 100%;
	}

	.header_inner nav {
		width: 100%;
	}

	.header_inner nav section {
		display: none;
		text-align: center;
		margin-bottom: 0;
	}

	.header_inner nav section ul {
		width: intrinsic;
		margin: 0 auto;
		padding: 0.5rem 1rem;
	}

	.header_inner nav section ul li {
		font-size: 0.8rem;
		width: auto;
		float: left;
		text-align: center;

		margin: 0 0.5rem 1rem 0;
	}

	.header_inner nav section ul li a {
		padding: 0.5rem 1rem;
		border: solid 1px #ccc;
		border-radius: 3px;
	}

	.header_inner nav section ul li a:hover {
		border: solid 1px #3eb79d;
		background-color: #e7f6f3;
		color: #24a98d;
	}


	section {
		margin-bottom: 0;
	}



	/*----------------------------
			inner width
		----------------------------*/

	div.inner {
		width: 100%;
		margin: 0 auto;
		padding: 1rem;
	}

	div.inner_min {
		width: 100%;
		margin: 0 auto;
		padding: 1.5rem 1rem;
	}






	/*----------------------------
			table
		----------------------------*/

	.timetable_area {
		width: 100%;
		float: none;
	}

	.timetable_area_img {
		float: none;
		margin: 0 auto;
	}

	.timetable_area table {
		width: 100%;
	}

	.timetable_area table td {
		padding: 0.5rem;
	}


	.table_fotmat table th,
	.table_fotmat table td {
		padding: 0.2rem;
	}

	#btn-page-top {
		margin: 0 auto;
	}




}



/*-----------------------------------------------------------------------

btn_hamburger

-----------------------------------------------------------------------*/

.btn_hamburger {
	margin: 0.5em auto 2em !important;
	width: 40px;
}

.btn_hamburger a {
	position: relative;
	display: block;
	height: 26px;
	-webkit-transition: all .4s;
	transition: all .4s;
	box-sizing: border-box;
}

.btn_hamburger span {
	position: absolute;
	display: inline-block;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #161b1d;
	border-radius: 2px;
	-webkit-transition: all .4s;
	transition: all .4s;
	box-sizing: border-box;
}

.btn_hamburger span:nth-of-type(1) {
	top: 0;
}

.btn_hamburger span:nth-of-type(2) {
	top: 12px;
}

.btn_hamburger span:nth-of-type(3) {
	bottom: 0;
}

.btn_hamburger span:nth-of-type(2)::after {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background-color: #161b1d;
	border-radius: 2px;
	-webkit-transition: all .4s;
	transition: all .4s;
}

.btn_hamburger .active span:nth-of-type(2) {
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.btn_hamburger .active span:nth-of-type(2)::after {
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
}

.btn_hamburger .active span:nth-of-type(1) {
	-webkit-transform: translateY(20px) scale(0);
	-ms-transform: translateY(20px) scale(0);
	transform: translateY(20px) scale(0);
}

.btn_hamburger .active span:nth-of-type(3) {
	-webkit-transform: translateY(-20px) scale(0);
	-ms-transform: translateY(-20px) scale(0);
	transform: translateY(-20px) scale(0);
}



/*-----------------------------------------------------------------------

spot

-----------------------------------------------------------------------*/

.weight_nml {
	font-weight: normal;
}

.txalign_ct {
	text-align: center;
}

.mgnR05 {
	margin-right: 5px;
}

.mgnB05 {
	margin-bottom: 5px;
}

.mgnB10 {
	margin-bottom: 10px;
}

.mgnB15 {
	margin-bottom: 15px;
}

.pdgT02r {
	padding-top: 2rem;
}

.pdgB02r {
	padding-bottom: 2rem;
}

.pdgB05 {
	padding-bottom: 5px;
}

.fs_small {
	font-size: 0.8rem;
}

.fs_large {
	font-size: 1.2rem;
}

.bdrB {
	border-bottom: solid 1px #f5e6c7;
}

.uline {
	border-bottom: solid 4px #ffff66;
	letter-spacing: 0.3rem;
	font-style: italic;
}

.square_txt_box {
	/* 	font-size: 1rem; */
	margin-bottom: 1rem;
	padding: 0.5rem 0.8rem;
	background-color: #2d6cb3;
	color: #fff;
	border-radius: var(--main-border-r);
	width: -moz-max-content;
	width: intrinsic;
	width: -webkit-max-content;
}

@media screen and (max-width: 640px) {
	.square_txt_box {
		width: 100%;
	}
}


#btn-page-top {
	border-radius: var(--main-border-r);
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	background-color: #777;
	height: auto;
	margin-left: auto;
}

#btn-page-top a {
	padding: 1rem;
	color: #fff;
}





/*----------------------------
	clear
----------------------------*/

.clr, .clear {
	clear: both;
}

.clearfix {
	overflow: hidden;
	height: 100%;
}

.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*¥*/
	/*/
	height: auto;
	overflow: hidden;
	/**/
}



/* add 20240214 */

.result_list {
	text-align: center;
	margin-bottom: 5rem;
	padding: 0 2rem;
}

.result_list ul {
	list-style: none;
	width: var(--main-width);
	margin: 0 auto 2em auto;
}

.result_list ul li {
	border-bottom: dashed 1px #ccc;
}

@media screen and (max-width: 640px) {
	.result_list {
		text-align: left;
		margin-bottom: 5rem;
	}

	.result_list ul {
		width: auto;
	}
}