@charset "utf-8";

/***************************************
			reset
***************************************/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    vertical-align:baseline;
    background:transparent;
	font-size: 1em;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

nav,ul,ol{
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
	text-decoration: none;
	color: #000;
}

ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

hr {
    display:block;
    height:1px;
    border:0;  
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

@font-face {
    font-family: 'hiragino6';
    src: 
	url('../font/hiragino6.woff') format('woff'), /* Modern Browsers */
    url('../font/hiragino6.ttf')  format('truetype'); /* Safari, Android, iOS */
}

@font-face {
    font-family: 'Impact';
    src: 
	url('../font/impact.woff') format('woff'), /* Modern Browsers */
    url('../font/impact.ttf')  format('truetype'); /* Safari, Android, iOS */
}

@font-face {
    font-family: 'Arial';
    src: 
	url('../font/arial.woff') format('woff'), /* Modern Browsers */
    url('../font/arial.ttf')  format('truetype'); /* Safari, Android, iOS */
}
/***************************************
			layout
***************************************/
html{
	font-size: 62.5%;
}

body {
	font-size: 1.6rem;
    line-height:1;
	font-family: "hiragino6","ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	position: relative;
}

.content{
	width: 1001px;
	margin: 0 auto;
}

h3{
	font-size: 4rem;
	font-weight: bold;
	letter-spacing: 6px;
	text-align: center;
	position: relative;
	padding-top: 35px;
}

h3:after{
	position: absolute;
	content: "";
	background:url("../img/icon01.png") no-repeat;
	background-size: 33px 18px;
	width: 33px;
	height: 18px;
	left: 50%;
	top: -9px;
	margin-left: -16.5px;
}

h4{
	font-weight: normal;
	font-size: 3.3rem;
	text-align: center;
	letter-spacing: 1.1px;
	position: relative;
	margin-bottom: 70px;
}

h4:after{
	position: absolute;
	content: "";
	border-bottom: 4px solid #FFA0D2;
	height: 4px;
	width: 50px;
	bottom: -12px;
	left: 50%;
	margin-left: -25px;
}

@media all and (min-width: 768px) {
	.sp {
		display: none !important;
	}
	
	.spBox {
		display: none !important;
	}
}

@media all and (max-width: 767px) {
	html{
		scroll-padding-top:70px;
	}
	
	body {
		min-width: inherit;
		font-size: 1.5rem;
	}
	
	#wrapper{
		padding-top: 71px;
	}

	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	
	.pc {
		display: none !important;
	}
	
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
	
	#main {
		width: 100%;
		margin: 0 auto 82px;
	}
	
	.txt{
		line-height: 1.73;
	}
	
	.content{
		width: 100%;
		margin: 0 auto;
	}

	h3{
		font-size: 2.2rem;
		letter-spacing: 3.4px;
		padding-top: 12px;
	}

	h3:after{
		background:url("../img/icon01.png") no-repeat;
		background-size: 17px 9px;
		width: 17px;
		height: 9px;
		left: 50%;
		top: -9px;
		margin-left: -8.5px;
	}

	h4{
		font-size: 2rem;
		letter-spacing: 3.75px;
		margin-bottom: 38px;
	}

	h4:after{
		border-bottom-width: 2px;
		height: 2px;
		width: 26px;
		bottom: -8px;
		margin-left: -13px;
	}

}
/***************************************
			header
***************************************/

.hBox{
	position: fixed;
	width: 100%;
	height: 145px;
	background-color: rgba(255,255,255,0.8);
	padding: 46px 0 44px;
	box-sizing: border-box;
	z-index: 10;
}

.hBox .logo a:hover{
	opacity: 0.7;
}

