@charset "utf-8";
/*
01.base
02.header
03.gnav
04.breadcrumb
05.title
06.parts
└list
└text
└punctuation
└common layout contents_top
└common layout sec_photoTextBox
└other
07.btn
08.table & dl
09.cms
footer
*/


/*01.base
************************************************************************************/
*{ margin: 0px; padding: 0px; }
img{border: 0;}
a {outline: none;}
ul,ol { list-style-type: none;}
A:link{color:#2f3640;}
A:visited{color: #2f3640;}
A:active{color:#2f3640;}
A:hover{color:#666;}

@media screen and (min-width: 1024px){
	article a{
		-webkit-transition: all .3s ease-in-out;
		-moz-transition: all .3s ease-in-out;
		-o-transition: all .3s ease-in-out;
		transition: all .3s ease-in-out;
	}
	article a:hover{
		color:#666;
	}
}
::selection,
::-moz-selection{
	background: #ff825a;
	color: #fff;
}

html{ font-size: 16px; }
table{ border-collapse:collapse; }
input,textarea{
	font-family: kinto-sans, sans-serif;
	font-size: 100%;
	font-style: normal;
	font-weight: 400;
}
body{
	font-family: kinto-sans, sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.8;
	overflow-x:hidden;
}
strong{
	font-weight: 700;
}

.wrapper{
	margin: 0 auto;
	width: 98%;
	max-width: 1200px;
	text-align:left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
#container{
	text-align: left;
}


/* ページスクロールボタン */
#topcontrol{
	z-index: 300;
	right: 10px !important;
	bottom: 70px;
}


#topcontrol span{
	display: none;
}

@media screen and (min-width: 1025px) {
	#topcontrol span{
		display: none;
	}
	.sp{
		display: none;
	}
}
@media screen and (max-width: 1024px){
	#container{
		min-width: auto;
		max-width: initial;
        overflow: hidden;
	}
	.sp{
		display: none;
	}
	.wrapper{
		width: 94% !important;
	}
	html{ font-size: 14px; }
	.sp{
		display: block;
	}
	tr.sp,
	th.sp,
	td.sp{
		display: block;
	}
	.pc{
		display: none;
	}
	tr.pc,
	th.pc,
	td.pc{
		display: none;
	}
	#topcontrol img{
		width: 50px !important;
		height: auto !important;
	}
}


/*02.header
************************************************************************************/
#header {
	width: 100%;
	height: 120px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.header__sitetitle{
	display: block;
	margin-right: auto;
}
.header__sitetitle img{
	width: auto;
	height: auto;
	max-height: 110px;
	vertical-align: middle;
}

.header__comment{
	font-weight: 100;
	line-height: 120px;
	font-size: 0.875em;
	padding-right: 1em;
}

.header__links{
	width: 400px;
	display: flex;
	flex-wrap: wrap;
	font-size: 0.938em;
	font-family: ten-mincho, serif;
}
.header__links > li{
	width: 200px;
	height: 120px;
	display: table;
}
.header__links > li a{
	color: #FFF;
	display: table-cell;
	vertical-align: bottom;
	width: 100%;
	height: 120px;
	text-align: center;
	padding: 10px;
	box-sizing: border-box;
	text-decoration: none;
}
.header__links > li a img{
	display: block;
	width: auto;
	height: auto;
	margin: auto;
	vertical-align: middle;
}
.header__links > li a p{
	margin-top: .4em;
}
.header__link__univ {
	background: #3865A1;
}

.header__link__hosp {
	background: #003376;
}
@media screen and (max-width: 1300px){
	#header {
		height: auto;
		padding-top: .4em;
	}
	.header__sitetitle{
		text-align: center;
		width: 100%;
	}
	.header__comment{
		display: none;
	}

	.header__links{
		width: 100%;
		margin-top: 20px;
	}
	.header__links > li{
		width: 50%;
		height: auto;
		display: table;
	}
	.header__links > li a{
		display: inline-block;
		height: auto;
	}
	.header__links > li a img{
		display: inline-block;
	}
	.header__links > li a p{
		display: inline-block;
		padding: 0 0 0 .5em;
	}
}
@media screen and (max-width: 768px){
	#header{
		display: block;
		position: relative;
		height: 80px;
		padding: 0;
	}
	.header__links{
		display: none;
	}
	.header__sitetitle{
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		padding: 0 100px 0 0;
		width: 100%;
		text-align: center;
		box-sizing: border-box;
	}
	.header__sitetitle img{
		vertical-align: middle;
		max-height: 80px;
		max-width: 100%;
		height: auto;
		width: auto;
	}
}

/*03.gnav
************************************************************************************/
#gnav {
	border-top: 1px solid #CCCCCC;
	border-bottom: 1px solid #CCCCCC;
}

.gnav__wrap {
	display: table;
	width: 100%;
}

