@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;}

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

html { font-size: 62.5%; }
@media screen and (max-width: 1440px) { html { font-size: 59.028%; } }
@media screen and (max-width: 1366px) { html { font-size: 55.556%; } }
@media screen and (max-width: 1280px) { html { font-size: 52.084%; } }
@media screen and (max-width: 1024px) { html { font-size: 48.612%; } }
@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) { html { font-size: 62.5%; } }

body {font-size: 18px; font-size: 1.8rem; line-height: 1.32; color: var(--charactercolor); font-family:var(--fontfamily), "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;position: relative; min-width: 1000px; background: var(--backgroundcolor);}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	body {font-size: 14px; font-size: 1.4rem; line-height: 1;  min-width: 0; -webkit-text-size-adjust: 100%;overflow-x: hidden;}
}

.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%);}
.module-section {margin: 0;}

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

/* スクロールヒント小さくする */
.scroll-hint-icon-wrap{height: 60% !important; width: 60% !important;}

.container {width: 100%; max-width: 1200px; margin: 0 auto;}
.container:after {content: ""; clear: both; display: block;}

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

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: var(--charactercolor); text-decoration: none;}
a:hover, a:visited {color: var(--charactercolor); text-decoration: none;}
a:hover {opacity: .7;}
.entry-column a:visited {color: var(--charactercolor);}
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.4; margin: 0;}