.hBox .content{
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.hBox .ancTxt{
	display: flex;
}

.hBox .ancTxt li{
	margin-right: 23px;
	text-indent: -1em;
}

.hBox .ancTxt li:last-child{
	margin-right: 0;
}

.hBox .ancTxt a{
	border: #ddd 1px solid ;
	display: block;
	background: #fff;
	width: 150px;
	font-size: 1.7rem;
	line-height: 37px;
	text-align: center;
	border-radius: 18px;
}

.hBox .ancTxt a:hover{
	color: #fff;
	background: #004080;
}

.hBox .ancTxt span{
	position: relative;
}

.hBox .ancTxt span:after{
	position: absolute;
	content: "";
	background: url("../img/icon03.png") no-repeat;
	background-size: 6px 6px;
	width: 6px;
	height: 6px;
	right:-20px;
	top: 8px;
	
}

.hBox .ancTxt a:hover span:after{
	background: url("../img/icon02.png") no-repeat;
}

.hBox .entry a{
	display: block;
	width: 170px;
	align-items: center;
	justify-content: center;
	background: #ED0093 url("../img/icon05.png") no-repeat right 17px center;
	text-indent: -0.4em;
	box-sizing: border-box;
	text-align: center;
	color: #fff;
	line-height: 55px;
	border-radius: 27px;
	font-family: "Arial";
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: 1.76px;
}

.hBox .entry a:hover{
	opacity: 0.7;
}

.hBox .entry a img{
	margin-left: 8px;
}
@media all and (max-width: 767px) {
	.hBox{
		position: fixed;
		width: 100%;
		height: 71px;
		background-color: #fff;
		padding: 0;
		top: 0;
		box-sizing: border-box;
	}
	
	.hBox .sp{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	
	.hBox .logo{
		width: 110px;
	}

	.hBox .logo img{
		width: 100%;
		margin-left: 22px;
	}
	
	.hBox .rightBox{
		display: flex;
		align-items: center;
	}
	
	.hBox .entry a{
		width: 112px;
		padding: 16px 0;		
		font-family: "hiragino6","ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
		background: #ED0093;
		text-indent: 0;
		color: #fff;
		line-height: 1.48;
		border-radius: 0;
		font-size: 1.4rem;
		font-weight: bold;
		letter-spacing: 0;
	}
	
	.hBox .menu{
		width: 76px;
		text-align: center;
	}

	.hBox .menu img{
		width: 23px;
	}

	.spBox {
		display: none;
		position: fixed;
		background: #fff;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		overflow-y: scroll;
		z-index: 100;
	}

	.spBox .close{
		padding: 22px 26px; 
		text-align: right;
	}
	
	.spBox .close img{
		width: 23px;
	}

	.spBox ul{
		margin-bottom: 2px;
		display: grid;
		gap: 2px;
		grid-template-columns: 1fr 1fr 1fr;
	}
	
	.spBox li a{
		display: block;
		line-height: 60px;
		background: #ED0093;
		text-align: center;
		color: #fff;
	}
	
	.spBox > a{
		display: block;
		line-height: 60px;
		background: #ED0093;
		text-align: center;
		color: #fff;
		font-weight: bold;
		font-size: 1.65rem;
		margin-bottom: 35px;
	}
	
	.spBox h4{
		font-size: 1.7rem;
		margin-bottom: 35px;
	}
	
	.spBox h4:after{
		bottom: -10px;
		border-bottom-width: 1px;
	}
	
	.spBox .contact{
		text-align: center;
		margin-bottom: 24px;
	}
	
	.spBox .index .secretariat{
		font-size: 2.35rem;
		color: #004098;
		letter-spacing: 2.63px;
		margin-bottom: 20px;
	}
	
	.spBox .tel img{
		width: 27px;
		margin-right: 15px;
		vertical-align: bottom;
	}
	
	.spBox .tel{
		font-size: 2.88rem;
		color: #004098;
		font-family: Impact;
		letter-spacing: 2.6px;
	}
	.spBox .linkBox{
		display: block;
		margin: 0 20px 120px;
	}

	.spBox .linkBox .box01 a{
		box-sizing: border-box;
		text-align: center;
		color: #fff;
		display: block;
		background: #004098;
		width: 100%;
		height: 136px;
		padding-top: 24px;
		font-size: 1.8rem;
		letter-spacing: 0.76px;
		margin-bottom: 12px;
	}

	.spBox .linkBox .box01 img{
		display: block;
		width: 43px;
		margin: 0 auto 13px;
	}

	.spBox .linkBox .box02 a{
		display: block;
		border: 1px solid #e5e5e5;
		background: #F6F6F6;
		width: 100%;
		height: 144px;
		padding-top: 25px;
	}

	.spBox .linkBox .box02 .inner{
		width: 320px;
		margin: 0 auto;
	}
	
	.spBox .linkBox .box02 .imgBox{
		display: flex;
		margin-bottom: 13px;
	}

	.spBox .linkBox .box02 .photo{
		width: 66px;
		margin-right: 9px;
	}

	.spBox .linkBox .box02 .photo img{
		width: 100%;
	}

	.spBox .linkBox .box02 .txtBox{
		width: 250px;
	}
	
	.spBox .linkBox .box02 .txt01{
		letter-spacing: 1.56px;
		font-size: 1.3rem;
		font-weight: bold;
		margin-bottom: 6px;
	}

	.spBox .linkBox .box02 .txt01 span{
		letter-spacing: 0;
		font-size: 1.69rem;
		font-family: "Arial";
	}

	.spBox .linkBox .box02 .txt02{
		border: 1.9px solid #DD2771;
		background: #fff;
		font-weight: bold;
		text-align: center;
		font-size: 2.35rem;
		padding: 9px 0 8px;
		box-sizing: border-box;
		border-radius: 10px;
	}

	.spBox .linkBox .box02 .txt03{
		width: 100%;
		text-align:left;
		font-size: 1.3rem;
		color: #646464;
	}		
}

/***************************************
			footer
***************************************/

.infoBox{
	background: #F6F6F6;
	padding: 47px 0 44px;
}

.infoBox .logo a:hover{
	opacity: 0.7;
}

.infoBox .content{
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
}

.infoBox .ancTxt{
	display: flex;
}

.infoBox .ancTxt li{
	margin: 0 33px;
}

.infoBox .ancTxt a:hover{
	color: #004098;
	text-decoration: underline;
}

.infoBox .entry a{
	display: block;
	width: 162px;
	align-items: center;
	justify-content: center;
	background: #ED0093;
	box-sizing: border-box;
	text-align: center;
	color: #fff;
	line-height: 78px;
	border-radius: 81px;
	font-family: "Arial";
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: 1.76px;
}

.infoBox .entry a:hover{
	opacity: 0.6;
}

.copyright{
	text-align: center;
	padding: 15px 0 13px;
	font-size: 1rem;
	font-family: a-otf-ud-shin-go-pr6n, sans-serif;
	font-weight: 300;
	font-style: normal;
}

.pageTop {
	position: absolute;
    right: -85px;
    top: -94px;
}

@media all and (max-width: 767px) {

	#gFooter{
		position: relative;
	}
	
	.pageTop {
		position: absolute;
		left: 50%;
		right: 0;
		margin-left: -20px;
		top: -40px;
	}

	.pageTop img{
		width: 40px;
		height: 40px;
	}
	
	.copyright{
		padding: 20px 0;
		font-size: 1.1rem;
		letter-spacing: 0.5px;
		font-family: a-otf-ud-shin-go-pr6n, sans-serif;
		font-weight: 300;
		font-style: normal;
	}

}
/***************************************
			mainImg
***************************************/
h1{
	padding-top: 5px;
	font-weight: normal;
	width: 1001px;
	left: 0;
	right: 0;
	margin: auto;
	position: absolute;
	z-index: 10;
}

.mainImg{
	background: url("../img/mainImg.jpg") no-repeat center center;
	background-size:cover;
	height: 1200px;
	position: relative;
	overflow:hidden;
	z-index: inherit;
}

.mainImg:after{
	position: absolute;
	content: "";
	width:140%;
	margin-left: -22%;
	height:550px;
	bottom: -325px;
	background:#fff;
	background-size: 50%;
	transform:skew(-40deg,-11deg);
}

.subBox{
	width: 1114px;
	margin: 0 auto;
	margin-top: 640px;
	padding-bottom: 65px;
	position: relative;
}

.subBox:before{
	content: "";
	top: -500px;
	left: -320px;
	position: absolute;
	-webkit-box-shadow: 400px 450px 200px 0 rgba(0,0,0,0); /* Safari, Chrome用 */
    -moz-box-shadow: 400px 450px 200px 0 rgba(0,0,0,0); /* Firefox用 */
    box-shadow: 400px 450px 200px 0 rgba(0,0,0,0); /* CSS3 */
    background-color: rgba(0,0,0,0);
    box-shadow: 400px 450px 150px 0 #fff;
    height: 400px;
    width: 900px;
	border-radius: 50%;
	z-index: 0;
}

.subBox h2{
	width: 580px;
	font-weight: bold;
	font-size: 4.8rem;
	color: #ED0093;
	margin: 0 auto 8px;
	letter-spacing: 8.1px;
	position: relative;
}

.subBox h2 span{
	background: #ED0093;
	font-size: 6.26rem;
	color: #fff;
	width: 280px;
	height: 198px;
	display: flex;
	align-items: center;
	justify-content: center;
	left: 400px;
	top: -75px;
	text-align: center;
	position: absolute;
	border-radius: 50%;
}

.subBox .txtSub{
	color: #004080;
	font-weight: bold;
	font-size: 3.1rem;
	line-height: 1.516;
	width: 580px;
	letter-spacing: 5.58px;
	margin: 0 auto 17px;
	position: relative;
}

.subBox ul {
	width: 580px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	position: relative;
	justify-content: space-between;
}

.subBox ul li{
	line-height: 53px;
	width: 272px;
	font-size: 2.0rem;
	font-weight: bold;
	margin-bottom: 21px;
	border-radius: 27px;	
	text-align: center;
}

.subBox ul li:nth-child(1){
	background: #FCEE21;
	border: 1px solid #FFCC33;
}

.subBox ul li:nth-child(2){
	background: #FFCCFF;
	border: 1px solid #FF99CC;
}

.subBox ul li:nth-child(3){
	background: #CCFFCC;
	border: 1px solid #94E094;
}

.subBox ul li:nth-child(4){
	background: #C7E8FF;
	border: 1px solid #66CCFF;
}


@media all and (max-width: 767px) {
	h1{
		display: none;
	}
	
	.mainImg{
		background: url("../img/sp_mainImg.jpg") no-repeat center center;
		background-size: cover;
		height: 274px;
		position: relative;
		padding-bottom: 40px;
		margin-bottom: 60px;
	}

	.mainImg:after{
		width:140%;
		margin-left: -22%;
		height:120px;
		bottom: -60px;
		background:#fff;
		background-size: 50%;
		transform:skew(0deg,-10deg);
	}

	.subBox:after{
		content: "";
		top: -300px;
		left: 0;
		position: absolute;
		-webkit-box-shadow:0 250px 100px 0 rgba(0,0,0,0); /* Safari, Chrome用 */
		-moz-box-shadow: 0 250px 100px 0 rgba(0,0,0,0); /* Firefox用 */
		box-shadow: 0 250px 100px 0 rgba(0,0,0,0); /* CSS3 */
		background-color: rgba(0,0,0,0);
		box-shadow:0 320px 100px 0 #fff;
		height: 120px;
		width: 80%;
		border-radius: 50%;	
		z-index: -1;
	}

	.subBox{
		width: 88%;
		margin: 0 auto;
		margin-top: 150px;
		padding: 0;
		position: relative;
		z-index: 1;
	}

	.subBox h2{
		width: 100%;
		font-size: 2.3rem;
		margin-bottom: 5px;
		letter-spacing: 4.1px;
		padding-left: 18px;
	}
	
	.subBox h2 span{
		font-size: 2.35rem;
		width: 93px;
		height: 58px;
		right: 0;
		left:215px;
		letter-spacing: 3.05px;
		top: -20px;
	}
	
	.subBox .txtSub{
		font-size: 1.5rem;
		line-height: 1.516;
		width: 100%;
		letter-spacing: 0.5px;
		margin: 0 auto 5px;
		padding-left: 22px;
	}
	
	.subBox ul {
		width: 100%;
	}

	.subBox ul li{
		line-height: 29px;
		width: 47%;
		font-size:1.2rem;
		margin-bottom: 18px;
	}
}

/***************************************
			index
***************************************/

.index .sec01{
	background: #fff;
	position: relative;
	overflow:hidden;
	z-index: -10;
}

.index .sec01:after{
	position: absolute;
	content: "";
	width:140%;
	margin-left: -22%;
	height:550px;
	top: 420px;
	background:#F6F6F6;
	background-size: 50%;
	transform:skew(15deg,20deg);
}

.index .sec01 .content{
	position: relative;
	padding-top: 9px;
	z-index: 1;
}

.index .sec01 h3{
	margin-bottom: 74px;
}

.index .sec01 ul{
	margin-bottom: 128px;
}

.index .sec01 li{
	display: flex;
}

.index .sec01 li:nth-child(1) .txtBox{
	background: #7ECFE8;
}

.index .sec01 li:nth-child(2) .txtBox{
	background: #FFA0D2;
	order: -1;
}

.index .sec01 li:nth-child(3) .txtBox{
	background: #F09C67;
}

.index .sec01 li .txtBox {
	display: flex;
	align-items: center;
	padding: 0 90px 0 57px;
	box-sizing: border-box;
	height: 334px;
}

.index .sec01 li .photo {
	height: 334px;
}

.index .sec01 li .photo img{
	height: 334px;
}

.index .sec01 li .txtBox p {
	color: #fff;
	font-size: 1.8rem;
	line-height: 1.94;
}

.index .sec01 li .txtBox p span{
	font-family: "Impact";
	font-size: 4.5rem;
	display: block;
}

.index .sec01 .merit{
	background:linear-gradient(0deg,#fff 0%,#fff 2px, #EA5EAE 2px,#EA5EAE 0%,#EA5EAE 50%,#fff 50%,#fff 100%);	
	margin-bottom: 154px;
}

.index .sec01 .merit .ttl{
	font-family: vdl-megamaru, sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 3.3rem;
	letter-spacing: 4.54px;
	padding-bottom: 26px;
	margin-bottom: 38px;
	text-align: center;
	background: url("../img/line01.png") no-repeat bottom center;
}

.index .sec01 .merit .ttl span{
	color: #ea5eae;
}

.index .sec02{
	padding-bottom: 120px;
	position: relative;
	overflow:hidden;
	margin-bottom: 102px;
}

.index .sec02:before{
	position: absolute;
	content: "";
	width:140%;
	margin-left: -22%;
	height:550px;
	top: 400px;
	background:#F6F6F6;
	background-size: 50%;
	transform:skew(5deg,25deg);
}

.index .sec02:after{
	position: absolute;
	content: "";
	width:140%;
	margin-left: -22%;
	height:550px;
	bottom: 800px;
	background:#F6F6F6;
	background-size: 50%;
	transform:skew(-5deg,-25deg);
}

.index .sec02 .content{
	position: relative;
	z-index: 1;
}

.index .sec02 h3{
	margin-bottom: 134px;
}

.index .sec02 h3:before{
	position: absolute;
	content: "";
	background: url("../img/line02.png") no-repeat;
	width: 1px;
	height: 109px;
	bottom: -153px;
	left: 50%;
	
}

.index .sec02 .content > ul{
	margin-bottom: 170px;
}

.index .sec02 .content > ul > li{
	display: flex;
	align-items:flex-end;
	position: relative;
}

.index .sec02 .content > ul > li:after{
	position: absolute;
	content: "";
	background: url("../img/line02.png") no-repeat;
	width: 1px;
	height: 109px;
	left: 50%;
}

.index .sec02 .content > ul > li:nth-child(1) {
	margin-bottom: 146px;
}

.index .sec02 .content > ul > li:nth-child(1):after {
	bottom: -200px;
}

.index .sec02 .content > ul > li:nth-child(2) {
	margin-bottom: 174px;
}

.index .sec02 .content > ul > li:nth-child(2):after {
	bottom: -130px;
}

.index .sec02 .content > ul > li:nth-child(3) {
	align-items: flex-start;
}

.index .sec02 .content > ul > li:nth-child(3):after {
	bottom: -100px;
}

.index .sec02 .content .photoBox img{
	margin-bottom: -3px;
	width: 100%;
}

.index .sec02 .content .photoBox .txtBox{
	text-align: center;
	background: #EA5EAE;
	color: #fff;
	padding: 34px 0 28px;
	width: 303px;
	box-sizing: border-box;
	margin: 0 auto;
}

.index .sec02 .content .photoBox .txtBox .name{
	font-weight: bold;
	font-size: 3rem;
	margin-bottom: 30px;
	letter-spacing: 4.5px;
}

.index .sec02 .content .photoBox .txtBox .career{
	font-size: 2.2rem;
	letter-spacing: 3.3px;
}

.index .sec02 ul ul{
	background: #fff;
	padding: 5px 34px 0 35px;
}

.index .sec02 .content > ul > li:nth-child(2n) ul{
	padding: 5px 38px 0 42px;
	margin-left: 0;
	margin-right: 24px;
}

.index .sec02 ul ul li{
	padding: 42px 0 73px;
}

.index .sec02 ul ul li:first-child{
	border-bottom: 1px solid #e5e5e5;
}

.index .sec02 .content > ul > li:nth-child(2n) li{
	padding: 41px 0 35px;
}

.index .sec02 .content > ul > li:nth-child(2n) .photoBox{
	padding-bottom: 108px;
	order: 1;
}

.index .sec02 .content > ul > li:nth-child(3) .photoBox{
}

.index .sec02 ul ul li .ttl{
	margin-bottom: 36px;
	font-size: 2.5rem;
	font-weight: bold;
	color: #EA5EAE;
	padding-left: 30px;
	background: url("../img/icon04.png") no-repeat left center;
}

.index .sec02 ul ul li .txt{
	line-height: 2.23;
	font-size: 1.7rem;
	font-family: "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}

.index .sec02 h4{
	font-family: vdl-megamaru, sans-serif;
	font-weight: 400;
	font-style: normal;
}

.index .sec02 .video .content{
	display: flex;
	justify-content: space-between;
}

.index .sec02 .video iframe{
	flex: none;
}

.index .sec03 {
	background:linear-gradient(180deg,#F6F6F6 0%,#F6F6F6 328px, #fff 328px,#fff 100%);	
}

.index .sec03 h3{
	margin-bottom: 61px;
}

.index .sec03 table{
	border-collapse: collapse;
	border: 1px solid #e9e9e9;
	margin-bottom: 105px;
}

.index .sec03 th{
	border: 1px solid #e9e9e9;
	font-size: 1.8rem;
	text-align:left;
	vertical-align: middle;
	background: #F6F6F6;
	padding: 29px 0 27px 31px;
	box-sizing: border-box;
	width: 279px;
}
.index .sec03 td{
	border: 1px solid #e9e9e9;
	font-size: 1.7rem;
	background: #fff;
	line-height: 2.05;
	padding: 23px 15px 20px 26px;
}

.index .sec03 h4{
	font-weight: bold;
	font-size: 3.5rem;
	letter-spacing: 5.25px;
}

.index .sec03 h4:after{
	bottom: -20px
}

.index .sec03 .clinic {
	display: flex;
	justify-content: space-between;
	margin-bottom: 100px;
}

.index .sec03 .clinic li{
	background: #F6F6F6;
	width: 320px;
	padding: 20px;
	box-sizing: border-box;
}

.index .sec03 .clinic li img{
	width: 100%;
	margin-bottom: 34px;
}

.index .sec03 .clinic .clinicName{
	font-size: 2.8rem;
	letter-spacing: 4.2px;
	font-weight: bold;
	color: #004098;
	text-align: center;
	margin-bottom: 33px;
}

.index .sec03 .clinic iframe{
	margin-bottom: 20px;
}

.index .sec03 .clinic .txt{
	line-height: 2;
}

.index .sec03 .contact {
	background: #FFE6C2;
	padding: 49px 0;
	margin-bottom: 4px;
}

.index .sec03 .contact h4{
	font-size: 2.5rem;
	margin-bottom: 53px;
}

.index .sec03 .contact p{
	color: #004098;
	display: flex;
	justify-content: center;
	align-items: center;
}

.index .sec03 .contact p img{
	margin: 0 26px 0 30px;
}

.index .sec03 .contact .index .secretariat{
	font-size: 3.85rem;
	font-weight: bold;
	letter-spacing: 3.89px;
}

.index .sec03 .contact .tel{
	font-size: 5.33rem;
	font-family: "Impact";
	letter-spacing: 2.81px;
}

.index .sec03 .linkBox{
	display: flex;
	justify-content: space-between;
	margin-bottom: 179px;
}

.index .sec03 .linkBox a:hover{
	opacity: 0.7;
}

.index .sec03 .linkBox .box01 a{
	display: block;
	background: #004098;
	width: 500px;
	height: 249px;
	padding-top: 54px;
	box-sizing: border-box;
	text-align: center;
	font-size: 2.6rem;
	color: #fff;
	letter-spacing: 1.04px;
}

.index .sec03 .linkBox .box01 img{
	display: block;
	margin: 0 auto 21px;
}

.index .sec03 .linkBox .box02 a{
	display: block;
	border: 1px solid #e5e5e5;
	background: #F6F6F6;
	width: 493px;
	height: 249px;
	padding: 56px 51px 0 23px;
	box-sizing: border-box;
}

.index .sec03 .linkBox .box02 .imgBox{
	display: flex;
	margin-bottom: 17px;
}

.index .sec03 .linkBox .box02 .imgBox .photo{
	margin-right: 9px;
}

.index .sec03 .linkBox .box02 .txtBox{
	width: 100%;
}

.index .sec03 .linkBox .box02 .txt01{
	letter-spacing: 2.28px;
	font-size: 1.94rem;
	margin-bottom: 9px;
	font-weight: bold;
}

.index .sec03 .linkBox .box02 .txt01 span{
	letter-spacing: 0;
	font-size: 2.46rem;
	font-family: "Arial";
}

.index .sec03 .linkBox .box02 .txt02{
	border: 2.6px solid #DD2771;
	background: #fff;
	text-align: center;
	font-size: 3.3rem;
	font-weight: bold;
	width: 100%;
	padding: 10px;
	border-radius: 10px;
	box-sizing: border-box;
}

.index .sec03 .linkBox .box02 .txt03{
	width: 100%;
	text-align:center;
	color: #646464;
}

#anc01,#anc02,#anc03{
	padding-top: 112px;
	margin-top: -112px;
}

@media all and (max-width: 767px) {
	.index .sec01{
		padding-top: 0;
	}

	.index .sec01:after{
		width:140%;
		height:225px;
		top: 85px;
		transform:skew(5deg,20deg);
	}

	.index .sec01 .content{
		padding-top: 0;
	}

	.index .sec01 h3{
		margin-bottom: 45px;
	}

	.index .sec01 ul{
		margin-bottom: 46px;
	}

	.index .sec01 li{
		display: block;
	}

	.index .sec01 li .txtBox {
		display: flex;
		align-items: center;
		padding: 36px 20px 50px ;
		box-sizing: border-box;
		height: auto;
	}

	.index .sec01 li .photo {
		height: 214px;
	}

	.index .sec01 li .photo img{
		height: 214px;
		width: 100%;
		object-fit: cover;	
	}

	.index .sec01 li .txtBox p {
		color: #fff;
		font-size: 1.6rem;
		line-height: 1.71;
	}

	.index .sec01 li .txtBox p span{
		font-size: 4rem;
		text-align: center;
		margin-bottom: 10px;
	}

	.index .sec01 .merit{
		background:none;
		margin-bottom: 79px;
	}

	.index .sec01 .merit img{
		width: 100%;
	}

	.index .sec01 .merit .ttl{
		font-size: 2rem;
		letter-spacing: 1.92px;
		padding-bottom: 12px;
		margin-bottom: 27px;
		background: url("../img/sp_line01.png") no-repeat bottom center;
		background-size: 342px 8px;
	}
	
	.index .sec02{
		padding-top: 0;
		padding-bottom: 42px;
		margin-bottom: 71px;
	}

	.index .sec02:before{
		content: none;
	}

	.index .sec02:after{
		content: none;
	}

	.index .sec02 h3{
		margin-bottom: 45px;
		position: relative;
		z-index: 5;
	}

	.index .sec02 h3:before{
		content: none;
	}

	.index .sec02 .content > ul{
		margin-bottom: 0px;
	}

	.index .sec02 .content > ul > li{
		display: block;
		position: relative;
	}

	.index .sec02 .content > ul > li:before{
		position: absolute;
		content: "";
		margin-left: -22%;
		background:#f6f6f6;
		background-size: 50%;
		width:140%;
		height:400px;
		top: -60px;
		transform:skew(10deg,25deg);
		z-index: -1;
	}

	.index .sec02 .content > ul > li:after{
		content: none;
	}

	.index .sec02 .content > ul > li:nth-child(1) {
		margin-bottom: 20px;
	}

	.index .sec02 .content > ul > li:nth-child(2) {
		margin-bottom: 16px;
	}

	.index .sec02 .content > ul > li:nth-child(2):before {
		transform:skew(-10deg,-25deg);
	}

	.index .sec02 .content > ul > li:nth-child(3) {
		margin-bottom: 26px;
	}

	.index .sec02 .content .photoBox {
		text-align: center;
		margin: 0 20px 30px;
	}
	
	.index .sec02 .content .photoBox img{
		margin-bottom: -40px;
		width: 45%;
	}

	.index .sec02 .content .photoBox .txtBox{
		padding: 24px 0 25px;
		width: 100%;
		margin: 0 auto;
		position: relative;	
	}

	.index .sec02 .content .photoBox .txtBox .name{
		font-size: 2rem;
		margin-bottom: 20px;
		letter-spacing: 3px;
	}

	.index .sec02 .content .photoBox .txtBox .career{
		font-size: 1.65rem;
		letter-spacing: 2.47px;
	}

	.index .sec02 ul ul{
		margin: 0 20px;
		padding: 0;
		background: none;
	}

	.index .sec02 .content > ul > li:nth-child(2n) ul{
		padding: 0;
		margin-left: 0;
		margin-right: 0;
	}

	.index .sec02 ul ul li{
		padding: 22px 20px 0;
		border: 1px solid #EA5EAE;
		margin-bottom: 30px;
	}
	
	.index .sec02 ul ul li{
	}
	
	.index .sec02 ul ul li:first-child{
		border: 1px solid #EA5EAE;
	}

	.index .sec02 ul ul li:last-child{
		margin-bottom: 52px;
	}

	.index .sec02 .content > ul > li:nth-child(2n) li{
		padding: 22px 20px 0;
		margin: 0 20px 30px;
		border: 1px solid #EA5EAE;
	}

	.index .sec02 .content > ul > li:nth-child(2n) li:last-child{
	}

	.index .sec02 .content > ul > li:nth-child(2n) .photoBox{
		padding-bottom: 0;
	}

	.index .sec02 .content > ul > li:nth-child(3) img{
		width: 60%;
	}

	.index .sec02 ul ul li .ttl{
		margin-bottom: 20px;
		line-height: 1.71;
		font-size: 	1.8rem;
		padding-left: 0;
		cursor: pointer;
		background: url("../img/sp_icon04.png") no-repeat right center;
		background-size: 22px 22px;
		transition: 0.5s;
	}

	.index .sec02 ul ul li .ttl.on{
		background: url("../img/sp_icon04_on.png") no-repeat right center;
		background-size: 22px 22px;
	}
	
	.index .sec02 ul ul li .txt{
		display: none;
		line-height: 1.625;
		font-size: 1.6rem;
		letter-spacing: 0.8px;
		padding-top: 17px;
		padding-bottom: 22px;
		border-top: 1px solid rgba(234, 94, 94,0.2);
	}
	
	.index .sec02 .video {
		margin: 0 20px;
	}
	
	.index .sec02 .video .content{
		display: block;
		margin-bottom: 0;
	}

	.index .sec02 .video iframe{
		width: 100%;
		height: 200px;
		margin-bottom: 25px;
	}
	.index .sec02 .video iframe:last-child{
		margin-bottom: 0;
	}
	
	.index .sec03 {
		background:linear-gradient(180deg,#fff 0,#fff 21px,#F6F6F6 21px,#F6F6F6 164px, #fff 164px,#fff 100%);	
	}

	.index .sec03 h3{
		padding-bottom: 58px;
		margin-bottom: 55px;
	}

	.index .sec03 table{
		margin: 0 20px 83px;
	}

	.index .sec03 th{
		font-size: 1.5rem;
		padding: 40px 0 40px 10px;
		width: 101px;
		line-height: 1.53;
		letter-spacing: 1.5px;
	}

	.index .sec03 td{
		vertical-align: middle;
		font-size: 1.5rem;
		background: #fff;
		line-height: 1.53;
		padding: 35px 10px 30px ;
		letter-spacing: 1.5px;
	}

	.index .sec03 td li{
		text-indent: -1em;
		margin-left: 1em;
	}
	

	.index .sec03 h4{
		font-size: 2.2rem;
		letter-spacing: 3.23px;
	}

	.index .sec03 h4:after{
		bottom: -10px;
	}
	
	.index .sec03 .clinic {
		display: block;
		margin: 0 20px 54px;
	}

	.index .sec03 .clinic li{
		width: 100%;
		padding: 35px 20px;
		margin-bottom: 50px;
	}

	.index .sec03 .clinic li img{
		margin-bottom: 28px;
	}

	.index .sec03 .clinic .clinicName{
		font-size: 2.2rem;
		letter-spacing: 3.3px;
		margin-bottom: 37px;
	}

	.index .sec03 .clinic iframe{
		margin-bottom: 20px;
		width: 100%;
		height: 314px;
	}

	.index .sec03 .clinic .txt{
		line-height: 1.625;
	}

	.index .sec03 .contact {
		padding: 30px 0 36px;
		margin-bottom: 0;
	}

	.index .sec03 .contact h4{
		letter-spacing: 0;
		font-size: 1.7rem;
		margin-bottom: 23px;
	}

	.index .sec03 .contact p{
		text-align: center;
		display: block;
	}

	.index .sec03 .contact p span{
		display: block;
	}
	
	.index .sec03 .contact p img{
		margin: 0 17px 0 0;
		width: 31px;
		height: auto;
	}

	.index .sec03 .contact .index .secretariat{
		font-size: 2.4rem;
		letter-spacing: 3.6px;
		margin-bottom: 7px;
	}

	.index .sec03 .contact .tel{
		font-size: 3.4rem;
		letter-spacing: 5.1px;
		color: #004098;
	}

	.index .sec03 .linkBox{
		display: block;
		margin-bottom: 40px;
	}

	.index .sec03 .linkBox .box01 a{
		display: block;
		width: 100%;
		height: 155px;
		padding-top: 31px;
		font-size: 1.9rem;
		letter-spacing: 0.76px;
	}

	.index .sec03 .linkBox .box01 img{
		width: 42px;
		margin-bottom: 12px;
	}

	.index .sec03 .linkBox .box02 a{
		display: block;
		border: 1px solid #e5e5e5;
		background: #F6F6F6;
		width: 100%;
		height: 155px;
		padding: 26px 0 0;
	}

	.index .sec03 .linkBox .box02 .inner{
		width: 320px;
		margin: 0 auto;
	}
	
	.index .sec03 .linkBox .box02 .imgBox{
		display: flex;
		margin-bottom: 13px;
	}

	.index .sec03 .linkBox .box02 .photo{
		width: 66px;
	}

	.index .sec03 .linkBox .box02 .imgBox img{
		width: 100%;
	}

	.index .sec03 .linkBox .box02 .txtBox{
		width: 250px;
	}
	
	.index .sec03 .linkBox .box02 .txt01{
		letter-spacing: 1.56px;
		font-size: 1.3rem;
		margin-bottom: 6px;
	}

	.index .sec03 .linkBox .box02 .txt01 span{
		letter-spacing: 0;
		font-size: 1.69rem;
		font-family: "Arial";
	}

	.index .sec03 .linkBox .box02 .txt02{
		border: 1.9px solid #DD2771;
		background: #fff;
		text-align: center;
		font-size: 2.35rem;
		padding: 9px 0 8px;
		box-sizing: border-box;
	}

	.index .sec03 .linkBox .box02 .txt03{
		width: 100%;
		text-align:left;
		font-size: 1.3rem;
	}	
	
	#anc01,#anc02,#anc03{
		padding-top: 80px;
		margin-top: -80px;
	}
}

/***************************************
			contact
***************************************/
.contact #main{
	padding-top: 160px;
}

.contact #main .txt{
	line-height: 2;
	margin-bottom: 92px;
}

.contact #main h3{
	margin-bottom: 70px;
}