.gnav__menu {
	border-right: 1px solid #CCCCCC;
	box-sizing: border-box;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
	min-width: 10%;
}
.gnav__menu:last-child{
	border: 0;
}
.gnav__menu > a{
	display: block;
	text-decoration: none;
	color: #003376;
	font-weight: bold;
	position: relative;
	z-index: 2;
	padding: 1em 0;
	overflow: hidden;
}
@media screen and (min-width: 1301px){
	.gnav__menu > a,
	.gnav__menu > a::before,
	.gnav__menu > a::after {;
	  box-sizing: border-box;
	  -webkit-transition: all .3s;
	  transition: all .3s;
	}
	.gnav__menu > a::before,
	.gnav__menu > a::after{
	  position: absolute;
	  z-index: -1;
	  display: block;
	  content: '';
	}

	.gnav__menu > a::after {
		top: -100%;
		width: 100%;
		height: 100%;
	}
	.gnav__menu > a:hover::after {
		top: 0;
		background-color: #47bbd0;
	}

	.gnav__menu > a:hover{
		color: #FFF;
		text-decoration: none;
	}
}
@media screen and (max-width: 768px){
	#gnav{
		display: none;
	}
}

/*megamenu
----------------------------------------------------------------------*/
nav#gnav ul li ul{
	width: auto;
}

nav#gnav ul li ul li,
nav#gnav ul li ul li a{
	line-height: normal;
	height: auto;
	margin: 0;
	padding: 0;
	background: none;
}

nav#gnav .gnav__wrap li {
	height: auto;
}
nav#gnav .gnav__wrap li li a{
	line-height: normal;
}
nav#gnav .gnav__wrap li li:hover {
	background: none;
}
nav#gnav .gnav__wrap > li:hover .megamenu {
	max-height: 9999px;
	opacity: 1;
	display: block;
}

nav#gnav .gnav__wrap li .megamenu{
	position: absolute;
	top: 180px;
	left: 50%;
	transform: translateX(-50%);
	width: 90%;
	z-index: 999;
	max-height: 0;
	opacity: 0;
	border: 3px solid #003376;
	background-color: rgba( 0, 51, 118, 0.9 );
	color: #FFF;
	transition: all .2s ease-in;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	overflow: hidden;
}
@media screen and (max-width: 1300px){
	nav#gnav .gnav__wrap li .megamenu{
		top: 270px;
	}
}
nav#gnav .gnav__wrap li .megamenu .title{
	padding: 1em;
	width: 100%;
	font-weight: bold;
	line-height: 1;
	border-bottom: 1px solid #003376;
	box-sizing: border-box;
}

nav#gnav .gnav__wrap li .megamenu ul{
	padding: 1.5em 2em;
	background: #FFF;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	grid-template-rows: auto;
	column-gap: 20px;
	row-gap: 20px;
	align-items: stretch;
}
nav#gnav .gnav__wrap .megamenu .megamenu-inner li {
	height: auto;
}
nav#gnav .gnav__wrap .megamenu .megamenu-inner li .thum img{
	width: 100%;
	height: 170px;
	object-fit: cover;
	opacity: 1;
}
nav#gnav .gnav__wrap .megamenu .megamenu-inner li:hover .thum img{
	opacity: .7;
}
nav#gnav .gnav__wrap .megamenu .megamenu-inner li .thum{
	margin: 0 0 .9em;
	line-height: 0;
	background: #000;
	border-radius: 5px;
	overflow: hidden;
}

nav#gnav .gnav__wrap .megamenu .megamenu-inner li a,
nav#gnav .gnav__wrap .megamenu .megamenu-inner li .thum img{
	display: block;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
	text-decoration: none;
}
nav#gnav .gnav__wrap .megamenu .megamenu-inner li span{
	background: url("../../img/common/ar_s.svg") no-repeat right .4em;
	background-size: 7px auto;
	padding: 0 15px 0 0;
	display: inline-block;
}
nav#gnav .gnav__wrap .megamenu .megamenu-inner > li > a{
	margin-bottom: 0;
}


/*04.breadcrumb
************************************************************************************/
#breadcrumb{
	padding: 1em 0;
	width: 100%;
	border-bottom: 1px solid #CCCCCC;
	font-size: 0.875em;
}
#breadcrumb ol{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	margin: 0 1em;
}
#breadcrumb ol li:after{
	content: " > ";
	display: inline-block;
	vertical-align: middle;
	margin: 0 .5em;
	padding: 0;
}
#breadcrumb ol li:last-child:after{
	content: "";
	margin-right: 0;
}
#breadcrumb ol li a{
	color: #000;
	text-decoration: none;
}
@media screen and (max-width: 768px){

}


/*05.title
************************************************************************************/
.pagetitleBox{
	width: 100%;
	height: 250px;
	position: relative;
	background: #000;
}
.pagetitleBox img{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 250px;
	object-fit: cover;
	z-index: 1;
	opacity: 0.6;
}
.pagetitleBox .pagetitle{
	margin: 0;
	padding: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	color: #FFF;
	font-size: 2.25em;
	z-index: 10;
}