.flexbox {display: -ms-flexbox; display: -webkit-box; display: flex; flex-wrap: wrap; align-items: top; 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, .u-mincho {font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}
.gothic, .u-gothic {font-family: "游ゴシック 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: 767px), (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;}
	.txt-ll {font-size: 1.15em;}
}

/* ---------------------------------------------------
	bg-change
------------------------------------------------------ */
/*.bg-change01 { background-color: #FFF;}
.bg-change02 { background-color: #000;}
.bg-change03 { background-color: #00F;}*/

/* ---------------------------------------------------
	font-size-change
------------------------------------------------------ */
/*.is-fs-m {font-size: 120%;}
.is-fs-l {font-size: 140%;}*/

/* ---------------------------------------------------
	header
------------------------------------------------------ */
.l-header { position: absolute; top: 8rem; left: 0; width: 100%; box-sizing: border-box; z-index: 999; }
.l-header .menu-curtain {display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: var(--subthemecolor); opacity: 0; transition: opacity 0.3s linear; z-index: 9997; pointer-events: none; }
.l-header.is-open .menu-curtain { opacity: 0.5; pointer-events: auto; }
.l-header .logo { text-align: center; }
.l-header .logo a img{width: 35.4rem;object-fit: contain;}
.l-header .logo a:hover { opacity: 1; }
.l-header .hdr--btn { position: fixed; top: 0; right: 0; z-index: 9999; width: 14rem; height: 14rem; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.l-header .contact { right: 14rem; background-color: var(--themecolor); color: #fff; text-decoration: none !important;opacity: 1; }
.l-header .contact:hover { text-decoration: none !important; opacity: 0.8; }
.l-header .contact .i { display: block; text-align: center; }
.l-header .contact .t { display: block; font-size: 1.7rem; font-weight: 700;line-height: 1.4;letter-spacing: 0.05em; margin-top: 1.8rem; font-family:var(--fontfamily), 'Noto Serif JP';}
.l-header .hamburger { right: 0; background-color: #FFF; cursor: pointer; /* ナビ開いてる時のボタン */ }
.l-header .hamburger::after { content: "MENU"; display: block; color: var(--themecolor); font-size: 88.88%; font-family:var(--fontfamilyspecial), 'Libre Baskerville', serif; letter-spacing: 0.05em; text-align: center; line-height: 1.25; margin-top: 1.6rem; font-weight: 700; }
.l-header .hamburger__pos { display: block; width: 5rem; height: 2.6rem; position: relative; text-align: center; pointer-events: auto; transition: 0.25s; }
.l-header .hamburger__bar { display: block; width: 100%; height: 2px; position: absolute; left: 0; border-radius: 1px; background: var(--themecolor); -webkit-transition: 0.25s ease-in-out; -ms-transition: 0.25s ease-in-out; transition: 0.25s ease-in-out; }
.l-header .hamburger__bar:nth-child(1) { top: 0; }
.l-header .hamburger__bar:nth-child(2) { top: 1.2rem; }
.l-header .hamburger__bar:nth-child(3) { top: 2.4rem; }
.l-header .hamburger.is-active::after { content: "CLOSE"; }
.l-header .hamburger.is-active .hamburger__bar { transition: 0.2s; }
.l-header .hamburger.is-active .hamburger__bar:nth-child(1) { -webkit-transform: translateY(1.2rem) rotate(30deg); -ms-transform: translateY(1.2rem) rotate(30deg); transform: translateY(1.2rem) rotate(30deg); }
.l-header .hamburger.is-active .hamburger__bar:nth-child(2) { -webkit-transform: translateY(0) rotate(-30deg); -ms-transform: translateY(0) rotate(-30deg); transform: translateY(0) rotate(-30deg); }
.l-header .hamburger.is-active .hamburger__bar:nth-child(3) { -webkit-transform: translateY(-1.2rem) rotate(-30deg); -ms-transform: translateY(-1.2rem) rotate(-30deg); transform: translateY(-1.2rem) rotate(-30deg); }
.l-header .menu { position: fixed; top: 0; right: -100%; z-index: 9998; transition: 0.25s; width: 28rem; height: 100vh; box-sizing: border-box; background-color: var(--subthemecolor); overflow-y: auto; padding: 16rem 3rem 3rem; }
.l-header .menu nav ul li { margin-top: 3rem; font-size: 1.6rem; letter-spacing: 0.05em; font-weight: 700;font-family:var(--fontfamily), 'Noto Serif JP';}

/* .l-header .menu nav ul li ul{height: 100% !important; display: block !important;} */
.l-header .menu nav ul li ul li{font-weight: 500;margin-top: 1rem;}
.l-header .menu nav ul li ul li::before{content:"-";color: #AAA;font-size: 1.6rem;font-weight: 700;margin-right: 0.5rem;}
.l-header .menu nav ul li a { font-size: inherit; }
.l-header.is-open .menu { right: 0; scrollbar-width: none;}
.l-header.is-open .menu::-webkit-scrollbar{display: none;}

.is_tablet .l-header .menu nav ul li {font-size: 2rem;}

.language{position: absolute; right: 31rem;top: 2.1rem; z-index: 9;font-family:var(--fontfamily), 'Noto Serif JP';}
.language ul{display: flex;}
.language ul li::after{content: "/";font-size: 1.6rem;line-height: 2.25;}
.language ul li:last-of-type::after{content: none;}
.language ul li a{font-size: 1.6rem;line-height: 2.25;}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	/* #container { padding-top: 6rem; } */

	.l-header::after {content: ""; display: none;}
	.l-header { position: fixed; top: 0; left: 0; z-index: 9999; width: 100%; box-sizing: border-box; height: 6rem; background-color: #fff; padding: 0 6rem; }
	.l-header.is-open::after { opacity: 0.5; pointer-events: auto; }
	.l-header .logo { text-align: center; max-width: 21rem; margin: 2rem auto 0; position: relative; z-index: 9999; }
	.l-header .logo a img{width: 11.6rem;}
	.l-header .contact { display: block; margin-top: 3.5rem; margin-bottom: 2rem; margin-left: 2rem; margin-right: 2rem; color: #fff; text-decoration: none !important; transition: opacity 0.1s; opacity: 1; text-align: center; padding: 1.3rem 1rem 1.2rem; border-radius: 3rem; background-color: var(--themecolor); position: relative; right: auto; width: auto; height: auto;}
	.l-header .contact:hover { text-decoration: none !important; opacity: 0.8; }
	.l-header .contact .i { display: inline-block; *display: inline; *zoom: 1; vertical-align: middle; text-align: center; max-width: 2.1rem; margin-right: 1rem; }
	.l-header .contact .i img { vertical-align: middle; }
	.l-header .contact .t { display: inline-block; *display: inline; *zoom: 1; vertical-align: middle; font-size: 16px; font-size: 1.6rem; font-weight: bold; letter-spacing: 0.05em; line-height: 1; margin-top: 0; line-height: 2;}
	.l-header .hamburger { position: fixed; top: 0; right: 0; z-index: 9998; cursor: pointer; opacity: 1 !important; box-sizing: border-box; padding-top: 0.6rem; width: 6rem; height: 6rem; display: flex; flex-direction: column; align-items: center; justify-content: center; /* ナビ開いてる時のボタン */ background-color: #FFF;}
	.l-header .hamburger::after { content: "MENU"; display: block; color: var(--themecolor); font-size: 10px; font-size: 1rem; letter-spacing: 0.05em; text-align: center; line-height: 1; margin-top: 0.6rem; font-weight: bold; }
	.l-header .hamburger__pos { display: block; width: 3rem; height: 1.8rem; position: relative; text-align: center; pointer-events: auto; transition: 0.2s; }
	.l-header .hamburger__bar { display: block; width: 100%; height: 2px; position: absolute; left: 0; border-radius: 1px; background: var(--themecolor); -webkit-transition: 0.2s ease-in-out; -ms-transition: 0.2s ease-in-out; transition: 0.2s ease-in-out; }
	.l-header .hamburger__bar:nth-child(1) { top: 0; }
	.l-header .hamburger__bar:nth-child(2) { top: 0.8rem; }
	.l-header .hamburger__bar:nth-child(3) { top: 1.6rem; }
	.l-header .hamburger.is-active::after { content: "CLOSE"; }
	.l-header .hamburger.is-active .hamburger__bar { transition: 0.2s; }
	.l-header .hamburger.is-active .hamburger__bar:nth-child(1) { -webkit-transform: translateY(0.8rem) rotate(30deg); -ms-transform: translateY(0.8rem) rotate(30deg); transform: translateY(0.8rem) rotate(30deg); }
	.l-header .hamburger.is-active .hamburger__bar:nth-child(2) { -webkit-transform: translateY(0) rotate(-30deg); -ms-transform: translateY(0) rotate(-30deg); transform: translateY(0) rotate(-30deg); }
	.l-header .hamburger.is-active .hamburger__bar:nth-child(3) { -webkit-transform: translateY(-0.8rem) rotate(-30deg); -ms-transform: translateY(-0.8rem) rotate(-30deg); transform: translateY(-0.8rem) rotate(-30deg); }
	.l-header .menu { position: fixed; top: 0; top: 6rem; right: 0; z-index: 9998; width: 100%; box-sizing: border-box; height: 100%; height: 100vh; height: calc(100vh - 6rem); box-sizing: border-box; background-color: transparent; overflow-y: auto; transition: 0.2s; padding: 2.2rem 0 5rem; pointer-events: none; }
	.l-header .menu > * { transition: 0.25s; opacity: 0; }
	.l-header .menu nav ul li { margin-top: 0; font-size: 16px; font-size: 1.6rem; letter-spacing: 0.05em; font-weight: bold; line-height: 2em;}
	.l-header .menu nav ul li a { display: block; padding: 1rem 3.5rem; font-size: inherit;}
	.l-header .menu nav ul li ul li{display: flex;}
	.l-header .menu nav ul li ul li a{padding:0;}
	.l-header .menu nav ul li ul li::before{margin-left: 3.5rem;display: flex;align-items: center;}
	
	.l-header.is-open .menu { background-color: rgba(255, 255, 255, 0.9); pointer-events: auto; padding-bottom: 100px;}
	.l-header.is-open .menu > * { opacity: 1; }
	
	.l-header .menu .nav-language ul{display: flex;justify-content: center;margin-top:20px;}
    .l-header .menu .nav-language ul li{}
    .l-header .menu .nav-language ul li a{padding: 0 5px;}
}


/* ---------------------------------------------------
	gnavi
------------------------------------------------------ */
/*.gnavi {}
.gnavi > ul {display: flex; justify-content: space-between; align-items: center; flex-wrap: nowrap; margin: 0; list-style: none; padding: 0 50px 0 0;}
.gnavi > ul li {margin-right: 50px; margin-left: 0; padding: 0; list-style: none; color: var(--charactercolor); font-size: 20px; font-weight: bold; white-space: nowrap;}
.gnavi > ul li:last-child {margin-right: 0;}
.gnavi > ul li a {color: var(--charactercolor); font-size: 20px; font-weight: bold; white-space: nowrap;}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
.gnavi {display: none; width: 100vw; height: 100vh; background: rgba(14,34,57,0.95); position: fixed; top: 0; left: 0; z-index: 4000;}
.gnavi > ul {display: block; padding: 100px 0 0 0; width: 100%;}
.gnavi > ul li {margin-right: 0; margin-left: 0;  padding: 0; border-bottom: 1px dotted #FFF;}
.gnavi > ul li a {display: block; width: 100%; padding: 20px 0; text-align: center;}
}*/


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

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

/* ---------------------------------------------------
	下層ページタイトル
------------------------------------------------------ */
/* calc(100vw * 200 / 1920) */
.pagetit {width: 100%; height: 190px; position: relative; background:var(--backgroundcolor); text-align: center; margin-top: 14rem; border-bottom: 1px solid #CCC;}
.pagetit .page-title {font-family:var(--fontfamily), 'Noto Serif JP';margin: 0 auto;font-size: 3rem; font-weight: 700; line-height: 1.4; color: var(--charactercolor); letter-spacing: 0.15em; padding-top: 9rem;}
.pagetit .page-title .en {display: block; font-size: 1.8rem; font-weight: 700; letter-spacing: 0.2em; color: var(--themecolor);font-family:var(--fontfamilyspecial), 'Libre Baskerville', serif;}
.is_tablet .pagetit{height: calc(100vw * 250 / 1920);}
@media screen and (max-width: 1280px) and (orientation:landscape){
	.pagetit .page-title{padding-top: 6rem;}
}
@media screen and (max-width: 896px) and (orientation:landscape) {
	.pagetit {width: 100%; height: calc(100vw * 250 / 1920);}
	.pagetit .page-title{padding-top: 7rem;}
}
@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	.pagetit { height: 100px; margin-top: 0;}
	.pagetit .page-title {margin: 0 auto; font-size: 2rem; padding-top: 2rem;}
	.pagetit .page-title .en {font-size: 1.4rem;}
}

/* ---------------------------------------------------
	パンくず
------------------------------------------------------ */
.topicpath {font-family:var(--fontfamily), 'Noto Serif JP'; background: none; width: 100%; text-align: center; padding: 15px 0; margin-bottom: 0;line-height: 1.2;font-weight: 500;}
.topicpath .acms-container {max-width: 1200px;}
.topicpath-list { width: 100%; padding: 0;}
.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;}
.topicpath-item:nth-child(n + 2) a {color: var(--themecolor);}
.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;}

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

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

/* ---------------------------------------------------
	ページイメージ
------------------------------------------------------ */
.pageimage {width: 100%; margin-bottom: 6rem; text-align: center;}
.pageimage img{width: 100%;height: 54.2rem;object-fit: cover;}
@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	.pageimage {margin-bottom: 3rem;}
	.pageimage img{height: 17rem;}
}

/* ---------------------------------------------------
	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; border-radius: 50%;font-family:var(--fontfamily), 'Noto Serif JP';}
.pager li {width: 50px; height: 50px; border-radius: 50%; font-size: 1.8rem; background: var(--subthemecolor);}
.pager li.prev, .pager li.next {border: none; border-radius: 50%; background: none;}
.pager li.cur {background: var(--themecolor); color: #FFF; border-radius: 50%;}
.pager li > span {width: 100%; height: 100%;}
.pager li a {width: 100%; height: 100%; color: var(--charactercolor); text-decoration: none;}
.pager-link {background: var(--subthemecolor); padding: 10px;}
.pager-link:active, .pager-link:focus, .pager-link:visited { color: var(--charactercolor);}
.pager-link:hover {background: var(--themecolor); color: #FFF; border-radius: 50%; 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: var(--charactercolor); }

.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: center;}
.serial-nav .serial-nav-prev a{display: flex;justify-content: center;align-items: center;font-size: 1.7rem;}
.serial-nav .serial-nav-prev a::before{content: "";display: block;background-image: url(../images/common/ico-pager-prev.svg);background-repeat: no-repeat;background-size: contain;width: 6px;height: 12px;margin-right: 15px;}
.serial-nav .serial-nav-next {text-align: center;}
.serial-nav .serial-nav-next a{display: flex;justify-content: center;align-items: center;font-size: 1.7rem;}
.serial-nav .serial-nav-next a::after{content: "";display: block;background-image: url(../images/common/ico-pager-next.svg);background-repeat: no-repeat;background-size: contain;width: 6px;height: 12px;margin-left: 15px;}
.serial-nav a {display: block; padding: 7px 30px 8px; color: var(--themecolor); font-weight: bold;}
.serial-nav a:active, .serial-nav a:focus, .serial-nav a:hover, .serial-nav a:visited {color: var(--themecolor);}
.serial-nav a:hover {text-decoration: none;}
.serial-nav-item a { border: 1px solid var(--themecolor);border-radius: 30px;font-family:var(--fontfamily), "Noto Serif JP";font-weight: 500;min-width: 255px}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	.pager {margin: 20px 0;}
	.pager li {margin-bottom: 10px;width: 30px;height: 30px;margin: 0 2px;font-size: 18px;}
	.pager-link, .pager li.cur{padding: 0;}
	.pager li.prev .pager-link, .pager li.next .pager-link{padding: 0;}
	
	.serial-nav { padding: 0 10px;}
	.serial-nav .serial-nav-item { width: 48%;}
	.serial-nav a {padding: 10px 20px;}
	.serial-nav-item a {padding: 10px 20px;min-width: auto;}
}


/* ---------------------------------------------------
	子ブログ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; font-family:var(--fontfamily), 'Noto Serif JP';}
.koblog .koblog-card { width: 22.5%; margin-right: 3.33%; margin-bottom: 40px;font-family:var(--fontfamily), 'Noto Serif JP';}
.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 { color: var(--datecolor); display: inline-block; *display: inline; *zoom: 1; vertical-align: middle; font-size: 1.8rem;line-height: 1.4;font-weight: 500;}
.koblog .koblog-card .category { color: var(--themecolor); font-size: 77.77%; border: 1px solid currentColor; line-height: 1; padding: 2px; box-sizing: border-box; min-width: 11rem; display: inline-block; *display: inline; *zoom: 1; vertical-align: middle; text-align: center; margin-left: 2rem;}
_:-ms-fullscreen, :root .koblog .koblog-card .category { padding-top: 4px; }
.koblog .koblog-card .text { margin-top: 10px; line-height: 2;font-size: 1.8rem;}


@media screen and (max-width: 1230px) and (orientation:landscape){
	.koblog{padding: 50px 15px;}
}
@media screen and (max-width: 767px), (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 { color: var(--datecolor); display: inline-block; *display: inline; *zoom: 1; vertical-align: middle; }

.koblog .koblog-card .category { color: var(--themecolor); font-size: 77.77%; border: 1px solid currentColor; line-height: 1; padding: 2px; box-sizing: border-box; min-width: 11rem; display: inline-block; *display: inline; *zoom: 1; vertical-align: middle; text-align: center; margin-left: 2rem;}

.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 0 50px;}
.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: 2.8rem 0; border-bottom: 1px solid #DDDDDD;}
.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 .date { color: var(--datecolor); display: inline-block; *display: inline; *zoom: 1; vertical-align: middle; }
.koblog-news .koblog-card .category { color: var(--themecolor); font-size: 1.4rem; border: 1px solid currentColor; line-height: 1; padding: 2px; box-sizing: border-box; min-width: 11rem; display: flex; justify-content: center; align-items: center; text-align: center; margin-left: 2rem;}
_:-ms-fullscreen, :root .koblog-news .koblog-card .category { padding-top: 4px; }
.koblog-news .koblog-card .text { margin-top: 10px;}


@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	.koblog-news {width: 100%; max-width: 100%; margin: 0 auto; padding: 0 10px 30px; }
	.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: 100%; }
	.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: 14px; font-size: 0.875rem; margin-right: 20px;}
	.koblog-news .koblog-card .date { -webkit-box-flex: 0; -ms-flex: none; flex: none; margin-right: 10px; font-size: 20px; font-size: 1.25rem; line-height: 1; }
	.koblog-news .koblog-card .text { margin-top: 10px;}
}

/* ---------------------------------------------------
	子ブログ詳細
------------------------------------------------------ */
.entry > header {}
.entry > header h2 {font-family:var(--fontfamily), 'Noto Serif JP'; font-weight: 700; font-style: normal; font-size: 3.6rem; line-height: 1.4; color: var(--charactercolor); margin: 0 auto 50px; padding: 0 0 10px 0; border-left: none; letter-spacing: 0.05em; position: relative;}
.entry > header h2::before {content: ""; display: block; position: absolute; bottom: 0;top: auto; left: 50%; width: 30rem; border-bottom: 2px solid #CCCCCC; border-left: none ; transform: translateX(-50%);}
.entry > header h2::after {content: ""; display: block; position: absolute; bottom: 0; left: 50%; width: 12rem; border-bottom: 2px solid var(--themecolor); border-left: none; transform: translateX(-50%);}
.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 { font-size: 1.4rem; color: var(--datecolor); display: inline-block; vertical-align: middle; }
.entry > header .entry-info .category { color: var(--themecolor); font-size: 1.4rem; border: 1px solid currentColor; line-height: 1; padding: 2px; box-sizing: border-box; min-width: 11rem; display: flex; justify-content: center; align-items: center; text-align: center; margin-left: 2rem; }

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

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	.entry > header {}
	.entry > header h2 {font-size: 24px; margin: 0 auto 20px; padding: 0 0 10px 0;}
	.entry > header .entry-info {margin-bottom: 20px; padding: 0 10px;}
	.entry > header .entry-info .date { -webkit-box-flex: 0; -ms-flex: none; flex: none; margin-right: 10px; font-size: 20px; font-size: 1.25rem; line-height: 1; }
	.koblog-news .koblog-card .text { margin-top: 10px;}
	.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: 767px), (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 {}
#article-404.entry-title {text-align: center; margin: 50px 0;}

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

/* ---------------------------------------------------
	お問い合わせ
------------------------------------------------------ */
.contact {}
.contact-box {width: 100%; max-width: 1200px; margin: 60px auto 0;}
.contact-box h2.contact-mail{text-align: left;padding-left: 20px;padding-bottom: 0;}
.contact-box h2.contact-mail::before{content: ""; display: block; position: absolute; bottom: 0; left: 0; height: 100%; border-bottom: none; border-left: 2px solid #CCC;width: auto;}
.contact-box h2.contact-mail::after{content: ""; display: block; position: absolute; bottom: 0; left: 0; height: 50%; border-bottom: none; border-left: 2px solid var(--themecolor);width: auto;}
.contact-box .tel-box {width: 680px; margin: 0 auto 70px; padding: 30px 0; border: 1px solid #000; text-align: center;}
.contact-box .tel-box h2 {margin-bottom: 0;}
.contact-box .tel-box.contact-box .tel-box a{text-decoration: none;}
.entry-column .contact-box .tel-box h2::before {border-left:none;}
.entry-column .contact-box .tel-box h2::before {display: none;}
.entry-column .contact-box .tel-box h2::after {display: none;}
.entry-column .contact-box ul li {background: none; padding: 0;}
.entry-column .contact-box ul li::before{display: none;}
.entry-column .contact-form li{text-indent: 0;}
.entry-column .contact-form li::before{display: none;}
.contact-box .contact-no { font-size: 40px;}
.contact-box .contact-no + p {margin-bottom: 0;}
.contact-box .fax {}
.contact-box .contact-no span,
.contact-box .contact-no span a {}

.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;}
.entry-column .contact-form-control p{margin-bottom: 0;}
.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; margin-top: 60px;}

.contact-box .btn-attention-block-large {font-family:var(--fontfamily), 'Noto Serif JP';position: relative; display: block; width: 100%; padding: 16px 50px; border: 2px solid var(--themecolor); color: var(--themecolor); font-weight: bold; text-align: center; text-decoration: none; background: #FFF; transition: all .25s ease; border-radius: 30px; 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 { padding: 16px 50px; border-radius: 30px; transition: 0.3s;font-family:var(--fontfamily), 'Noto Serif JP';}
.contact-box .btn-large:hover {opacity: 0.8;background: var(--themecolor)}

input, select,textarea { font-family:var(--fontfamilyspecial), "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif; font-weight: 500;}

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

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

.contact-box .mail-step-item {display: flex;}
.contact-box .mail-step-item::before {position: inherit;line-height: 1.2;}

.btn-large{background:var(--themecolor); border: 2px solid var(--themecolor);}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
.contact-box{margin-top: 0;}
.contact-box a {text-decoration: none!important;}
.contact-box .tel-box {width: 94%;margin-bottom: 50px;padding: 15px 0;}
.contact-box .tel-box a {padding: 30px 0;}
.contact-box .tel-box a:hover {text-decoration: none;}
.contact-box .contact-no { font-size: 28px;}
.contact-box .fax { font-size: 20px;}
.contact-form-label,.contact-form-control {width: 100%;padding: 15px;}
.form-btn-box{margin-top: 30px;}
.entry-column .contact-form-control p{padding: 0; font-size: 16px;}
.label-any{margin: 0 5px;}
.label-required {margin: 0 5px;}
}

/* ---------------------------------------------------
	footer
------------------------------------------------------ */
.l-footer__top { display: flex; }
.l-footer__top > section { width: 50%; height: 22rem; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.l-footer__btm { text-align: center; padding-top: 6rem; }
.l-footer__btm .logo a:hover { opacity: 1; }
.l-footer .ft--contact { background-color: var(--themecolor); color: #fff;}
.l-footer .ft--contact .lead { letter-spacing: 0.05em; font-family:var(--fontfamily), 'Noto Serif JP';font-size: 1.8rem;letter-spacing: 0.05em;line-height: 1.32;font-weight: 400;}
.l-footer .ft--contact .btn { margin-top: 2rem; width: 100%; box-sizing: border-box; }
.l-footer .ft--contact .btn a { font-weight: bold; }
.l-footer .ft--sitemap { background-color: var(--subthemecolor); padding: 0 2rem; }
.l-footer .ft--sitemap .block { display: flex; align-self: flex-start; -ms-align-self: flex-start; }
.l-footer .ft--sitemap ul { margin: 0; margin-left: 4rem; }
.l-footer .ft--sitemap ul li { margin-top: 2rem; font-size: 88.88%; letter-spacing: 0.05em; }
.l-footer .ft--sitemap ul li:first-of-type { margin-top: 0; }
.l-footer .ft--sitemap ul li a { font-weight: 700; font-size:1.6rem;font-family:var(--fontfamily), 'Noto Serif JP';line-height: 1.4;letter-spacing: 0.05em;}
.l-footer .ft--sitemap ul li ul{margin-left: 0;/* height: 100% !important; display: block !important; */}
.l-footer .ft--sitemap ul li ul li{margin-top: 1rem;}
.l-footer .ft--sitemap ul li ul li:first-of-type{margin-top: 2rem;}
.l-footer .ft--sitemap ul li ul li a{font-weight: 500;}
.l-footer .ft--sitemap ul li ul li a::before{content:"-";color: #AAA;font-size: 1.6rem;font-weight: 700;margin-right: 0.5rem;}
.l-footer .txt-info {color: #222;font-family:var(--fontfamily), 'Noto Serif JP';font-size: 1.8rem;line-height: 1.8;font-weight: 500;color: var(--charactercolor);}
.l-footer .txt-info .f-map-link{color: var(--charactercolor);width: 6.2rem;margin: auto;}
.l-footer .txt-info .f-map-link span{border-bottom:1px solid var(--charactercolor); box-sizing: border-box;}

.l-footer .txt-info .f-map-link::after{
	content:"";display: inline-block;vertical-align: middle;
	/* background-image: url(../images/common/ico-blank@2x.png); */
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;

	background-color: var(--charactercolor);
	-webkit-mask-image: url(../images/common/ico-blank@2x.png);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	mask-image: url(../images/common/ico-blank@2x.png);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;

	
	width: 1.6rem;height: 1.6rem;margin-left: 0.8rem;
}

@media screen and (max-width: 1280px) { .l-footer .ft--sitemap dl { margin-left: 2rem; } }
.l-footer .ft--banner { margin-top: 4rem; }
.l-footer .ft--banner ul { display: flex; justify-content: center; }
.l-footer .ft--banner ul li { width: 36.667%; }
.l-footer .ft--banner ul li:nth-of-type(n+2) { margin-left: 3.33%; }
.l-footer .ft--banner ul li a { display: block; }
.l-footer .txt-info {width: 100%; box-sizing: border-box; margin-top: 2rem; line-height: 2.2;}
.l-footer .txt-info .yt { margin-left: 2rem; }
.l-footer .copyright {font-family:var(--fontfamily), 'Noto Serif JP';font-size: 1.5rem;line-height: 1.28;font-weight: 400; text-align: center; padding: 5rem 2rem 4.5rem; }

.is_tablet .l-footer .ft--sitemap ul li a {font-size:12px;}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	.l-footer__top { display: block; }
	.l-footer__top > section { width: 100%; height: auto; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem 2rem 3.5rem; }
	.l-footer__btm { text-align: center; padding-top: 4rem; }
	.l-footer .logo { max-width: 21rem; margin-left: auto; margin-right: auto; }
	.l-footer .ft--contact { background-color: var(--themecolor); color: #fff; margin-top: 6rem;min-height:auto;}
	.l-footer .ft--contact .lead { letter-spacing: 0.05em; line-height: 2em;}
	.l-footer .ft--contact .btn { margin-top: 1.5rem; width: 100%; box-sizing: border-box; }
	.l-footer .ft--contact .btn a { margin-left: auto; margin-right: auto; font-weight: 700; display: flex; align-items: center; justify-content: center; line-height: 2em;}
	.l-footer .ft--contact .btn a .i { display: flex; justify-content: center; align-items: center; }
	.l-footer .ft--sitemap { background-color: var(--subthemecolor); padding: 3rem 2rem 3.5rem; }
	.l-footer .ft--sitemap .block { display: flex; align-self: flex-start; -ms-align-self: flex-start; }
	.l-footer .ft--sitemap dl { margin: 0; margin-left: 1.5rem; }
	.l-footer .ft--sitemap dl:first-of-type { margin-left: 0; }
	.l-footer .ft--sitemap dl dt { line-height: 1.2; margin-top: 2rem; height: 2.4em; font-size: 12px; font-size: 1.2rem; letter-spacing: 0.05em; }
	.l-footer .ft--sitemap dl dt:first-of-type { margin-top: 0; }
	.l-footer .ft--sitemap dl dt a { font-weight: bold; font-size: inherit; }
	.l-footer .ft--banner { margin-top: 2.5rem; }
	.l-footer .ft--banner ul { display: flex; justify-content: center; }
	.l-footer .ft--banner ul li { width: 48%; }
	.l-footer .ft--banner ul li:nth-of-type(n+2) { margin-left: 4%; }
	.l-footer .ft--banner ul li a { display: block; }
	.l-footer .txt-info { display: block; width: 100%; box-sizing: border-box; margin-top: 1.5rem; line-height: 2; font-size: 14px;}
	.l-footer .txt-info .yt { display: block; margin-top: 1.2rem; max-width: 3.2rem; margin-left: auto; margin-right: auto; }
	.l-footer .copyright { font-size: 12px; font-size: 1.2rem; font-weight: 400; text-align: center; padding: 2.5rem 2rem 6.5rem; }
}

/*---------------------------
SP時画面下部 tel mail pagetop 
----------------------------*/
.footer-wrap{position: fixed;display: flex; bottom: 0;width: 100%;z-index: 998;font-family:var(--fontfamily), "Noto Serif JP";}
.pagetop {position: fixed; right: 0; bottom: 0; width: 6rem; z-index: 998; }

.pagetop svg{max-width: 100%;height: auto;line-height: 1;vertical-align: bottom;}
.pagetop svg #長方形_127{fill: var(--themecolor);}
.pagetop svg #パス_5278{fill: var(--themecolor);}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	 .footer-wrap .f-tel,.footer-wrap .contact{background: var(--themecolor);width: calc(50% - 26px);height: 50px;display: block;text-align: center;margin-right: 1px}
    .footer-wrap .f-tel span,.footer-wrap .contact span{color: #FFF;font-size: 16px;letter-spacing: 0.05em;line-height: 50px;font-weight: 500;}
    .footer-wrap .f-tel{}
    .footer-wrap .f-tel span{}
    .footer-wrap .f-tel span::before{background: url("../images/common/ico-tel.png");content: "";display: inline-block;width: 13px;height: 18px;background-repeat: no-repeat;background-position: center;background-size: contain;margin-right: 5px;vertical-align: middle;}
    .footer-wrap .contact{}
    .footer-wrap .contact span::before{background: url("../images/common/ico-mail.png");content: "";display: inline-block;width: 20px;height: 15px;background-repeat: no-repeat;background-position: center;background-size: contain;margin-right: 5px;vertical-align: middle;}
	.pagetop {width: 50px;height: 50px; z-index: 998; }
}


/* ---------------------------------------------------
	その他共通
------------------------------------------------------ */
.u-mt0 { margin-top: 0px; }
.u-mt5 { margin-top: 5px; }
.u-mt10 { margin-top: 10px; }
.u-mt15 { margin-top: 15px; }
.u-mt20 { margin-top: 20px; }
.u-mt30 { margin-top: 30px; }
.u-mt40 { margin-top: 40px; }
.u-mt50 { margin-top: 50px; }
.u-mt60 { margin-top: 60px; }
.u-mt70 { margin-top: 70px; }
.u-mt80 { margin-top: 80px; }
.u-mt90 { margin-top: 90px; }
.u-mb0 { margin-bottom: 0; }
.u-mb5 { margin-bottom: 5px; }
.u-mb10 { margin-bottom: 10px; }
.u-mb15 { margin-bottom: 15px; }
.u-mb20 { margin-bottom: 20px; }
.u-mb30 { margin-bottom: 30px; }
.u-mb40 { margin-bottom: 40px; }
.u-mb50 { margin-bottom: 50px; }
.u-mb60 { margin-bottom: 60px; }
.u-mb70 { margin-bottom: 70px; }
.u-mb80 { margin-bottom: 80px; }
.u-mb90 { margin-bottom: 90px; }
.u-pb0 { padding-bottom: 0px; }

.en { font-family: 'Lato', sans-serif; }

.u-col { color: #000; }
.u-col__red { color: #F00; }

.u-italic { font-style: italic; }

.u-center { text-align: center !important; }
.u-center th, .u-center td { text-align: center !important; }

.u-right { text-align: right !important; }
.u-right th, .u-right td { text-align: right !important; }

.u-left { text-align: left !important; }
.u-left th, .u-left td { text-align: left !important; }

.c-wrap { max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 20px; padding-right: 20px; }

.c-btn { text-align: center; line-height: 1; margin-top: 4rem; line-height: 1.4; font-family:var(--fontfamilyspecial), 'Libre Baskerville', serif;font-size: 1.7rem;font-weight: 400;letter-spacing: 0.1em}
.c-btn a { display: inline-block; *display: inline; *zoom: 1; text-decoration: none !important; transition: opacity 0.1s; opacity: 1; text-align: center; width: 100%; box-sizing: border-box; font-size: 94.44%; color: #fff; letter-spacing: 0.1em; background-color: var(--themecolor); padding: 1.1rem 1rem 1.2rem; border-radius: 3rem; max-width: 27rem; box-shadow: 0px 0.2rem 1.2rem 0px #2222226b; }
.c-btn a:hover { text-decoration: none !important; opacity: 0.8; }
.c-btn.en a {font-family:var(--fontfamilyspecial), 'Libre Baskerville', serif;font-size: 1.7rem;font-weight: 400;letter-spacing: 0.1em;line-height: 1.4;}

.c-btn2 { text-align: center; }
.c-btn2 a { display: inline-block; *display: inline; *zoom: 1; text-decoration: none !important; transition: opacity 0.1s; opacity: 1; text-align: center; width: 100%; box-sizing: border-box; max-width: 36rem; font-size: 111.11%; color: #fff; letter-spacing: 0.05em; background-color: var(--themecolor); box-shadow:0 -0.3rem 0.6rem 0 #ffffff29, 0 0.3rem 0.6rem 0 #00000029; border-radius: 3.5rem; padding: 1.6rem 1rem 1.5rem; border: 1px solid rgba(255, 255, 255, 0.15); }
.c-btn2 a:hover { text-decoration: none !important; opacity: 0.8; }
.c-btn2 a span { display: inline-block;  vertical-align: middle; }
.c-btn2 a .i { margin-right: 1rem; }
.c-btn2 a .i img { vertical-align: middle; }
.c-btn2 a .t { padding-top: 2px; font-family:var(--fontfamily), 'Noto Serif JP';letter-spacing: 0.05em;line-height: 1.19;font-weight: 700;}

.c-title { text-align: center; margin-bottom: 4.5rem; }
.c-title .ja {font-family:var(--fontfamily), 'Noto Serif JP';font-size: 3rem;line-height: 1.4;letter-spacing: 0.15em; font-weight: 700; }
.c-title .en {font-family:var(--fontfamilyspecial), 'Libre Baskerville', serif;line-height: 1.4;font-size: 100%;letter-spacing: 0.2em; display: block; color: var(--themecolor); margin-top: 0.8rem; font-weight: 400; }

.c-lead {font-family:var(--fontfamily), 'Noto Serif JP';text-align: center; font-size: 2rem; line-height: 2.4;font-weight: 500;}

.c-lead2 { text-align: center; font-size: 1.8rem; line-height: 2.4; font-family:var(--fontfamily), 'Noto Serif JP';}
@media screen and (max-width: 1366px) { .c-lead2 { line-height: 2.2; } }

.c-table__nostyle { width: 100%; }
.c-table__nostyle th, .c-table__nostyle td { padding: 2px 0 !important; border: 0; font-weight: normal; text-align: left; vertical-align: top; background: transparent; }

.u-indent { text-indent: -1em; padding-left: 1em; }

.comfortaa { font-family: 'Comfortaa', cursive; }

.lato { font-family: 'Lato', sans-serif; }

.noto { font-family: 'Noto Sans JP', sans-serif; }

.c-info .post { padding: 2.5rem 0; border-bottom: 1px solid #DDDDDD; font-family:var(--fontfamily), 'Noto Serif JP';}
.c-info .post .date { color: var(--datecolor); display: inline-block; vertical-align: middle; font-size: 14px;line-height: 1.4;font-weight: 500;}
.c-info .post .cat { color: var(--themecolor); font-size: 77.77%; border: 1px solid currentColor; line-height: 1; padding: 2px; box-sizing: border-box; min-width: 11rem; display: inline-block; vertical-align: middle; text-align: center; margin-left: 2rem; }
.c-info .post__title { margin-top: 1rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 1.8rem;line-height: 1.6;font-weight: 400;}
.c-info .btn { text-align: center; margin-top: 4rem; }
.c-info .btn a { text-decoration: none !important; transition: opacity 0.1s; opacity: 1; font-size: 1.7rem; letter-spacing: 0.1em;line-height: 1.4;color: var(--themecolor); padding: 0 1rem; display: inline-block; border-bottom: 1px solid currentColor; font-family:var(--fontfamilyspecial), 'Libre Baskerville', serif;}
.c-info .btn a:hover { text-decoration: none !important; opacity: 0.8; }
.c-info .btn a span { display: inline-block; *display: inline; *zoom: 1; vertical-align: middle; }
.c-info .btn a span.i { margin-left: 0.8rem; }
.c-info .btn a span.i img { vertical-align: middle; }

#__bs_notify__ { display: none !important; }

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

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	.c-wrap { padding-left: 2rem; padding-right: 2rem; }
	.c-btn.en a {font-size: 1.3rem; line-height: 1;}
	.c-btn { text-align: center; line-height: 1; margin-top: 2rem; }
	.c-btn a { display: inline-block; *display: inline; *zoom: 1; text-decoration: none !important; transition: opacity 0.1s; opacity: 1; text-align: center; width: 100%; box-sizing: border-box; font-size: 13px; font-size: 1.3rem; color: #fff; letter-spacing: 0.1em; background-color: var(--themecolor); padding: 1.1rem 1rem 1.2rem; border-radius: 3rem; max-width: 20rem; box-shadow: 0px 0.2rem 1.2rem 0px #2222226b; }
	.c-btn a:hover { text-decoration: none !important; opacity: 0.8; }
	/* .c-btn.en a { font-family: 'Lato', sans-serif; } */

	.c-btn2 { text-align: center; }
	.c-btn2 a { display: inline-block; *display: inline; *zoom: 1; text-decoration: none !important; transition: opacity 0.1s; opacity: 1; text-align: center; width: 100%; box-sizing: border-box; max-width: 26rem; font-size: 16px; font-size: 1.6rem; color: #fff; letter-spacing: 0.05em; background-color: var(--themecolor); box-shadow: 0px 0.3rem 0.6rem 0px rgba(0, 0, 0, 0.16); border-radius: 3.5rem; padding: 1.1rem 1rem 1rem; border: 1px solid rgba(255, 255, 255, 0.15); }
	.c-btn2 a:hover { text-decoration: none !important; opacity: 0.8; }
	.c-btn2 a span { display: inline-block; *display: inline; *zoom: 1; vertical-align: middle; }
	.c-btn2 a .i { margin-right: 0.7rem; }
	.c-btn2 a .i img { vertical-align: middle; max-width: 80%; }

	.c-title { text-align: center; margin-bottom: 2.3rem; line-height: 1.4; }
	.c-title .ja { font-size: 20px; font-size: 2rem;  letter-spacing: 0.15em; font-weight: bold; display: block; }
	.c-title .en { font-size: 12px; font-size: 1.2rem; letter-spacing: 0.2em; color: var(--themecolor); margin-top: 0; font-weight: bold; }

	.c-lead { text-align: center; font-size: 14px; line-height: 2; }

	.c-lead2 { text-align: center; font-size: 100%; line-height: 2; }

	.c-table__nostyle { width: 100%; }
	.c-table__nostyle th, .c-table__nostyle td { padding: 2px 0 !important; border: 0; font-weight: normal; text-align: left; vertical-align: top; background: transparent; }

	.c-info .post { padding: 1.4rem 0; border-bottom: 1px solid #DDDDDD; }
	.c-info .post .date { color: var(--datecolor); display: inline-block; *display: inline; *zoom: 1; vertical-align: middle; }
	.c-info .post .cat { color: var(--themecolor); font-size: 12px; font-size: 1.2rem; border: 1px solid currentColor; line-height: 1; padding: 2px; box-sizing: border-box; min-width: 10rem; display: inline-block; *display: inline; *zoom: 1; vertical-align: middle; text-align: center; margin-left: 1.2rem; }
	.c-info .post__title { margin-top: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.c-info .btn { text-align: center; margin-top: 2rem; }
	.c-info .btn a { text-decoration: none !important; transition: opacity 0.1s; opacity: 1; font-size: 13px; font-size: 1.3rem; letter-spacing: 0.1em; color: var(--themecolor); padding: 0 1rem; display: inline-block; *display: inline; *zoom: 1; border-bottom: 1px solid currentColor; }
	.c-info .btn a:hover { text-decoration: none !important; opacity: 0.8; }
	.c-info .btn a span { display: inline-block; *display: inline; *zoom: 1; vertical-align: middle; }
	.c-info .btn a span.i { margin-left: 0.5rem; }
	.c-info .btn a span.i img { max-width: 90%; vertical-align: middle; }

	#__bs_notify__ { display: none !important; }
}


/* ---------------------------------------------------
	print
------------------------------------------------------ */
@page {size: A4; margin: 5mm;}
@media print {
	body {width: 1000px;font-size: 16px;}
}


.iframe-wrap {width: 100%;aspect-ratio: 16 / 9;}
.iframe-wrap iframe { width: 100%; height: 100%;}

.js-edit_inplace:has(> .bgontxt){
	max-width: 100%;
} 