.contact #main a {
	font-weight: 500;
	text-decoration: underline;
	letter-spacing: 1.5px;
	background: #ED0093;
	color: #fff;
	width: 350px;
	line-height: 45px;
	display: block;
	text-align: center;
	margin-bottom: 198px;
}

.contact .corTxt{
	color: #ED0093 ;
}

@media all and (max-width: 767px) {
	.contact #main{
		padding-top: 36px;
	}
	
	.contact .content {
		padding: 0 20px ;
		box-sizing: border-box;
	}

	.contact #main .txt{
		line-height: 1.8;
		margin-bottom: 60px;
	}

	.contact #main h3{
		margin-bottom: 33px;
	}

	.contact #main a {
		margin: 0 auto 105px;
		width: 80%;
		line-height: 50px;
	}	
}

/***************************************
			mailForm
***************************************/
.contact .mailForm table {
	width: 100%;
	border-collapse: collapse;
	border-bottom: 1px dashed #E8E8E8;
	margin-bottom: 68px;
}

.contact .mailForm th,
.contact .mailForm td {
	line-height: 1.5;
	border-top: 1px dashed #E8E8E8;
	box-sizing: border-box;
	word-break: break-all;
	letter-spacing: 1px;
}

.contact .mailForm th{
	font-weight: normal;
	width: 20%;
	padding: 40px 0 41px;
}