.firstcopy{
	font-size: 1.875em;
	font-weight: bold;
}

.lv_h1_wrap{
	border-left: 1px solid #CCCCCC;
	border-right: 1px solid #CCCCCC;
	margin: 0 auto;
	box-sizing: border-box;
	width: 98%;
	max-width: 1200px;
}
.lv_h1{
	border-left: 5px solid #003376;
	padding-left: .9em;
	font-size: 2.25em;
	line-height: 3em;
}

.lv_h2{
	font-size: 1.875em;
	font-weight: bold;
	position: relative;
	text-align: center;
	padding-bottom: .8em;
	margin-bottom: 1.5em;
	line-height: 1;
}
.lv_h2:after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 2em;
	height: 1px;
	background: #003376;
	display: block;
}

.lv_h3{
	font-size: 1.313em;
	font-weight: bold;
	position: relative;
	margin: 2.5em 0 1.5em;
	padding: 0 0 0 40px;
}
.lv_h3:before{
	content: "";
	display: block;
	width: 30px;
	height: 1px;
	background: #000;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.catchcopy{
	font-weight: bold;
	text-align: center;
	font-size: 1.5em;
}
@media screen and (max-width: 768px){
	.pagetitleBox{
		height: 150px;
	}
	.pagetitleBox img{
		height: 150px;
	}
	.pagetitleBox .pagetitle{
		font-size: 1.714em;
	}
	.firstcopy{
		font-size: 1.286em;
	}
	.lv_h1{
		font-size: 1.714em;
		line-height: 1.5;
		padding: .5em .5em .5em .9em;
	}
	.lv_h3{
		font-size: 1.286em;
	}
	.catchcopy{
		font-size: 1.286em;
	}
	.lv_h2{
		line-height: 1.2;
		font-size: 1.5em;
	}
	.firstcopy br,
	.catchcopy br{
		display: none;
	}
}

/*06.parts
************************************************************************************/
/*list
----------------------------------------------------------------------*/
ul.ar li{
	background: url("../../img/common/ar_s.svg") no-repeat left 0.4em;
	padding: 0 0 0 20px;
	margin: 0 0 .7em;
}
ul.ar li:last-child{
	margin-bottom: 0;
}

ul.astalisk li{
	padding: 0 0 0 1em;
	margin: 0 0 .7em;
	position: relative;
}
ul.astalisk li:before{
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
	width: 1.2em;
	height: 1.2em;
	vertical-align: top;
}
ul.astalisk li:last-child{
  margin-bottom: 0;
}

ol.number{
	margin: 15px 0;
	padding: 0;
	counter-reset:number;
	list-style:none;
}
ol.number > li{
	margin: 0 0 2em 2.5em;
	background: none;
	list-style-type: none;
}
ol.number > li:last-child{
	margin: 0 0 0 2.5em;
}
ol.number > li:before {
	counter-increment: number;
	content: counter(number);
	margin: -.3em 7px 0 -2.5em;
	width: 2em;
	height: 2em;
	background: #003376;
	color: #FFF;
	border-radius: 50%;
	text-align: center;
	line-height: 2em;
	float: left;
}
ol.number > li ol{
	counter-reset:number;
	margin: 1em 0 0 0em;
}
ol.number > li li{
	margin: 0 0 1em 2em;
}
ol.number > li li:before {
	counter-increment: number;
	content: counter(number);
	font-size: 0.875em;
	margin: -.1em 7px 0 -2em;
	width: 1.8em;
	height: 1.8em;
	background: #3865a1;
	color: #FFF;
	border-radius: 50%;
	text-align: center;
	line-height: 1.8em;
	float: left;
}
ol.number > li p{
	margin: 0;
	padding: 0;
	zoom: 1;
	overflow: auto;
	text-indent: 0;
}

