@charset "utf-8";

/* Author: c.nz */
/* ---------------------------------------------------
	common
------------------------------------------------------ */
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, 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, a {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

ol,ul {
	list-style: none;
}

i,
cite,
em,
var,
address,
dfn {
	font-style: normal;
}

html {
	font-size: 10px
}

@media screen and (max-width: 896px),
(max-width: 896px) and (orientation:landscape) {
	html {
		font-size: 10px;
	}
}

/* フォントサイズ：拡大 */
html.font-large {
	font-size: 12px;
}

body {
	font-family: "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	
	font-display: swap;
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	color: #222;
}
body.fixed {
	width: 100%;
	height: 100%;
	position: fixed;
}

.acms-admin-module-edit-wrapper {
	z-index: auto;
}

.acms-container {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

.acms-container #adminBox {
	margin-bottom: 0;
}

.slick-dots li.slick-active button {
	background: none;
}

.js-edit_inplace-hovering {
	left: 50% !important;
	transform: translateX(-50%);
}

.screen {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: #FFF;
	z-index: 999;
}

#container {
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
}

.container {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.container:after {
	content: "";
	clear: both;
	display: block;
}

@media screen and (max-width: 896px),
(max-width: 896px) and (orientation:landscape) {
	#container {
		padding-top: 50px;
	}
}

@media screen and (max-width: 896px) and (orientation:landscape) {
	.page-title-inner .page-title {
		padding: 0 40px;
	}
}

.no-scroll {
	overflow: hidden;
}

a {
	-webkit-transition: all ease 0.2s;
	-moz-transition: all ease 0.2s;
	-o-transition: all ease 0.2s;
	transition: all ease 0.2s;
	box-sizing: border-box;
}

a:link,
a:visited {
	color: #222;
	text-decoration: none;
}

a:hover,
a:visited {
	color: #222;
	text-decoration: none;
}

a:hover {
	opacity: .4;
}

.entry-column a:visited {
	color: #222;
}

a[href^="tel:"] {
	pointer-events: none;
	text-decoration: none;
}

img {
	max-width: 100%;
	height: auto;
	line-height: 1;
	vertical-align: bottom;
}

img.max {
	width: 100%;
}

p {
	line-height: 1.8;
	margin: 0;
}

.flexbox {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}

.flexbox.mid {
	align-items: center;
}

.flexbox.center {
	justify-content: center;
}

.flexbox.reverse {
	flex-direction: row-reverse;
}

.flL {
	float: left;
}

.flR {
	float: right;
}

.taL {
	text-align: left;
}

.taC {
	text-align: center;
}

.taR {
	text-align: right;
}

.rel {
	position: relative;
}

.mincho {
	font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.gothic {
	font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.w20 {
	width: 20%;
}

.w30 {
	width: 30%;
}

.w70 {
	width: 70%;
}

.w80 {
	width: 80%;
}

.w1200 {
	max-width: 1200px;
}

.txt-lll {
	font-size: 1.375em;
}

.txt-ll {
	font-size: 1.25em;
}

.txt-l {
	font-size: 1.125em;
}

.txt-s {
	font-size: 0.875em;
}

.txt-ss {
	font-size: 0.75em;
}

.txt-sss {
	font-size: 0.625em;
}

.tcol-red {
	color: red;
}

.tcol-orange {
	color: orange;
}

.tcol-yellow {
	color: yellow;
}

.tcol-green {
	color: darkgreen;
}

.tcol-blue {
	color: blue;
}

.tcol-purple {
	color: purple;
}

.pc-only {
	display: block;
}

.sp-only {
	display: none;
}

.pc-block {
	display: block;
}

.sp-block {
	display: none;
}

.pc-inline {
	display: inline;
}

.sp-inline {
	display: none;
}


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

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

/* IE用対応 */
/*
_:-ms-fullscreen . {}
*/

@media screen and (max-width: 896px),
(max-width: 896px) and (orientation:landscape) {

	/*背景固定する場合	html.is-fixed,
	html.is-fixed body {height: 100%;overflow: hidden;}*/
	body {}

	a:hover img {
		opacity: 1;
	}

	a[href^="tel:"] {
		pointer-events: auto;
	}

	.container {
		max-width: 100%;
	}

	p {
		line-height: 1.4;
	}

	.w1200 {
		width: auto;
	}

	.pc-only {
		display: none !important;
	}

	.sp-only {
		display: block;
	}

	.pc-block {
		display: none !important;
	}

	.sp-block {
		display: block;
	}

	.pc-inline {
		display: none !important;
	}

	.sp-inline {
		display: inline;
	}

	.pc-hidden {
		display: block;
	}
}


/* ---------------------------------------------------
	header
------------------------------------------------------ */

.article-logo {
	display: inline;
}

#top .top-logo {
	display: inline;
}

#top .article-logo {
	display: none;
}

.static-nav {
	position: absolute;
	top: 0;
	left: 0;
	display: none;
	align-items: flex-end;
	width: 100%;
	transition: .6s;
	z-index: 9999;
}

.static-nav {
	display: flex;
}

.static-nav .logo {
	align-self: flex-start;
	width: calc(100vw * (402 / 1920));
	margin-left: 50px;
	margin-top: 30px;
}

.static-nav .logo a:hover {
	opacity: 1;
}

.static-nav nav {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 15px;
}

.static-nav .contact {
	margin-right: 0;
	margin-left: 0;
	display: flex;
	align-items: flex-start;
	align-self: flex-start;
}

.static-nav nav>ul>li:not(:last-of-type)::after {
	content: "｜";
	display: inline-block;
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 1.4;
	color: #CCCCCC;
}
.static-nav nav>ul>li.noline::after {
	display: none;
}

.static-nav .contact .h-tel .lang a {
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0;
}

.static-nav .contact .h-tel p {
	font-size: 3.6rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.28;
	color: #0071BE;
	text-align: center;
}