.contact .mailForm td {
	padding: 33px 0;
	width: 100%;
}

.contact .mailForm td select{
	padding: 6px;
	width: 550px;
	height: 36px;
	border: none;
	background: #FAF8F3;
	font-size:1.4rem;
}

.contact .mailForm td .radioUl{
	display: flex;
}

.contact .mailForm td .radioUl li{
	margin-right: 48px;
}

.contact .mailForm td .radioUl input[type="radio"]{
	vertical-align: unset;
}

.contact .mailForm td textarea,
.contact .mailForm td input[type="text"],
.contact .mailForm td input[type="email"],
.contact .mailForm td input[type="tel"] {
	padding: 6px;
	width: 550px;
	height: 36px;
	border: none;
	background: #FAF8F3;
	box-sizing: border-box;
	-webkit-appearance: none;
	font-size:1.5rem;
}

.contact .mailForm .txtArea th ,
.contact .mailForm .privacy th {
	vertical-align: text-top;
}

.contact .mailForm td textarea {
	width: 100%;
	height: 250px;
	font-size:15px;
	vertical-align: top;
}

.contact .mailForm .w300 input{
	width: 300px !important;
}

.contact .mailForm .w100 input{
	width: 100px !important;
	margin-right: 16px;
}

.contact .mailForm .w150 input,
.contact .mailForm .w150 select{
	width: 150px !important;
}