/*text
----------------------------------------------------------------------*/
.textCenter{text-align: center;}
.textRight{text-align: right;}
.bold{font-weight: 700;}
.color_red{color: #CF0104;}

.lf{
	float: left;
	margin: 0 20px 20px 0;
}
.rf{
	float: right;
	margin: 0 0 20px 20px;
}
@media screen and (max-width: 1024px){
	.lf,
	.rf{
		float: none;
		margin: 20px auto 20px;
		display: block;
		margin: auto;
	}
}
@media screen and (max-width: 768px){
	img.lf,
	img.rf{
		max-width: 100%;
		height: auto;
	}
}
.textCenter img{
	max-width: 100%;
	height: auto;
}

/*punctuation
----------------------------------------------------------------------*/
main > article{
	position: relative;
}
main > article:before{
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 35%;
	height: 90%;
	background: url("../../img/common/bg_dot.png") repeat;
	z-index: -1;
}
.section{
	border-top: 1px solid #CCCCCC;
	width: 100%;
}
.section > .wrapper{
	border-left: 1px solid #CCCCCC;
	border-right: 1px solid #CCCCCC;
	padding: 40px;
}

.section.contents_menu_area > .wrapper{
	padding: 60px 0;
}

.section.blue{
	border-top: 1px solid #CCCCCC;
	width: 100%;
	background: url("../../img/common/bg_leftup.svg") no-repeat left top, url("../../img/common/bg_rightdwn.svg") no-repeat right bottom #F2F7FC;
}
.section.blue > .wrapper{
	border: 0;
}

article .section:first-child{
	border-top: 0;
}

.text{
	padding: 20px 0;
	display: block;
}
.text_inner{
	padding: 20px;
	display: block;
}

.text:after,
.text_inner:after{
	content: "";
	display: block;
	clear: both;
	height: 1px;
	overflow: hidden;
}
* html .text,
* html .text_inner{
	height: 1em;
}

.text p,
.text_inner p{
	padding-bottom: 1em;
}
.text p:last-child,
.text_inner p:last-child{
	padding-bottom: 0;
}

.flexbox{
	display: flex;
	flex-wrap: wrap;
}

figure{
	background: #f1f9fa;
	border: 1px solid #CAE2E5;
	margin: 30px auto;
	max-width: 80%;
	min-width: 50%;
	display: block;
	padding: 40px;
	box-sizing: border-box;
	text-align: center;
}
.figure_wrap figure{
	max-width: none;
	min-width: auto;
	width: 48%;
	display: flex;
	flex-wrap: wrap;
	margin: 0 1%;
}
figure img{
	max-width: 100%;
	height: auto;
}
figure figcaption{
	text-align: center;
	padding-top: .8em;
	font-size: 0.875em;
}
@media screen and (max-width: 1024px){
	.section > .wrapper{
		padding: 40px 20px;
	}
}
@media screen and (max-width: 768px){
	.section > .wrapper{
		padding: 30px 10px;
	}
	figure{
		max-width: 100%;
		padding: 20px;
	}
}

/*common layout contents_top
----------------------------------------------------------------------*/
.contents_top .sec_ctop_main{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.contents_top .sec_ctop_main .image{
	width: 350px;
}
.contents_top .sec_ctop_main .image img{
	max-width: 100%;
	height: auto;
}
.contents_top .sec_ctop_main .details{
	width:calc(calc(100% - 350px) - 30px);
	padding-left: 30px;
	box-sizing: border-box;
}
@media screen and (max-width: 768px){
.contents_top .sec_ctop_main{
	display: block;
}
.contents_top .sec_ctop_main .image{
	width: auto;
	text-align: center;
}
.contents_top .sec_ctop_main .image img{
	max-width: 100%;
	height: auto;
}
.contents_top .sec_ctop_main .details{
	width: auto;
	padding: 30px 0 0;
}
}

/*common layout sec_photoTextBox
----------------------------------------------------------------------*/
.sec_photoTextBox_wrap{
}
.sec_photoTextBox_wrap .photo{
	text-align: center;
}
.sec_photoTextBox_wrap .photo img{
	width: 70%;
	height: 540px;
	object-fit: contain;
}
@media screen and (max-width: 768px){
.sec_photoTextBox_wrap .photo img{
	width: auto;
	max-width: 90%;
	height: auto;
	object-fit: cover;
}
}
.sec_photoTextBox_wrap .textarea{
	background: #FFF;
	padding: 50px;
	box-sizing: border-box;
	box-shadow: 0px 0px 12px #00000029;
	width: 100%;
	box-sizing: border-box;
	position: relative;
	z-index: 10;
	top: -40px;
}
.sec_photoTextBox_wrap .textarea.text{
	padding: 50px;
}

/*other
----------------------------------------------------------------------*/
/*google fonts*/
.material-icons,
.material-symbols-outlined{
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'liga';
	vertical-align: middle;
}

/*outlink*/
.outlink{
	position: relative;
	display: inline-block;
	padding-right: 20px;
}
.outlink:after{
	content: "open_in_new";
	display: block;
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 10;
	width: 20px;
	height: 30px;
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	font-size: 17px;	/* Preferred icon size */
	line-height: 30px;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;
	color: #828282;

	/* Support for all WebKit browsers. */
	-webkit-font-smoothing: antialiased;
	/* Support for Safari and Chrome. */
	text-rendering: optimizeLegibility;

	/* Support for Firefox. */
	-moz-osx-font-smoothing: grayscale;

	/* Support for IE. */
	font-feature-settings: 'liga';
}

/*pdf*/
.icon-pdf{
	position: relative;
	display: inline-block;
	padding-left: 20px;
}
.icon-pdf:before,
.icon-pdf.after:before{
	content: "picture_as_pdf";
	display: block;
	position: absolute;
	left: 10px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 10;
	width: 20px;
	height: 30px;
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	font-size: 17px;	/* Preferred icon size */
	line-height: 30px;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;
	color: #db1e1e;

	/* Support for all WebKit browsers. */
	-webkit-font-smoothing: antialiased;
	/* Support for Safari and Chrome. */
	text-rendering: optimizeLegibility;

	/* Support for Firefox. */
	-moz-osx-font-smoothing: grayscale;

	/* Support for IE. */
	font-feature-settings: 'liga';
}
.icon-pdf.after:before{
	left: inherit;
	right: 0;
}
.icon-pdf.after{
	padding-right: 25px;
}

/*parts*/
a.tel{}
@media screen and (min-width: 1025px) {
	a.tel{
		pointer-events: none;
		cursor: default;
		text-decoration: none;
		color: #000;
	}
}

/*07.btn+contentsmenu
************************************************************************************/
.btnsBox {
	text-align: center;
	margin: 50px 0;
}
.btnsBox p{
	display: inline-block;
	margin: 15px;
}
.btnMore,
.btnPrev{
	margin: 40px 0 0 0;
}
.btnMore a,
.btnPrev a{
	color: #000;
	border: 1px solid #003376;
	text-decoration: none;
	padding: 1em 0 1em 2em;
	display: block;
	width: 320px;
	position: relative;
	background: #FFF;
	text-align: left;
	box-sizing: border-box;
}
.btnPrev a{
	padding: 1em 2em 1em 0em;
	text-align: right;
}
.btnMore a:after{
	content: "";
	display: block;
	height: 1px;
	width: 2em;
	background: #003376;
	position: absolute;
	right: -.7em;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.btnPrev a:after{
	content: "";
	display: block;
	height: 1px;
	width: 2em;
	background: #003376;
	position: absolute;
	left: -.7em;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
@media screen and (min-width: 769px) {
	.btnMore a:hover,
	.btnPrev a:hover{
		background: #003376;
		color: #FFF;
	}
	.btnMore a:after,
	.btnPrev a:after{
		transition: all .3s ease-in-out;
	}
	.btnMore a:hover:after{
		right: -1.5em;
		background: #CCC;
	}
	.btnPrev a:hover:after{
		left: -1.5em;
		background: #CCC;
	}
}
@media screen and (max-width: 768px){
	.btnMore a,
	.btnPrev a{
		width: 290px;
	}
}

/*上記moreボタンのliタイプ
----------------------------------------------------------------------*/
ul.btnsList{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: auto;
	column-gap: 40px;
	row-gap: 20px;
	align-items: stretch;
	margin-top: 40px;
}
ul.btnsList li a{
	color: #000;
	border: 1px solid #003376;
	text-decoration: none;
	padding: 1em 0 1em 2em;
	display: block;
	position: relative;
	background: #FFF;
}
ul.btnsList li a:after{
	content: "";
	display: block;
	height: 1px;
	width: 2em;
	background: #003376;
	position: absolute;
	right: -.7em;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
@media screen and (min-width: 769px) {
	ul.btnsList li a:hover{
		background: #003376;
		color: #FFF;
	}
	ul.btnsList li a:after{
		transition: all .3s ease-in-out;
	}
	ul.btnsList li a:hover:after{
		right: -1.5em;
		background: #CCC;
	}
}

@media screen and (max-width: 768px){
	ul.btnsList{
		grid-template-columns: 1fr 1fr;
	}
}
@media screen and (max-width: 415px){
	ul.btnsList{
		grid-template-columns: 1fr;
	}
}

/*subcontents
----------------------------------------------------------------------*/
.subcontentsMenu {
	margin: 70px auto 50px;
	display: flex;
	flex-flow: row wrap;
}

.subcontentsMenu__item {
	width: 30%;
	margin: 0 1.5% 5%;
	background: #FFF;
	padding: 25px;
	box-sizing: border-box;
	box-shadow: 0px 0px 12px #00000029;
}
@media screen and (min-width: 769px) {
	.subcontentsMenu__item{
		transition: all .3s ease-in-out;
	}
	.subcontentsMenu__item:hover{
		box-shadow: 0px 0px 5px #ededed;
	}
}
@media screen and (max-width: 768px){
	.subcontentsMenu__item {
		width: 97%;
		margin-bottom: 9%;
	}
}
@media screen and (max-width: 599px) {
	.subcontentsMenu__item {
		margin-bottom: 15%;
	}
}
.subcontentsMenu__item a{
	color: #000 !important;
	text-decoration: none;
	display: block;
}

.subcontentsMenu__item__photo {
	margin: -50px auto 25px;
	position: relative;
}
.subcontentsMenu__item__photo:before{
	content: "";
	display: block;
	padding-top: 70%;
}
.subcontentsMenu__item__photo img{
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	background-image: url(img/top_midorikai.jpg);
}
@media screen and (min-width: 769px) {
	.subcontentsMenu__item__photo img{
		transition: all .3s ease-in-out;
	}
	.subcontentsMenu__item:hover .subcontentsMenu__item__photo img{
		opacity: .7;
	}
}

/*----------------------------------------------------------------------*/
.subcontentsMenu__item__details {
}

.subcontentsMenu__item__detailsTitle {
	font-size: 1.313em;
	font-weight: bold;
	position: relative;
	text-align: center;
	padding-bottom: 1em;
	margin-bottom: 1em;
}
.subcontentsMenu__item__detailsTitle:after{
	position: absolute;
	content: "";
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 1.5em;
	height: 1px;
	background: #003376;
}

.subcontentsMenu__item__detailsText {
	font-size: 0.875em;
	text-align: center;
}


.subcontentsMenuText{
	width: 100%;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	border: 1px solid #003376;
	border-right: 0;
	border-bottom: 0;
	box-sizing: border-box;
	margin: 70px auto 50px;
}

.subcontentsMenuText__item{
	flex-grow: 1;
	width: calc(100% / 3);
	box-sizing: border-box;
	background: #FFF;
	border-right: 1px solid #003376;
	border-bottom: 1px solid #003376;
}
.subcontentsMenuText__item a{
	text-decoration: none;
	color: #003376;
	font-weight: bold;
	padding: 1.3em 2.5em 1.3em 1em;
	text-align: center;
	display: block;
	background: url("../../img/common/ar.svg") no-repeat right 1.5em center;
}
@media screen and (min-width: 769px) {
	.subcontentsMenuText__item a{
		transition: all .3s ease-in-out;
	}
	.subcontentsMenuText__item a:hover{
		background: url("../../img/common/ar.svg") no-repeat right 1em center;
	}
}
@media screen and (max-width: 768px){
	.subcontentsMenuText__item{
		width: calc(100% / 2);
	}
}
@media screen and (max-width: 599px) {
	.subcontentsMenuText__item{
		width: 100%;
	}
}

.inSubcontentsMenuText{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	column-gap: 40px;
	row-gap: 40px;
	align-items: stretch;
}
@media screen and (max-width: 768px){
	.inSubcontentsMenuText{
		grid-template-columns: 1fr;
		column-gap: 10px;
		row-gap: 10px;
	}
}

.inSubcontentsMenuText__item{
	box-sizing: border-box;
	background: #FFF;
	border-top: 1px solid #003376;
	border-bottom: 1px solid #003376;
}
.inSubcontentsMenuText__item a{
	text-decoration: none;
	color: #003376;
	font-weight: bold;
	padding: 1.7em 2.5em 1.7em 1em;
	text-align: center;
	display: block;
	background: url("../../img/common/ar.svg") no-repeat right 1.5em center #F2F7FC;
}
@media screen and (min-width: 769px) {
	.inSubcontentsMenuText__item a{
		transition: all .3s ease-in-out;
	}
	.inSubcontentsMenuText__item a:hover{
		background: url("../../img/common/ar.svg") no-repeat right 1em center #F2F7FC;
	}
}


/*08.table & dl
************************************************************************************/
/*table
----------------------------------------------------------------------*/
table.normal,
.cms-posts table{
	margin: 5px auto 15px auto;
	width: 100%;
	border: 0;
	border-top: 1px solid #003376;
}
table.normal.auto,
.cms-posts table.auto{
	width: auto;
	margin: 5px 0 15px 0;
}
table.normal caption,
.cms-posts table caption{
	padding: 5px 0;
	text-align: left;
	display: block;
	font-weight: bold;
}
table.normal caption:before,
.cms-posts table caption:before{
	content: "■";
}

table.normal thead th,
.cms-posts table thead th{
	padding: 15px;
	border-bottom: 1px solid #003376;
	text-align: center;
	font-weight:bold;
	color: #FFF;
	background: #3865a1;
}
table.normal thead th a,
.cms-posts table thead th a{
	color:#FFF;
}
table.normal tbody th,
.cms-posts table tbody th{
	padding: 15px;
	text-align: left;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #003376;
	background: #f0f8fc;
}
table.normal.auto th,
.cms-posts table.auto th{
	padding: 1px 2em;
}

table.normal tbody td,
.cms-posts table tbody td{
	padding: 15px;
	border-bottom: 1px solid #003376;
	border-right: 1px solid #ccc;
}
table.normal tbody td:last-child,
.cms-posts table tbody td:last-child{
	border-right: 0;
}
table.normal.center td{
	text-align: center;
}

.table_caption{
	text-align: right;
}

/*スクロール*/

.table_scroll .sp_comment{
	display: none;
}
.table_scroll .scroll_body{}


@media screen and (max-width: 768px){
	.table_scroll .sp_comment{
		display: block;
		padding: 10px;
		border: 1px solid #ededed;
		margin: 10px 0;
	}
	.table_scroll .sp_comment:after{
		content: "※表が見切れている場合は、横にスクロールしてご覧いただけます";
		color: #666;
		display: block;
	}
	.table_scroll .scroll_body{
		width: 97%;
		margin: auto;
		overflow-x: scroll;
		font-size: 14px !important;
	}
	.table_scroll .scroll_body table{
		width: 1200px !important;
		font-size: 14px !important;
	}
	.table_scroll .scroll_body table th,
	.table_scroll .scroll_body table td,
	.table_scroll .scroll_body table.main th,
	.table_scroll .scroll_body table.main td,
	.table_scroll .scroll_body table.normal th,
	.table_scroll .scroll_body table.normal td{
		word-break: break-all;
		font-size: 14px !important;
	}
}

/*sp*/

@media screen and (max-width: 768px){
	table.smartphone,
	.cms-posts .smartphone table{
		display: block;
		width: 100%;
		border: 0 !important;
	}
	table.smartphone thead,
	.cms-posts .smartphone table thead{
		display: none;
	}
	table.smartphone tbody,
	.cms-posts .smartphone table tbody{
		display: block;
		width: 100%;
	}
	table.smartphone tr,
	.cms-posts .smartphone table tr{
		display: block;
		width: 100%;
	}
	table.smartphone th,
	table.smartphone td,
	.cms-posts .smartphone table th,
	.cms-posts .smartphone table td{
		display: list-item;
		width: 100% !important;
		padding: 10px 10px !important;
		box-sizing: border-box;
		display: block;
	}
	table.smartphone th,
	.cms-posts .smartphone table th{
		list-style-type: none;
		display: block;
	}

	table.smartphone td,
	.cms-posts .smartphone table td{
		margin-left: 0;
		list-style-type: none;
		border: 0 !important;
	}
}

/*dl
----------------------------------------------------------------------*/
dl.dl_normal dt{
	background: #f2f7fc;
	position: relative;
	padding: .8em 1em .8em 1.5em;
	color: #003376;
	font-weight: bold;
	margin-bottom: .7em;
	font-size: 1.125em;
}
dl.dl_normal dt:before{
	position: absolute;
	height: 1px;
	width: 30px;
	background: #003376;
	content: "";
	left: -1em;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
dl.dl_normal dd{
	margin-bottom: 50px;
	padding: 0 1em;
}
dl.dl_normal dd p{
	padding-bottom: 1em;
}
dl.dl_normal dd p:last-child{
	padding-bottom: 0;
}

/*09.cms
************************************************************************************/
.cms-posts p,
.cms-posts ul,
.cms-posts ol,
.cms-posts blockquote{
	padding-bottom: 1em;
}
.wp-block-uagb-container p{
	padding-bottom: 0;
}
/*list*/
.cms-posts ul{
	list-style: disc;
	margin-left: 1em;
}
.cms-posts ul.ar{
	list-style: none;
}
.cms-posts ol{
	list-style: decimal;
	margin-left: 1em;
}
.cms-posts ol li,
.cms-posts ul li{
	margin-bottom: .7em;
}


/*blockquote*/
.cms-posts blockquote{
	max-width: 90%;
	position: relative;
	padding: 3em 2.5em 2em 3.5em;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	margin: 1em auto 2em;
	color: #000000;
	background-color: #eef5f7;
}
.cms-posts blockquote::before {
	display: inline-block;
	position: absolute;
	top: 1em;
	left: 1.5em;
	width: 1.5em;
	height: 1.5em;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%23000000%22%20d%3D%22M21.8%2012H18V9c0-1.7%201.3-3%203-3h.4c.6%200%201.1-.5%201.1-1.1V2.6c0-.6-.5-1.1-1.1-1.1H21c-4.1%200-7.5%203.4-7.5%207.5v11.2c0%201.2%201%202.2%202.2%202.2h6c1.2%200%202.2-1%202.2-2.2v-6C24%2013%2023%2012%2021.8%2012zM8.2%2012H4.5V9c0-1.7%201.3-3%203-3h.4C8.5%206%209%205.5%209%204.9V2.6c0-.6-.5-1.1-1.1-1.1h-.4C3.4%201.5%200%204.9%200%209v11.2c0%201.2%201%202.2%202.2%202.2h6c1.2%200%202.2-1%202.2-2.2v-6c.1-1.2-.9-2.2-2.2-2.2z%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	content: '';
	opacity: .4;
}
.cms-posts blockquote p {
	margin-top: 0;
}
.cms-posts blockquote cite {
	display: block;
	opacity: .9;
	font-size: .8em;
	text-align: right;
}

/*caption*/
.cms-posts .wp-caption{
	margin-bottom: 2em;
	background: #fff;
	border: 1px solid #ddd;
	padding: 10px;
	max-width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.cms-posts .wp-caption-text{
	text-align: center;
	margin: 0 auto;
	padding: 10px 0 0;
	font-size: 0.933em;
}
.cms-posts .wp-caption img[class*="wp-image-"]{
	display: block;
	margin: 0 auto;
	max-width: 100%;
	height: auto;
}
.alignleft {
	float: left;
	margin: 0 10px 10px 0;
}

.alignright {
	float: right;
	margin: 0 0 10px 10px;
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
	clear: both;
}

@media screen and (max-width: 599px) {
	.cms-posts blockquote{
		padding: 3.5em 1.5em 2em 1.5em;
	}
}

/*pagelist*/
ul.page_navi{
	text-align: center;
}
ul.page_navi li{
	margin: 10px 0 15px 0;
	background: none;
	padding: 0;
	list-style-type: none;
	display: inline-block;
	font-size: 18px;
	font-weight: 600;
}

ul.page_navi li span{
	background: #666565;
	border: 2px solid #666565;
	width: 2.5em;
	height: 2.5em;
	border-radius: 50%;
	color: #fff;
	text-align: center;
	line-height: 2.5;
	margin: 0 5px;
	display: block;
		-webkit-transition: all 0.9s ease-in-out;
		-moz-transition: all 0.9s ease-in-out;
		-o-transition: all 0.9s ease-in-out;
		transition: all 0.9s ease-in-out;
}
ul.page_navi li a{
	background: #c9c9ca;
	border: 2px solid #c9c9ca;
	width: 2.5em;
	height: 2.5em;
	border-radius: 50%;
	color: #fff;
	text-align: center;
	line-height: 2.5;
	margin: 0 5px;
	display: block;
	text-decoration: none;
		-webkit-transition: all 0.9s ease-in-out;
		-moz-transition: all 0.9s ease-in-out;
		-o-transition: all 0.9s ease-in-out;
		transition: all 0.9s ease-in-out;
}

ul.page_navi li:first-child a{
	border: 2px solid #666565;
	background: #FFF url(../../img/common/pagenav_prev.svg) no-repeat center center;
	-moz-background-size: 20px auto;
	background-size: 20px auto;
	display: block;
	text-indent: -9999px;
}
ul.page_navi li:last-child a{
	border: 2px solid #666565;
	background: #FFF url(../../img/common/pagenav_next.svg) no-repeat center center;
	-moz-background-size: 20px auto;
	background-size: 20px auto;
	display: block;
	text-indent: -9999px;
}

ul.page_navi li:hover span,
ul.page_navi li:hover a{
	background: #666565;
}
ul.page_navi li:first-child:hover a{
	border: 2px solid #666565;
	background: #FFF url(../img/common/pagenav_prev.svg) no-repeat center center;
	-moz-background-size: 20px auto;
	background-size: 20px auto;
}
ul.page_navi li:last-child:hover a{
	border: 2px solid #666565;
	background: #FFF url(../img/common/pagenav_next.svg) no-repeat center center;
	-moz-background-size: 20px auto;
	background-size: 20px auto;
}


/*footer
************************************************************************************/
#footer {
	padding: 2em 1em;
	background: #F8F8F8;
}

.footer__name {
	font-size: 1.125em;
	font-weight: bold;
}

.footer__address {
}

.footer__copyright {
	padding-top: 1em;
	font-size: 0.875em;
	color: #656565;
}

@media screen and (min-width: 769px) {
	.sp-fixmenu{
		display: none;
	}
}
@media screen and (max-width: 768px){
	#footer{
		/*padding-bottom: 80px;*/
	}
	.sp-fixmenu{
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 80px;
		z-index: 500;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
		box-sizing: border-box;

		border-top: 1px solid #FFF;
		display: table;
		table-layout: fixed;
		border-collapse: separate;
	}
	.sp-fixmenu .contact,
	.sp-fixmenu .faq,
	.sp-fixmenu .pageup{
		width: auto;
		display: table-cell;
		background-color: rgba( 255, 255, 255, 0.55 );
		height: 80px;
		vertical-align: middle;
	}
	.sp-fixmenu .pageup{
		cursor: pointer;
	}
	.sp-fixmenu .contact a,
	.sp-fixmenu .faq a,
	.sp-fixmenu .pageup span{
		width: 100%;
		height: auto;
		display: block;
		padding: 10px;
		text-align: center;
		font-size: .9em;
		color: #686868;
		text-decoration: none;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
		box-sizing: border-box;
		font-weight: normal;
	}
	.sp-fixmenu a:before,
	.sp-fixmenu span:before{
		display: block;
		width: 40px;
		height: 40px;

		font-family: 'Material Icons';
		font-weight: normal;
		font-style: normal;
		font-size: 35px;	/* Preferred icon size */
		line-height: 40px;
		text-transform: none;
		letter-spacing: normal;
		word-wrap: normal;
		white-space: nowrap;
		direction: ltr;
		color: #686868;
		margin: auto;
		/* Support for all WebKit browsers. */
		-webkit-font-smoothing: antialiased;
		/* Support for Safari and Chrome. */
		text-rendering: optimizeLegibility;
		/* Support for Firefox. */
		-moz-osx-font-smoothing: grayscale;
		/* Support for IE. */
		font-feature-settings: 'liga';
	}
	.sp-fixmenu .contact a:before{
		content: "outgoing_mail";
	}
	.sp-fixmenu .faq a:before{
		content: "quiz";
	}
	.sp-fixmenu .pageup span:before{
		content: "arrow_circle_up";
	}
	.sp-fixmenu .pageup{}

}