.static-nav .contact .h-tel p .sp-tel,
.float-nav .contact .h-tel p .sp-tel a:link,
.float-nav .contact .h-tel p .sp-tel a:visited {
	color: #0071BE;
}
.static-nav .contact .h-mail a {
	display: inline-block;
	background: #0071BE url(../images/header/mail@2x.png) no-repeat center 21px/22px;
	color: #FFF;
	font-size: 1.7rem;
	line-height: 1.4;
	letter-spacing: .05em;
	font-weight: 700;
	text-align: center;
	padding: 53px 0 0;
	width: 140px;
	height: 100px;
	margin-left: 40px;
	border-radius: 0 0 0 5px;
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/* 文字サイズボタン */
.static-nav .contact .size-selector {
	display: flex;
	align-items: center;
	margin-top: 20px;
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.static-nav .contact .size-selector span:first-of-type {
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	display: inline-block;
	font-weight: 500;
	margin-right: 8px;
}

.static-nav .contact .size-selector span:first-of-type {
	font-size: 1.7rem;
	letter-spacing: 0.05em;
	line-height: 1.4;
	color: #222;

}

.static-nav .contact .size-selector span:not(:first-of-type) {
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	line-height: 1.188;
	color: #222;
	padding: 5px 17px;
	border: 1px solid #222;
	border-radius: 5px;
	margin-left: 8px;
	cursor: pointer;
}

.is_tablet .static-nav .logo {
	top: 20px;
}

.is_tablet .static-nav nav {
	margin-left: 40px;
}
html.font-large .is_tablet .static-nav nav {
	margin-left: 0;
}

.is_tablet .static-nav .contact .h-tel p {
	white-space: nowrap;
}

@media screen and (max-width:1700px) {
	.static-nav .logo {
		width: calc(100vw * (402 / 1920));
		margin-left: calc(100vw * (50 / 1700));
	}
	.static-nav nav {
		margin-bottom: calc(100vw * (15 / 1700));
	}
	.static-nav nav>ul>li:not(:last-of-type)::after {
		font-size: calc(100vw * (17 / 1700));
	}
	
	.static-nav .contact .h-tel .lang a {
		font-size: calc(100vw * (16 / 1700));
	}
	
	.static-nav .contact .h-tel p {
		font-size: calc(100vw * (36 / 1700));
	}
	.static-nav .contact .h-mail a {
		background: #0071BE url(../images/header/mail@2x.png) no-repeat center calc(100vw * (21 / 1700))/calc(100vw * (22 / 1700));
		;
		font-size: calc(100vw * (17 / 1700));
		padding: calc(100vw * (50 / 1700)) 0 0;
		width: calc(100vw * (140 / 1700));
		height: calc(100vw * (100 / 1700));
		margin-left: calc(100vw * (40 / 1700));
		border-radius: 0 0 0 calc(100vw * (5 / 1700));
	}
	.static-nav .contact .h-mail a {
		height: calc(100vw * (110 / 1700));
		padding-top: calc(100vw * (60 / 1700));
	}
	.font-large .static-nav .contact .h-mail a {
		font-size: calc(100vw * (19 / 1700));
	}
	
	/* 文字サイズボタン */
	.static-nav .contact .size-selector {
		margin-top: calc(100vw * (20 / 1700));
	}
	
	.static-nav .contact .size-selector span:first-of-type {
		margin-right: calc(100vw * (8 / 1700));
	}
	
	.static-nav .contact .size-selector span:first-of-type {
		font-size: calc(100vw * (17 / 1700));
	}
	
	.static-nav .contact .size-selector span:not(:first-of-type) {
		font-size: calc(100vw * (16 / 1700));
		padding: calc(100vw * (5 / 1700)) calc(100vw * (20 / 1700));
		border-radius: calc(100vw * (5 / 1700));
		margin-left: calc(100vw * (8 / 1700));
	}
}

/* ---------------------------------------------------
	.float-nav
------------------------------------------------------ */
.float-nav {
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	transform: translateY(0%);
	transition: .4s;
	padding-left: 50px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
	background: #FFF;
}

.float-nav {
	transform: translateY(-110%);
}

.float-nav.is-follow {
	transform: translateY(0);
}

.float-nav .logo {
	width: 227px;
}

.float-nav .logo a {
	opacity: 1;
}

.float-nav nav {
	margin: auto;
}

#header .float-nav>nav>ul {
	display: flex;
	align-items: center;
	margin-left: 0;
	margin-right: 100px;
}

.float-nav>nav>ul>li,
.float-nav>ul>li>a {
	font-size: 1.7rem;
	letter-spacing: .05em;
	line-height: 1.4;
	font-weight: 500;
	color: #222;
}

.float-nav>nav>ul>li a {
	display: inline-block;
	padding: 0 20px;
}

.float-nav>nav>ul>li:not(:last-of-type)::after {
	content: "｜";
	display: inline-block;
	font-size: 1.7rem;
	font-weight: 500;
	letter-spacing: .05em;
	line-height: 1.4;
}

.float-nav .contact {
	margin-right: 0;
	margin-left: 10px;
	display: flex;
	align-items: center;
}

.float-nav .contact .h-tel p {
	font-size: 3.6rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.28;
	color: #0071BE;
}

.float-nav .contact .h-tel p .sp-tel,
.float-nav .contact .h-tel p .sp-tel a:link,
.float-nav .contact .h-tel p .sp-tel a:visited {
	color: #0071BE;
}

.float-nav .contact .h-mail a {
	display: inline-block;
	background: #0071BE url(../images/header/mail@2x.png) no-repeat center 13px/22px;
	color: #FFF;
	font-size: 1.7rem;
	line-height: 1.4;
	letter-spacing: .05em;
	font-weight: 700;
	text-align: center;
	padding-top: 42px;
	padding: 42px 17px 13px;
	margin-left: 40px;
}

.float-nav .lang {
	display: none;
}

/* 1層目 */
#header nav>ul {
	display: flex;
	align-items: center;
	margin-left: 20px;
}

#header nav>ul>li {
	position: relative;
}

#header nav>ul>li>a {
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.9rem;
	line-height: 1.4;
	font-weight: 500;
	color: #222;
	display: inline-block;
	padding: 0 calc(100vw * (20 / 1920));
	letter-spacing: .05em;
}
html.font-large #header nav>ul>li>a {
	font-size: 1.7rem;
}
html.font-large .is_tablet #header nav>ul>li>a {
	font-size: 1.5rem;
	padding: 0 calc(100vw * (7 / 1920));
}
@media screen and (max-width:1700px) {
	html.font-large #header nav>ul>li>a {
		font-size: 1.6rem;
		padding: 0 calc(100vw * (7 / 1920));
	}
}

/* 2層目 */
#header nav>ul>li>ul {
	display: none;
	position: absolute;
	padding: 10px 20px;
	border: 2px solid #0071BE;
	background: #FFF;
}

#header nav>ul>li>ul>li a {
	font-size: 1.6rem;
	display: flex;
	padding: 10px 0;
	white-space: nowrap;
}

#header nav>ul>li>ul>li:not(:last-of-type) {
	border-bottom: 1px solid #0071BE;
}

#header nav>ul>li>ul>li a::after {
	content: none;
}

#header nav>ul>li>ul>li a::before {
	content: "-";
	display: inline-block;
	margin-right: 5px;
}

#header nav>ul>li:hover ul {
	display: block;
}

.is_tablet #header nav>ul>li>a {
	font-size: 1.6rem;
}


@media screen and (max-width:1700px) {
	/* ---------------------------------------------------
	.float-nav
	------------------------------------------------------ */
	.float-nav {
		padding-left: calc(100vw * (50 / 1700));
		box-shadow: 0 calc(100vw * (2 / 1700)) calc(100vw * (6 / 1700)) rgba(0, 0, 0, 0.1);
	}
	.float-nav .logo {
		width: calc(100vw * (272 / 1700));
	}
	.float-nav>nav>ul>li,
	.float-nav>ul>li>a {
		font-size: calc(100vw * (17 / 1700));
	}
	.float-nav>nav>ul>li a {
		padding: 0 calc(100vw * (20 / 1700));
	}
	.float-nav>nav>ul>li:not(:last-of-type)::after {
		font-size: calc(100vw * (17 / 1700));
	}
	.float-nav .contact {
		margin-left: calc(100vw * (10 / 1700));
	}
	.float-nav .contact .h-tel p {
		font-size: calc(100vw * (36 / 1700));
	}
	.float-nav .contact .h-mail a {
		background: #0071BE url(../images/header/mail@2x.png) no-repeat center calc(100vw * (13 / 1700))/calc(100vw * (22 / 1700));
		font-size: calc(100vw * (17 / 1700));
		padding-top: calc(100vw * (42 / 1700));
		padding: calc(100vw * (42 / 1700)) calc(100vw * (17 / 1700)) calc(100vw * (13 / 1700));
		margin-left: calc(100vw * (40 / 1700));
	}
	.font-large .float-nav .contact .h-mail a {
		font-size: calc(100vw * (19 / 1700));
	}
	.font-large #header nav>ul>li>a {
		font-size: calc(100vw * (21 / 1700));
		padding: 0 calc(100vw * (10 / 1920));
	}
	#header nav>ul{
		margin-left: calc(100vw * (20 / 1700));
	}
	#header nav>ul>li>a {
		font-size: calc(100vw * (19 / 1700));
		padding: 0 calc(100vw * (10 / 1920));
	}
	.font-large #header nav>ul>li>a {
		font-size: calc(100vw * (21 / 1700));
		padding: 0 calc(100vw * (10 / 1920));
	}
	.font-large .is_tablet #header nav>ul>li>a{
		font-size: 1.6rem;
	}
	/* 2層目 */
	#header nav>ul>li>ul {
		padding: calc(100vw * (10 / 1700)) calc(100vw * (20 / 1700));
	}

	#header nav>ul>li>ul>li a {
		font-size: calc(100vw * (16 / 1700));
		padding: calc(100vw * (10 / 1700)) 0;
	}
	#header nav>ul>li>ul>li a::before {
		margin-right: calc(100vw * (0.5 / 1700));
	}
}