.contact .mailForm .w400 input{
	width: 400px !important;
}

.contact .mailForm .submit {
	width: 100%;
	margin: 0 auto 148px;
	display:flex;
	justify-content: center;
}

.contact .mailForm .submit li {
	margin: 0 7px;
	width: 200px;
}

.contact .mailForm .submit li input {
	text-align: center;
	color: #fff;
	border: none;
	-webkit-appearance: none;
	cursor: pointer;
	width: 100%;
	line-height: 45px;
	display: block;
	text-decoration: none;
	box-sizing: border-box;
	font-size:16px;
}

.contact .mailForm .submit li input:hover {
	opacity: 0.7;
}

.contact .mailForm .submit li input[type="reset"] {
	background: #A5A5A5;
}

.contact .mailForm .submit li #edit[type="submit"] {
	background: #A5A5A5;
}

.contact .mailForm .submit li input[type="submit"] {
	background: #ED0093;
}

.contact .mailForm .submit li input.back[type="submit"] {
	background: #A5A5A5;
}

.errorMsg {
	margin-bottom: 15px;
	color: #F00;
}

.contact .mailForm .privacy td{
	padding-bottom: 23px;
}

.contact .mailForm .privacy_policy{
	height: 140px;
	padding: 10px 14px;
	font-size: 14px;
	box-sizing: border-box;
	overflow:auto;
	background: #FAF8F3;
	margin-bottom: 16px;
}

.contact .mailForm .privacy_policy p{
	margin-bottom: 0 ;
	line-height:2;
}

.contact .mailForm .privacy_policy .txt_padding{
	margin-bottom: 12px ;
}

.contact .mailForm .scrollWrap {
	background: #FAF8F3;	
	padding:23px 24px 23px 28px;
	box-sizing: border-box;
	margin-bottom:19px;
	overflow: auto;
}
/*スクロールバーの幅*/
::-webkit-scrollbar {
    width: 13px;
}
/*スクロールバーのレール*/
::-webkit-scrollbar-track {
  background: #fff;
}
/*スクロールバーのつまみ*/
::-webkit-scrollbar-thumb {
  background: #ED0093;
}

/* チェックボックス01 */
input[type=checkbox] {
    display: none;
}
.checkbox01 {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 5px 30px;
    position: relative;
    width: auto;
}
.checkbox01::before {
    background: #fff;
    border: 1px solid #3C3C3C;
    content: '';
    display: block;
    height: 16px;
    left: 0px;
    margin-top: -8px;
    position: absolute;
    top: 44%;
    width: 16px;
}
.checkbox01::after {
    border-right: 3px solid #323232;
    border-bottom: 3px solid #323232;
    content: '';
    display: block;
    height: 9px;
    left: 5px;
    margin-top: -7px;
    opacity: 0;
    position: absolute;
    top: 44%;
    transform: rotate(45deg);
    width: 5px;
}
input[type=checkbox]:checked + .checkbox01::after {
    opacity: 1;
}