@media screen and (max-width: 896px),
(max-width: 896px) and (orientation:landscape) {
	.static-nav {
		display: none;
	}

	#header .float-nav>nav>ul {
		display: block;
		margin-right: 0;
	}

	.float-nav {
		justify-content: space-between;
		padding: 14px 15px;
		transform: none;
		height: 60px;
	}

	.float-nav .logo {
		width: 230px;
	}

	.float-nav nav {
		position: fixed;
		height: calc(100vh - 52px);
		width: 100%;
		right: 0;
		top: 52px;
		background: #FFF;
		padding: 20px;
		overflow: scroll;
		margin-left: 0;
		transform: translateX(100%);
		transition: .6s;
		overflow-y: scroll;
	}

	.float-nav .is-open+nav {
		transform: translateX(0%);
		padding-bottom: 200px;
	}

	.float-nav ul {
		display: block;
		text-align: center;
	}

	.float-nav ul li {
		margin: 0;
		border-bottom: 2px solid #0071BE;
	}

	.float-nav ul li:not(:last-of-type)::after {
		display: none;
	}

	#header nav>ul>li>a {
		padding: 10px 0;
		width: 100%;
		font-size: 1.8rem;
	}

	.float-nav ul li.toggle>a {
		padding: 0;
	}

	.float-nav ul .toggle {
		position: relative;
		padding: 10px 0;
		border-bottom: none;
		border-bottom: 2px solid #0071BE;
	}

	.float-nav ul .toggle ul {
		display: none;
		margin: 10px 0;
	}

	.float-nav>nav>ul>li:not(:last-of-type)::after {
		content: none;
	}

	.float-nav ul .toggle ul li {
		border-bottom: 1px solid #CCC;
	}

	.float-nav ul .toggle ul li:last-of-type {
		border-bottom: none;
	}

	.float-nav ul .toggle ul li a {
		font-size: 1.4rem;
	}

	.float-nav ul .toggle::before {
		content: "";
		display: inline-block;
		position: absolute;
		top: 15px;
		right: 20px;
		width: 8px;
		height: 8px;
		border-bottom: 2px solid;
		border-right: 2px solid;
		transform: rotate(45deg);
		margin-left: 5px;
		transition: .2s;
	}

	.float-nav ul .toggle.is-open::before {
		transform: rotate(225deg);
		top: 20px;
	}

	.float-nav .contact {
		display: none;
	}

	#top .float-nav {
		transform: none;
	}

	.float-nav .lang {
		display: block;
		font-size: 1.8rem;
		text-align: center;
		margin: 50px 0;
		line-height: 2;
	}

	#header nav>ul>li>ul>li:not(:last-of-type) {
		border-bottom: none
	}

	#header nav>ul>li>ul>li {
		border-top: 1px solid #0071BE;
	}
}
@media screen and (max-width:896px) and (orientation:landscape){
	.float-nav .is-open+nav{padding-bottom: 160px;}
}




/* ---------------------------------------------------
	ハンバーガーメニュー
------------------------------------------------------ */
.hamburger {
	display: none;
	position: fixed;
	z-index: 3;
	right: 0;
	top: 0;
	width: 60px;
	height: 0;
	padding-top: 40px;
	padding-bottom: 20px;
	cursor: pointer;
	text-align: center;
	background: #0071BE;
}

.hamburger span {
	display: block;
	position: absolute;
	width: 34px;
	height: 2px;
	left: 50%;
	transform: translateX(-50%);
	background: #FFF;
	-webkit-transition: 0.5s all;
	-moz-transition: 0.5s all;
	transition: 0.5s all;
}

.hamburger span:nth-child(1) {
	top: 12px;
}

.hamburger span:nth-child(2) {
	top: 23px;
}

.hamburger span:nth-child(3) {
	top: 34px;
}

.hamburger small {
	color: #FFF;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1;
}

/* ナビ開いてる時のボタン */
.hamburger.is-open span:nth-child(1) {
	top: 22px;
	left: 6px;
	width: 24px;
	background: #fff;
	-webkit-transform: translateX(50%) rotate(-45deg);
	-moz-transform: translateX(50%) rotate(-45deg);
	transform: translateX(50%) rotate(-45deg);
}

.hamburger.is-open span:nth-child(2) {
	left: 60%;
	opacity: 0;
	-webkit-animation: active-btn17-bar02 .8s forwards;
	animation: active-hamburger-bar02 .8s forwards;
}

@-webkit-keyframes active-hamburger-bar02 {
	100% {
		height: 0;
	}
}

@keyframes active-hamburger-bar02 {
	100% {
		height: 0;
	}
}

.hamburger.is-open span:nth-child(3) {
	top: 22px;
	width: 24px;
	background: #fff;
	-webkit-transform: translateX(-50%) rotate(45deg);
	-moz-transform: translateX(-50%) rotate(45deg);
	transform: translateX(-50%) rotate(45deg);
}

.hamburger.is-open::after {
	border: 2px solid #fff;
}

.is_smart .hav-child {
	border-bottom: none !important;
}

.is_smart .hav-child.is-open {
	border-bottom: 2px solid #0071BE !important;
}

.is_smart .hav-child>a {
	border-bottom: 2px solid #0071BE;
}

.is_smart .hav-child::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 2px;
	background: #0071BE;
	position: absolute;
	right: 0;
	top: 20px;
}

.is_smart .hav-child::after {
	content: "" !important;
	display: inline-block;
	width: 20px;
	height: 2px;
	background: #0071BE;
	position: absolute;
	right: 0;
	top: 20px;
	transform: rotate(90deg);
	transition: .4s;
}

.is_smart .hav-child.is-open::after {
	transform: rotate(0);
}

.is_smart #header nav>ul>li:hover ul,
.is_tablet #header nav>ul>li:hover ul {
	display: block;
}

.is_smart #header nav>ul>li>ul {
	background: #FFF;
	position: relative;
	width: 100%;
	border: none;
}

.is_smart #header nav>ul>li>ul>li:last-of-type {
	border-bottom: none;
}

.is_smart #header nav ul li a:hover,
.is_tablet #header nav ul li a:hover {
	opacity: 1;
}

@media screen and (max-width: 896px),
(max-width: 896px) and (orientation:landscape) {
	.hamburger {
		display: block;
	}

	.is_smart #header nav>ul>li>ul {
		position: relative;
		left: auto;
		right: auto;
		bottom: auto;
		top: auto;
		transform: none;
		width: 100%;
		display: block;
		/* display: none; */
		padding: 10px 20px;
		
	}

	#header nav>ul>li>ul>li a {
		justify-content: left;
		font-size: 1.6rem;
		padding: 10px 0;
	}
}

/* ---------------------------------------------------
	btn_menu
------------------------------------------------------ */
.btn_menu {
	display: none;
	position: fixed;
	right: 15px;
	top: 10px;
	width: 100px;
	height: 100px;
	padding: 20px 20px 15px;
	cursor: pointer;
	text-align: center;
	z-index: 9999;
	background: #0E2239;
}

.btn_menu .menu-trigger {
	display: inline-block;
	position: relative;
	width: 40px;
	height: 32px;
	box-sizing: border-box;
	transition: all .4s;
}

.btn_menu .menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #FFF;
}

.btn_menu .menu-trigger span:nth-of-type(1) {
	top: 0;
}

.btn_menu .menu-trigger.active span:nth-of-type(1) {
	top: 4px;
}

.btn_menu .menu-trigger span:nth-of-type(2) {
	top: 14px;
}

.btn_menu .menu-trigger span:nth-of-type(3) {
	bottom: 0;
}

.btn_menu .menu-trigger.active {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

.btn_menu .menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(10px) rotate(-35deg);
	transform: translateY(10px) rotate(-35deg);
}

.btn_menu .menu-trigger.active span:nth-of-type(2) {
	-webkit-transform: translateY(0) rotate(35deg);
	transform: translateY(0) rotate(35deg);
}

.btn_menu .menu-trigger.active span:nth-of-type(3) {
	opacity: 0;
}

.btn_menu .txt {
	color: #FFF;
	font-size: 1.2rem;
	font-family: Arial, Helvetica, "sans-serif";
	font-weight: bold;
	margin-top: 4px;
}

@media screen and (max-width: 896px),
(max-width: 896px) and (orientation:landscape) {
	.btn_menu {
		display: block;
		width: 60px;
		height: 60px;
		padding: 10px 10px 15px;
	}

	.btn_menu .menu-trigger {
		width: 40px;
		height: 26px;
	}

	.btn_menu .menu-trigger span {
		height: 2px;
	}

	.btn_menu .menu-trigger span:nth-of-type(1) {
		top: 0;
	}

	.btn_menu .menu-trigger.active span:nth-of-type(1) {
		top: 2px;
	}

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

	.btn_menu .menu-trigger span:nth-of-type(3) {
		bottom: 0;
	}
}


/* ---------------------------------------------------
	side-contact
------------------------------------------------------ */

@media screen and (max-width: 896px),
(max-width: 896px) and (orientation:landscape) {}

/* ---------------------------------------------------
	下層ページタイトル
------------------------------------------------------ */
.pagetit {
	width: 100%;
	position: relative;
	background: #FFF;
	text-align: center;
	margin-top: 170px;
	margin-bottom: 60px;
}

.pagetit .page-title {
	margin: 0 auto;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.5;
	color: #222;
	letter-spacing: 0.05em;
	padding-bottom: 30px;
	position: relative;
}

.pagetit .page-title::after {
	content: "";
	position: absolute;
	display: inline-block;
	width: 600px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	background: #0071BE;
	height: 3px;
}

@media screen and (max-width: 896px),
(max-width: 896px) and (orientation:landscape) {
	.pagetit {
		width: 100%;
		max-width: 100%;
		margin-top: 0;
	}

	.pagetit .page-title {
		font-size: 2rem;
		padding-top: 30px;
	}

	.pagetit .page-title::after {
		width: 90%;
	}
}

/* ---------------------------------------------------
	パンくず
------------------------------------------------------ */
.topicpath {
	background: none;
	width: 100%;
	text-align: center;
	padding: 0;
	margin-top: 33px;
	margin-bottom: 0;
}