@media all and (-ms-high-contrast:none){
	.contact .mailForm .submit li input {
		padding: 16px 5px 12px;
	}
}

@media all and (max-width: 767px) {
	.contact .mailForm th,
	.contact .mailForm td {
		padding: 26px 0 0 !important;
		width: 100% !important;
		float: left !important;
		text-align: left;
	}
	
	.contact .mailForm td {
		padding: 10px 0 25px !important;
		border-top: none;
		border-bottom: none;
	}

	.contact .mailForm td select{
		height: 35px;
		width:100%
	}


	.contact .mailForm td textarea,
	.contact .mailForm td input[type="text"],
	.contact .mailForm td input[type="email"],
	.contact .mailForm td input[type="tel"] {
		height: 35px;
		width:100%;
	}

	.contact .mailForm .w300 input,
	.contact .mailForm .w400 input{
		width: 100% !important;
	}
	
	.contact .mailForm .w100 input{
		width: 100px !important;
		margin-right: 16px;
	}
	
	.contact .mailForm .w150 input,
	.contact .mailForm .w150 select{
		width: 150px !important;
	}

	.contact .mailForm td textarea {
		width: 100%;
		height: 150px;
	}
	
	.contact .mailForm .submit {
		margin: 0 auto;
	}
	.contact .mailForm .submit li{
		width: 80%;
	}

	.contact .mailForm .submit li input {
		font-size: 1.5rem;
		box-sizing: border-box;
		line-height: 50px;
	}

	.errorMsg {
		margin-bottom: 15px;
		color: #F00;
	}

	.contact .mailForm .privacy td{
		padding-bottom: 26px;
	}

	.contact .mailForm .privacy_policy{
		height: 98px;
		padding-right:0;
	}

	.contact .mailForm .privacy_policy p{
		font-size: 1.3rem;
		line-height:1.53;
		margin-right: 18px;
	}
	
	.contact .mailForm .scrollWrap {
		padding:15px 16px 15px 23px;
		margin-bottom:16px;
	}
	/*スクロールバーの幅*/
	::-webkit-scrollbar {
	    width: 13px;
	}
	/*スクロールバーのレール*/
	::-webkit-scrollbar-track {
	}
	/*スクロールバーのつまみ*/
	::-webkit-scrollbar-thumb {
	}

	/* チェックボックス01 */
	input[type=checkbox] {
	}
	.checkbox01 {
	    padding: 0px 28px;
	}
	.checkbox01::before {
	    height: 15px;
	    top: 44%;
	    width: 15px;
	}
	.checkbox01::after {
	    border-right: 2px solid #323232;
	    border-bottom: 2px solid #323232;
	}
}