.topicpath ol {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.topicpath .acms-container {
	/* max-width: 1200px; */
}

.topicpath-list {
	width: 100%;
	padding: 0;
	text-align: left;
}

.topicpath-item {
	float: none;
	display: inline-block;
	background: none;
	padding: 0;
	font-size: 1.5rem;
	line-height: 1.2;
	font-weight: 200;
	
}

.topicpath-item a {
	display: inline;
	color: #666;
}

.topicpath-item:first-child {
	padding: 0;
}

.topicpath-item:before {
	display: inline-block;
	content: "/";
	padding: 0 10px;
}

.topicpath-item:first-child:before {
	display: inline-block;
	content: "";
	padding: 0;
}

.topicpath-link {
	font-size: 1.5rem;
	font-weight: 200;
	color: #666;
}

@media screen and (max-width: 896px),
(max-width: 896px) and (orientation:landscape) {
	.topicpath ol {
		flex-wrap: wrap;
		justify-content: flex-start;
		padding: 0 10px;
	}
}

@media screen and (max-width: 896px) and (orientation:landscape) {
	.topicpath {
		padding-left: 40px;
	}
}

/* ---------------------------------------------------
	pager
------------------------------------------------------ */
.pager {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 40px 0;
}

.pager li,
.pager li>span,
.pager li a {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.pager li {
	width: 38px;
	height: 38px;
	border-radius: 100px;
	font-size: 2rem;
	background: #F1F1F1;
	border-radius: 100px;
	overflow: hidden;
}

.pager li.prev,
.pager li.next {
	border: none;
	border-radius: 0;
	background: none;
}


.pager li.cur {
	background: #0071BE;
	color: #FFF;
	border-radius: 100px;
}

.pager li>span {
	width: 100%;
	height: 100%;
}

.pager li a {
	width: 100%;
	height: 100%;
	color: #222;
	text-decoration: none;
	background: #F1F1F1;
	border-radius: 100px;
	overflow: hidden;
}

.pager-link {
	background: #FFF;
	padding: 10px;
}

.pager-link:active,
.pager-link:focus,
.pager-link:visited {
	color: #222;
}

.pager-link:hover {
	background: #0071BE;
	color: #FFF;
	border-radius: 100px;
	overflow: hidden;
	opacity: 1;
}

.pager li.prev .pager-link,
.pager li.next .pager-link,
.pager li.prev .pager-link:hover,
.pager li.next .pager-link:hover {
	background: none;
	color: #222;
}

.serial-nav {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 50px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.serial-nav .serial-nav-prev {
	text-align: left;
}

.serial-nav .serial-nav-next {
	text-align: right;
}

.serial-nav a {
	display: block;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.4;
	padding: 13px 20px;
	color: #222;
	border-bottom: 1px solid #222;
	width: 255px;
	position: relative;
	text-align: center;
}

.serial-nav .serial-nav-prev a img {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 20px;
}

.serial-nav .serial-nav-next a img {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
}

.serial-nav a:active,
.serial-nav a:focus,
.serial-nav a:hover,
.serial-nav a:visited {
	color: #222;
}

.serial-nav a:hover {
	text-decoration: none;
}

@media screen and (max-width: 896px),
(max-width: 896px) and (orientation:landscape) {
	.pager {
		margin: 20px 0;
	}

	.pager li {
		margin-bottom: 10px;
		width: 30px;
		height: 30px;
		font-size: 16px;
	}
	.pager li.cur{
		padding: 10px;
		font-size: 16px;
	}
	.pager li a{
		
	}
	.pager li.prev a,
	.pager li.next a{
		padding: 0;
	}

	.serial-nav {
		padding: 0 10px;
	}

	.serial-nav .serial-nav-item {
		width: 48%;
	}

	.serial-nav a {
		padding: 10px 20px;
		width: 100%;
	}

	.serial-nav .serial-nav-prev a img {
		left: 10px;
	}

	.serial-nav .serial-nav-next a img {
		right: 10px;
	}
}

/* ---------------------------------------------------
	子ブログindex
------------------------------------------------------ */
.koblog {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 0;
}

.koblog .koblog-card-wrap {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-top: 30px;
}

.koblog .koblog-card {
	width: 22.5%;
	margin-right: 3.33%;
	margin-bottom: 40px;
}

.koblog .koblog-card:nth-child(4n) {
	margin-right: 0;
}

.koblog .koblog-card .image {
	max-width: 270px;
	height: 180px;
	overflow: hidden;
	position: relative;
}

.koblog .koblog-card .image img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	height: auto;
}

.koblog .koblog-card .koblog-card-inner {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	justify-content: space-between;
	-ms-flex-align: center;
	-webkit-box-align: center;
	align-items: center;
	margin-top: 15px;
}

.koblog .koblog-card .date {
	-webkit-box-flex: 0;
	-ms-flex: none;
	flex: none;
	margin-right: 10px;
	font-size: 2rem;
	font-size: 2rem;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "リュウミン R-KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", 'Noto Serif JP', serif;
	line-height: 1;
}

.koblog .koblog-card .category {
	-webkit-box-flex: 0;
	-ms-flex: none;
	flex: none;
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	align-items: center;
	height: 24px;
	min-width: 100px;
	padding: 0 10px;
	font-size: 1.4rem;
	color: #fff;
	background: #00469C;
}

_:-ms-fullscreen,
:root .koblog .koblog-card .category {
	padding-top: 4px;
}

.koblog .koblog-card .text {
	margin-top: 10px;
}


@media screen and (max-width: 896px),
(max-width: 896px) and (orientation:landscape) {
	.koblog {
		padding: 0 15px 60px;
	}

	.koblog .koblog-card-wrap {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: center;
		-webkit-box-pack: center;
		justify-content: center;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-top: 30px;
	}

	.koblog .koblog-card {
		width: 100%;
		margin-bottom: 25px;
		margin-right: 0;
	}

	.koblog .koblog-card:last-child {
		margin-right: 0;
	}

	.koblog .koblog-card .koblog-card-inner {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		justify-content: space-between;
		-ms-flex-align: center;
		-webkit-box-align: center;
		align-items: center;
		margin-top: 15px;
	}

	.koblog .koblog-card .image {
		max-width: 100%;
		max-height: 180px;
	}

	.koblog .koblog-card img {
		width: 100%;
	}

	.koblog .koblog-card .date {
		-webkit-box-flex: 0;
		-ms-flex: none;
		flex: none;
		margin-right: 10px;
		font-size: 1.8rem;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "リュウミン R-KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", 'Noto Serif JP', serif;
		line-height: 1;
	}

	.koblog .koblog-card .category {
		-webkit-box-flex: 0;
		-ms-flex: none;
		flex: none;
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: center;
		-webkit-box-pack: center;
		justify-content: center;
		-ms-flex-align: center;
		-webkit-box-align: center;
		align-items: center;
		height: 24px;
		min-width: 100px;
		padding: 0 10px;
		font-size: 1.4rem;
		color: #fff;
		background: #00469C;
	}

	.koblog .koblog-card .text {
		margin-top: 10px;
	}

	.koblog .c-btn1 {
		margin-top: 25px;
	}
}

@media screen and (max-width: 896px) and (orientation:landscape) {
	.koblog .koblog-card {
		width: 49%;
		margin-right: 2%;
	}

	.koblog .koblog-card:nth-child(2n) {
		margin-right: 0;
	}
}

/* ---------------------------------------------------
	子ブログindex - news用
------------------------------------------------------ */

.koblog-news {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
}

.koblog-news .koblog-card-wrap {
	display: block;
	margin-top: 30px;
}

.koblog-news .koblog-card {
	width: 100%;
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 10px 0;
}

.koblog-news .koblog-card .image {
	width: 100px;
	height: 100px;
	overflow: hidden;
	position: relative;
	margin-right: 20px;
}

.koblog-news .koblog-card .image img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	height: auto;
}

.koblog-news .koblog-card .koblog-card-inner {
	display: block;
	width: calc(100% - 120px);
}

.koblog-news .koblog-card .meta {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-pack: start;
	-webkit-box-pack: start;
	justify-content: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
}

.koblog-news .koblog-card .category {
	-webkit-box-flex: 0;
	-ms-flex: none;
	flex: none;
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	align-items: center;
	height: 24px;
	min-width: 100px;
	padding: 0 10px;
	font-size: 1.4rem;
	color: #fff;
	background: #00469C;
	margin-right: 20px;
}

_:-ms-fullscreen,
:root .koblog-news .koblog-card .category {
	padding-top: 4px;
}

.koblog-news .koblog-card .date {
	-webkit-box-flex: 0;
	-ms-flex: none;
	flex: none;
	margin-right: 10px;
	font-size: 2rem;
	line-height: 1;
}

.koblog-news .koblog-card .text {
	margin-top: 10px;
}


@media screen and (max-width: 896px),
(max-width: 896px) and (orientation:landscape) {
	.koblog-news {
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
		padding: 0 10px;
	}

	.koblog-news .koblog-card-wrap {
		display: block;
		margin-top: 10px;
	}

	.koblog-news .koblog-card {
		width: 100%;
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: center;
		-webkit-box-pack: center;
		justify-content: flex-start;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		padding: 10px 0;
	}

	.koblog-news .koblog-card .image {
		width: 100px;
		height: 100px;
		overflow: hidden;
		position: relative;
		margin-right: 10px;
	}

	.koblog-news .koblog-card .image img {
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		width: 100%;
		height: auto;
	}

	.koblog-news .koblog-card .koblog-card-inner {
		display: block;
		width: calc(100% - 110px);
	}

	.koblog-news .koblog-card .meta {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: start;
		-webkit-box-pack: start;
		justify-content: flex-start;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		width: 100%;
	}

	.koblog-news .koblog-card .category {
		-webkit-box-flex: 0;
		-ms-flex: none;
		flex: none;
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: center;
		-webkit-box-pack: center;
		justify-content: center;
		-ms-flex-align: center;
		-webkit-box-align: center;
		align-items: center;
		height: 24px;
		min-width: 100px;
		padding: 0 10px;
		font-size: 1.4rem;
		color: #fff;
		background: #00469C;
		margin-right: 20px;
	}

	.koblog-news .koblog-card .date {
		-webkit-box-flex: 0;
		-ms-flex: none;
		flex: none;
		margin-right: 10px;
		font-size: 2rem;
		line-height: 1;
	}

	.koblog-news .koblog-card .text {
		margin-top: 10px;
	}
}

/* ---------------------------------------------------
	子ブログ詳細
------------------------------------------------------ */
.entry>header h2 {
	padding-bottom: 10px;
	border-bottom: 1px solid #999;
	margin-bottom: 40px;
}

.entry>header .entry-info {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-align: center;
	align-items: center;
	margin-bottom: 40px;
}

.entry>header .entry-info .date {
	-webkit-box-flex: 0;
	-ms-flex: none;
	flex: none;
	margin-right: 10px;
	line-height: 1;
	font-size: 1.8rem;
	letter-spacing: .05em;
}

.entry>header .entry-info .category {
	-webkit-box-flex: 0;
	-ms-flex: none;
	flex: none;
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	align-items: center;
	height: 24px;
	min-width: 100px;
	padding: 0 10px;
	color: #222;
	background: #F0ECE8;
}

.entry>.entry-footer {
	max-width: 1200px;
	margin: 20px auto;
}

@media screen and (max-width: 896px),
(max-width: 896px) and (orientation:landscape) {
	.entry>header {}

	.entry>header h2 {
		margin-bottom: 20px;
	}

	.entry>header .entry-info {
		margin-bottom: 20px;
		padding: 0 10px;
	}

	.entry>header .entry-info .date {
		margin-right: 10px;
		margin-bottom: 10px;
		font-size: 1.6rem;
		line-height: 1;
		width: 100%;
	}

	.entry>header .entry-info .category {}
}

/* ---------------------------------------------------
	tag
------------------------------------------------------ */
.taglist {
	width: 100%;
	max-width: 1200px;
	margin: 40px auto;
	padding: 0;
}

.taglist .tag {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.taglist .tag a {
	display: inline-block;
	padding: 5px 10px;
	border: 1px solid #999;
}

.taglist .tag a:hover {
	display: inline-block;
	padding: 5px 10px;
	border: 1px solid #999;
	background: #999;
	color: #FFF;
}

@media screen and (max-width: 896px),
(max-width: 896px) and (orientation:landscape) {
	.taglist {
		width: 100%;
		max-width: 100%;
		margin: 20px auto;
		padding: 0 10px;
	}

	.taglist .tag {}

	.taglist .tag a {}

	.taglist .tag a:hover {}
}

/* ---------------------------------------------------
	404
------------------------------------------------------ */
#article-404.entry-title {
	text-align: center;
	margin: 50px 0;
}

@media screen and (max-width: 896px),
(max-width: 896px) and (orientation:landscape) {}

/* ---------------------------------------------------
	お問い合わせ
------------------------------------------------------ */
.contact-box {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.contact-box a.contactlink{
    text-decoration: underline;
    color: #6775FF;
}
.contact-box a.contactlink:hover{
    text-decoration: none;
}

.contact-box .tel-box {
	width: 680px;
	margin: 0 auto 140px;
	padding: 30px 0;
	border: 1px solid #222;
	text-align: center;
}

.contact-box .tel-box h2 {
	margin-bottom: 0;
}

.entry-column .contact-box ul li {
	background: none;
	padding: 0;
}

.contact-box .contact-no {
	font-size: 4rem;
}

.contact-box .contact-no+p {
	margin-bottom: 0;
}

.contact-form,
.contact-form-group {
	background: none;
}

.contact-form-group {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
}

.contact-form-label {
	border-bottom: 1px solid #ccc;
	width: calc(100% / 3);
	padding: 15px;
}

.contact-form-control {
	border-bottom: 1px solid #ccc;
	width: calc((100% / 3) * 2);
	padding: 15px;
}

.contact-box input[type=date],
.contact-box input[type=datetime-local],
.contact-box input[type=datetime],
.contact-box input[type=email],
.contact-box input[type=month],
.contact-box input[type=number],
.contact-box input[type=password],
.contact-box input[type=search],
.contact-box input[type=tel],
.contact-box input[type=text],
.contact-box input[type=time],
.contact-box input[type=url],
.contact-box input[type=week] {
	padding: 5px;
}

.contact-box select {
	min-height: 40px;
	line-height: inherit;
}

.contact-box .acms-admin-form-radio {
	display: block;
	margin-bottom: 10px;
}

.contact-box .radio-sub {
	display: inline-block;
	padding-left: 25px;
	margin-bottom: 10px;
}

.form-btn-box {
	margin: 20px 10px;
}

.contact-box .btn-attention-block-large {
	position: relative;
	display: block;
	width: 100%;
	padding: 17px 20px 16px;
	border: 1px solid #0071BE;
	color: #0071BE;
	font-size: 1.8rem;
	font-weight: 400;
	text-align: center;
	text-decoration: none;
	background: #FFF;
	transition: all .25s ease;
	border-radius: 5px;
	margin: auto;
}

.contact-box .btn-attention-block-large:active,
.contact-box .btn-attention-block-large:focus,
.contact-box .btn-attention-block-large:hover {
	opacity: 0.8;
}

.contact-box .btn-large {
	font-weight: 500;
	padding: 15px 20px;
	border-radius: 0;
	background: #0071BE;
	border: 2px solid #0071BE;
	border-radius: 5px;
}

input,
select {
	font-weight: 500;
}

.contact-box .message-back-link a {
	color: #222;
}

.label-any {
	margin: 0 10px;
	margin-top: 4px;
	padding: 2px 8px;
	color: #fff;
	background: #666;
	border-radius: 3px;
	font-size: 1.2rem;
	float: right;
}

.label-required {
	float: right;
	margin-top: 4px;
	background: #D20000;
}

@media screen and (max-width: 896px),
(max-width: 896px) and (orientation:landscape) {
	.contact-form-group {
		flex-wrap: wrap;
	}

	.contact-form-label {
		width: 100%;
	}

	.contact-form-control {
		width: 100%;
	}

	.contact-box .tel-box {
		width: 94%;
		margin-bottom: 50px;
		padding: 0;
	}

	.contact-box .tel-box a {
		padding: 30px 0;
		display: block;
	}

	.contact-box .tel-box a:hover {
		text-decoration: none;
	}

	.contact-box .contact-no {
		font-size: 2.8rem;
	}

	.contact-box .fax {
		font-size: 2rem;
	}
	.label-any{
		margin: 4px 5px 0;
	}
}

/*動的フォーム*/
.entry-column li.contact-form-group{
    padding-left: 0;
    background: none;
}
.payment{border: 1px solid #000;padding: 20px;}
.payment p:first-of-type{margin-bottom: 15px;}
.payment p:last-of-type{margin-bottom: 0;}
.payment p:last-of-type span{text-align: right;display: block;}

/* ---------------------------------------------------
	footer
------------------------------------------------------ */
footer {
	margin-top: 100px;
}

.f-info {
	width: 100%;
	display: flex;
	margin-bottom: 60px;
}

.f-info .gmap {
	position: relative;
	width: 50%;
	height: 0;
	padding-top: 470px;
}

.f-info .gmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.f-info .text {
	width: 50%;
	background: url(../images/footer/f-address-bg.png) no-repeat center/cover;
	padding: 75px 0;
	text-align: center;
}
.font-large .f-info .text {
	padding-bottom: 50px;
}

.f-info .text a.f-logo:hover {
	opacity: 1;
}

.f-info .text .contact {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 40px;
}

.f-info .text .contact .tel {
	font-size: 4rem;
	font-weight: 700;
	letter-spacing: .03em;
	line-height: .7;
	color: #0071BE;
	margin-right: 30px;
}

.f-info .text img {
	width: 350px;
	margin-bottom: 20px;
}

.f-info .text p {
	font-size: 1.6rem;
	font-weight: 500;
	color: #222;
	letter-spacing: 0;
	line-height: 1.6;
	margin: auto;
}

.f-info .text p span {
	margin-bottom: 20px;
	font-size: 1.8rem;
	line-height: 1;
}
.f-info .text p span.address{
	display: block;
	/*text-align: center;*/
	margin-bottom: 0;
    text-align: left;
    margin-left: auto;
    margin-right: auto;
    max-width: fit-content;
    line-height: 1.5;
}
.f-info .text p span.address .auth{
    display: block;
    text-align: right;
    line-height: 1.5;
}
.f-info .text p.authorization {
	font-size: 1.8rem;
	margin-top: 30px;
	text-align: right;
	max-width: 400px;
}
.font-large .f-info .text p.authorization {
	padding-right: 0;
	max-width: 500px;
}

.f-info .text .contact .mail a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 260px;
	color: #FFF;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1.2;
	padding: 16px;
	border-radius: 5px;
	background: #0071BE;
}

.f-info .text .contact .mail a::before {
	content: "";
	display: inline-block;
	width: 27px;
	height: 30px;
	margin-right: 15px;
	background: url(../images/footer/f-mail-icon@2x.png) no-repeat center/contain;
}

footer .link-wrap {
	display: flex;
	justify-content: center;
	margin-bottom: 60px;
}

footer .link-wrap ul {
	margin: auto 20px;
}

footer .link-wrap>ul:last-of-type {
	margin-right: 90px;
}

footer .link-wrap ul li {
	margin-bottom: 15px;
}

footer .link-wrap ul li a {
	font-size: 1.7rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.2;
}

footer .link-wrap ul li ul {
	margin-right: 0;
	margin-left: 0;
	margin-top: 15px;
}

footer .link-wrap ul li ul li {
	position: relative;
}

footer .link-wrap ul li ul li::before {
	content: "-";
	color: #B8B4B0;
	margin-right: 5px;
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 1.2;
}

.f-banner {
	width: 320px;
	margin-right: 20px;
	text-align: center;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.6;
	color: #222;
}

.f-banner {
	margin-left: 50px;
}

.f-banner:last-of-type {
	margin-left: 0;
	margin-right: 0;
}

.f-banner img {
	margin-bottom: 10px;
}

p.copyright {
	font-family: Arial;
	text-align: center;
	color: #999999;
	margin-bottom: 40px;
	font-size: 1.3rem;
}

p.copyright small {
	font-size: 1.3rem;
	font-weight: 400;
	letter-spacing: .05em;
	line-height: 1.15;
}
@media screen and (max-width:1200px){
	footer {
		margin-top:calc(100vw * (100 / 1200));
	}
	
	.f-info {
		margin-bottom:calc(100vw * (60 / 1200));
	}
	
	.f-info .gmap {
		padding-top: calc(100vw * (470 / 1200));
	}	
	.f-info .text {
		padding: calc(100vw * (75 / 1200)) 0;
	}
	.f-info .text .contact {
		margin-top: calc(100vw * (40 / 1200));
	}
	
	.f-info .text .contact .tel {
		font-size: calc(100vw * (40 / 1200));
		margin-right: calc(100vw * (30 / 1200));
	}
	.f-info .text img {
		width: calc(100vw * (350 / 1200));
		margin-bottom: calc(100vw * (20 / 1200));
	}
	
	.f-info .text p {
		font-size: calc(100vw * (16 / 1200));
	}
	
	.f-info .text p span {
		margin-bottom: calc(100vw * (20 / 1200));
		font-size: calc(100vw * (18 / 1200));

	}
	
	.f-info .text .contact .mail a {
		width: calc(100vw * (260 / 1200));
		font-size: calc(100vw * (20 / 1200));
		padding: calc(100vw * (16 / 1200));
		border-radius: calc(100vw * (5 / 1200));
	}
	.f-info .text .contact .mail a::before {
		width: calc(100vw * (27 / 1200));
		height: calc(100vw * (30 / 1200));
		margin-right: calc(100vw * (15 / 1200));
	}
	
	footer .link-wrap {
		margin-bottom: calc(100vw * (60 / 1200));
	}
	
	footer .link-wrap ul {
		margin: auto calc(100vw * (25 / 1200));
	}
	
	footer .link-wrap>ul:last-of-type {
		margin-right: calc(100vw * (90 / 1200));
	}
	
	footer .link-wrap ul li {
		margin-bottom: calc(100vw * (15 / 1200));
	}
	
	footer .link-wrap ul li a {
		font-size: calc(100vw * (17 / 1200));
	}
	footer .link-wrap ul li ul {
		margin-top: calc(100vw * (15 / 1200));
	}
	footer .link-wrap ul li ul li::before {
		margin-right: calc(100vw * (5 / 1200));
		font-size: calc(100vw * (17 / 1200));
	}
	
	.f-banner {
		width: calc(100vw * (320 / 1200));
		margin-right: calc(100vw * (20 / 1200));
		font-size: calc(100vw * (15 / 1200));
	}
	
	.f-banner {
		margin-left: calc(100vw * (50 / 1200));
	}
	.f-banner img {
		margin-bottom: calc(100vw * (10 / 1200));
	}
	p.copyright {
		margin-bottom: calc(100vw * (40 / 1200));
		font-size: calc(100vw * (13 / 1200));
	}
	
	p.copyright small {
		font-size: calc(100vw * (13 / 1200));
	}
}
@media screen and (max-width: 896px),
(max-width: 896px) and (orientation:landscape) {
	footer {
		padding-bottom: 80px;
		margin-top: 60px;
	}

	p.copyright {
		margin-bottom: 10px;
	}

	.f-info {
		display: block;
		margin-bottom: 0;
	}

	.f-info .gmap {
		width: 100%;
		padding-top: 300px;
	}

	.f-info .text {
		width: 100%;
		padding: 40px 10px;
	}

	footer .link-wrap {
		margin-bottom: 40px;
		padding: 0 10px;
	}

	footer .link-wrap {
		display: none;
	}

	.f-info .text a {
		display: block;
		margin-bottom: 20px;
	}
	.f-info .text a img {
		width: 90%;
	}
	.f-info .text .contact {
		display: block;
	}
	.f-info .text p span.address{
		/* display: inline-block; */
		margin-bottom: 20px;
		font-size: 1.8rem;
		line-height: 1.4;
        width: fit-content;
	}
    .f-info .text p span.address .auth{
        font-size: 1.8rem;
    }
	.f-info .text p.authorization {
		font-size: 1.4rem;
		text-align: center;
	}
	.f-info .text .contact{
		margin-top: 40px;
	}
	.f-info .text .contact .mail a {
		width: 260px;
		font-size: 2rem;
		padding: 16px;
		border-radius: 5px;
	}
	.f-info .text .contact .mail a::before {
		width: 27px;
		height: 30px;
		margin-right: 15px;
	}

	.f-info .text p {
		font-size: 1.4rem;
		margin-bottom: 10px;
		line-height: 1.4;
		text-align: center;
	}

	.f-info .text .contact .tel {
		line-height: 1;
		margin: auto;
		margin-bottom: 20px;
	}

	.f-info .text .contact .tel a {
		color: #0071BE;
	}

	.f-banner {
		font-size: 1.2rem;
		text-align: left;
		margin-left: 0;
	}

	p.copyright small {
		font-size: 1.1rem;
		margin-bottom: 20px;
		padding: 0 20px;
	}

	/* スマホの時付いてくるやつ */
	.info-btn-wrap {
		position: fixed;
		bottom: 0;
		display: flex;
		width: 100%;
		z-index: 9999;
		left: 0;
	}

	.info-btn-wrap .item {
		width: 100%;
		background: #0071BE;
		position: relative;
	}

	.info-btn-wrap .item a {
		display: block;
		padding: 18px 0 17px;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #FFF;
		font-size: 1.7rem;
		font-weight: 700;
		letter-spacing: .05em;
		line-height: 1.4;
	}

	.info-btn-wrap .item a::before {
		content: "";
		display: inline-block;
		width: 16px;
		height: 20px;
		margin-right: 10px;
		background: url(../images/footer/sp-tel-icon.svg) no-repeat center/contain;
	}


	.info-btn-wrap .item:last-of-type a::before {
		content: "";
		display: inline-block;
		width: 22px;
		height: 24px;
		margin-right: 10px;
		background: url(../images/footer/sp-mail-icon.svg) no-repeat center/contain;
	}

}

@media screen and (max-width:896px) and (orientation:landscape){
	.f-info .text a img{width: 350px;}
}
/* @media screen and (max-width:414px) {
	.f-info .text p.authorization {
		width: 86%;
	}
}
@media screen and (max-width:390px) {
	.f-info .text p.authorization {
		width: 92%;
	}
}
@media screen and (max-width:375px) {
	.f-info .text p.authorization {
		width: 96%;
	}
}
@media screen and (max-width:360px) {
	.f-info .text p.authorization {
		width: 100%;
	}
} */
/* pagetop */
footer .pagetop {
	display: block;
	position: fixed;
	right: 0;
	bottom: -100%;
	z-index: 1000;
	transition: all 0.6s;
}

footer .pagetop.active {
	display: block;
	bottom: 35px;
	right: 10px;
}

footer .pagetop a img {
	width: 68px;
	height: 68px;
}

footer .pagetop a {
	display: block;
}

footer .pagetop a:hover {
	transform: translateY(-3px);
}

footer .pagetop a:hover img {
	opacity: 1;
}

@media screen and (max-width: 896px),
(max-width: 896px) and (orientation:landscape) {
	footer .pagetop {
		width: 44px;
	}

	footer .pagetop a:hover {
		transform: translateY(0);
	}

	footer .pagetop a img {
		width: 100%;
		height: 100%;
	}

	footer .pagetop.active {
		bottom: 60px;
		width: 80px;
	}
}

/* reCAPTCHA */
.grecaptcha-badge {
	bottom: 80px !important;
}


/* ---------------------------------------------------
	print
------------------------------------------------------ */
@page {
	size: A4;
	margin: 5mm;
}

@media print {
	body {
		width: 1000px;
		font-size: 1.6rem;
	}
}



.anim,
.index-anim>* {
	opacity: 0;
	transition: 1s;
}

.anim.is-active,
.index-anim .is-active {
	opacity: 1;
}




/* お知らせ */
.koblog-news {
	margin-bottom: 133px;
}

.koblog-news h2 {
	font-size: 2.8rem;
	letter-spacing: .05em;
	line-height: 1.4;
	font-weight: 700;
	text-align: center;
	margin-bottom: 40px;
}

.koblog-news h2 small {
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: .1em;
	line-height: 1.4;
	color: #0071BE;
	display: block;
}

.koblog-news .news-wrap {
	max-width: 1200px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	margin: auto;
	margin-bottom: 33px;
}

.koblog-news .news-wrap .item {
	width: 285px;
	margin-right: 20px;
	margin-bottom: 20px;
}

.koblog-news .news-wrap .item:hover {
	opacity: .7;
}

.koblog-news .news-wrap .item:nth-of-type(4n) {
	margin-right: 0;
}

.koblog-news .news-wrap .item .img-box {
	margin-bottom: 8px;
	overflow: hidden;
}

.koblog-news .news-wrap .item .p-1 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 10px;
}

.koblog-news .news-wrap .item .p-1 .date {
	font-size: 1.8rem;
	letter-spacing: .05em;
	line-height: 1.71;
	font-weight: 700;
	color: #666666;
}

.koblog-news .news-wrap .item .p-1 .cate {
	width: 100px;
	background: #F0ECE8;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0;
}

.koblog-news .news-wrap .item .p-2 {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
}

.koblog-news .index-btn {
	width: 100%;
	text-align: center;
}

.koblog-news .index-btn a {
	border: 2px solid #0071BE;
	border-radius: 5px;
	text-align: center;
	color: #0071BE;
	padding: 15px 28px 15px 20px;
	font-size: 1.6rem;
	letter-spacing: .05em;
	line-height: 1.4;
	font-weight: 500;
	position: relative;
	min-width: 240px;
	display: inline-block;
}

.koblog-news .index-btn a::after {
	content: "";
	display: inline-block;
	border-left: 8px solid #0071BE;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}

@media screen and (max-width:1300px){
	.koblog-news {
		margin-bottom:calc(100vw * (133 / 1300));
	}
	
	.koblog-news h2 {
		font-size: calc(100vw * (28 / 1300));
		margin-bottom: calc(100vw * (40 / 1300));
	}
	
	.koblog-news h2 small {
		font-size: calc(100vw * (16 / 1300));
	}
	
	.koblog-news .news-wrap {
		max-width: calc(100vw * (1200 / 1300));
		margin-bottom: calc(100vw * (33 / 1300));
	}
	
	.koblog-news .news-wrap .item {
		width: calc(100vw * (285 / 1300));
		margin-right: calc(100vw * (20 / 1300));
		margin-bottom: calc(100vw * (20 / 1300));
	}
	
	.koblog-news .news-wrap .item .p-1 {
		margin-bottom: calc(100vw * (10 / 1300));
	}
	.koblog-news .index-btn a {
		border: calc(100vw * (2 / 1300)) solid #0071BE;
		border-radius: calc(100vw * (5 / 1300));
		padding: calc(100vw * (15 / 1300)) 28px 15px 20px;
		font-size: calc(100vw * (16 / 1300));
		min-width: calc(100vw * (240 / 1300));
	}
	
	.koblog-news .index-btn a::after {
		border-left: calc(100vw * (8 / 1300)) solid #0071BE;
		border-top: calc(100vw * (5 / 1300)) solid transparent;
		border-bottom: calc(100vw * (5 / 1300)) solid transparent;
		right: calc(100vw * (20 / 1300));
	}
}


@media screen and (max-width: 896px),
(max-width: 896px) and (orientation:landscape) {
	.koblog-news {
		margin-bottom: 60px;
	}

	.koblog-news h2 {
		margin-bottom: 20px;
	}

	.koblog-news .news-wrap {
		padding: 0 10px;
		display: block;
	}

	.koblog-news .news-wrap .item {
		width: 100%;
		margin-bottom: 30px;
		margin-right: 0;
	}

	.koblog-news .news-wrap .item .p-1 {
		flex-wrap: wrap;
	}
	.koblog-news .news-wrap .item .img-box img {
		width: 100%;
		height: 200px;
		object-fit: cover;
	}
}

@media screen and (max-width: 896px) and (orientation:landscape) {
	.koblog-news .news-wrap {
		display: flex;
		flex-wrap: wrap;
	}

	.koblog-news .news-wrap .item {
		width: 49%;
		margin-right: 0;
	}

	.koblog-news .news-wrap .item:nth-of-type(2n) {
		margin-left: 1%;
	}
}



/* 刊行物 */
.publish-wrap{ max-width: 1200px; margin: auto;}

.publish-wrap .publish-notice{border:3px solid #0071BE;margin-bottom: 5rem;padding:3rem; }
.publish-wrap .publish-notice p{font-size: 1.8rem;}
.publish-wrap .publish-notice .indent{display: inline-block;padding-left: 2em;}

.publish-wrap h3{font-size: 2.4rem; line-height: 1.6; letter-spacing: .05em; margin-bottom: 20px;}
.publish-wrap .headline-title {margin: 0;}
.publish-wrap .headline-list{margin-bottom: 60px;}
.publish-wrap .headline-list:last-child{margin-bottom: 200px;}
.publish-wrap ul li{margin-bottom: 20px; border-bottom: 1px solid #222; font-size: 1.8rem; color: #222; line-height: 1.8; font-weight: 500; padding: 0 20px 15px;}
.publish-wrap ul li a:hover {color: #0071BE; text-decoration: underline; opacity: 1;}
.publish-wrap ul li .headline-dat{font-size: 1.8rem;}
.publish-wrap ul li .cat-name{font-size: 1.6rem;}
.publish-wrap .pickup .headline-kinds {background: #0B9546; color: #fff; font-size: 1.4rem; margin-right: 10px; height: 24px; text-align: center; display: inline-block; width: 100px;}
.publish-wrap .pickup .headline-kinds.kinds-new {letter-spacing: 1em; text-indent: 1em;}
.publish-wrap .pickup a {vertical-align: middle;}
.publish-wrap .pickup .headline-title {font-weight: 700; font-size: 2.2rem;}

.publish-wrap .pickup ul li:nth-of-type(2){
    border-bottom: 3px dashed #0071BE;
    /*border-bottom: 1px solid #222;*/
}


@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	.publish-wrap{padding: 0 10px;}
	.publish-wrap .publish-notice{padding: 1.5rem;}
	.publish-wrap .publish-notice .indent{padding-left:0;}

	.publish-wrap .headline-title {line-height: 1.6;}
	.publish-wrap .headline-list {margin-bottom: 40px;}
	.publish-wrap .pickup .headline-title {line-height: 1.4; font-size: 2rem;}
	.publish-wrap ul li{padding: 0 10px 10px;}
	.publish-wrap .headline-list:last-child{margin-bottom: 100px;}
}

/* シンポジウム */
.sympo-wrap{ max-width: 1200px; margin: auto;}
.sympo-wrap h2{color: #0071BE; font-size: 3.6rem; margin-bottom: 40px;}
.sympo-wrap h3{font-size: 2.4rem; line-height: 1.6; letter-spacing: .05em; margin-bottom: 20px;}
.sympo-wrap .headline-title {margin: 0; font-weight: 700; margin-bottom: 20px;}
.sympo-wrap .headline-list{margin-bottom: 60px;}
.sympo-wrap .headline-list:last-child{margin-bottom: 200px;}
.sympo-wrap ul li{margin-bottom: 40px; border-bottom: 1px solid #222; font-size: 1.8rem; color: #222; line-height: 1.8; font-weight: 500; padding: 0 20px 15px;}
.sympo-wrap ul li a:hover {color: #0071BE; text-decoration: underline; opacity: 1;}
.sympo-wrap .pickup {margin-bottom: 80px;}
.sympo-wrap .pickup a {color: #0071BE; text-align: right; display: block; font-size: 1.6rem;}
.sympo-wrap .pickup a::after{content: ""; display: inline-block; border-left: 8px solid #0071BE; border-top: 5px solid transparent; border-bottom: 5px solid transparent; margin-left: 20px; margin-bottom: 2px;}
.sympo-wrap .pickup a:hover{text-decoration: none; opacity: .4;}
.sympo-wrap .pickup .text{margin-bottom: 20px;}
.sympo-wrap .pickup .headline-title {font-weight: 700; font-size: 2.2rem; margin-bottom: 10px;}
.sympo-wrap .pickup ul li{border: none; margin-bottom: 0; padding: 0; border: 1px solid #0071BE; border-radius: 10px; padding: 40px; margin-bottom: 24px;}
.sympo-wrap .pickup ul li:last-child{margin-bottom: 0;}
.sympo-wrap .bnr-sympo{margin-bottom: 40px; max-width: 800px; width: 100%; margin: 0 auto 40px;}
.sympo-wrap .bnr-sympo img{display: block;margin: 0 auto;}
@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	.sympo-wrap{padding: 0 10px;}
	.sympo-wrap .pickup ul li{padding: 20px;}
	.sympo-wrap .pickup .headline-title{font-size: 2rem;}
	.sympo-wrap h2{font-size: 2.3rem; margin-bottom: 30px;}
	.sympo-wrap .headline-title{font-size: 2rem; line-height: 1.2;}
	.sympo-wrap .pickup{margin-bottom: 60px;}
	.sympo-wrap .headline-list:last-child{margin-bottom: 100px;}
	.sympo-wrap .bnr-sympo{margin-bottom: 20px;}
}