@media all and (max-width: 370px) {
		.contact .mailForm td .button {
			margin-left: 5px;
			font-size: 1.2rem;
		}
}

/***************************************
			confirm
***************************************/
.contact.confirm .txt {
	margin-bottom: 108px;
}

.contact.confirm table {
	margin-bottom: 74px;
}

.contact.confirm .submit {
	margin-bottom: 197px;
}
@media all and (max-width: 767px) {

	.contact.confirm .txt {
		margin-bottom: 72px;
	}
	.contact.confirm .submit {
		margin-bottom: 108px;
	}
	.contact.confirm table {
		margin-bottom: 51px;
	}
	.contact.confirm .mailForm th,
	.contact.confirm .mailForm td {
		padding: 26px 0 0 !important;
		width: 100% !important;
		float: left !important;
	}
	
	.contact.confirm .mailForm td {
		padding: 20px 0 34px !important;
		border-top: none;
		border-bottom: none;
	}
}
/***************************************
			thanks
***************************************/
.contact .thanks {
	padding-top: 160px;
    text-align: center;
    padding-bottom: 118px;
    line-height: 2.375;
}

.contact .thanks a {
	font-weight: 500;
	letter-spacing: 1.5px;
	background: #ED0093;
	color: #fff;
	width: 250px;
	line-height: 45px;
	display: block;
	text-align: center;
	margin: 0 auto 533px;
}

@media all and (max-width: 767px) {
	
	.contact .thanks {
		padding-top: 50px;
		padding-bottom: 20px;
		line-height: 1.8;
	}
	
	.contact .thanks a {
		width: 80%;
		margin-bottom: 90px;
		line-height: 50px;
	}
}