@charset "utf-8";
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	font-size: 1em;
	border: 0;
	outline: 0;
	background: transparent;
}
html {
	font-size: 62.5%;
	overflow: auto;
}
body, table, input, textarea, select, option {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	max-width: 100%;
	vertical-align: top;
}
a, a:link {
	/*color: #514F4F;*/
	text-decoration: none;
}
a:visited {
	color: #514F4F;
}
a:hover {
	color: #514F4F;
}
a:active {
	color: #514F4F;
}

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
* html .clearfix {
	zoom: 1;
}
* + html .clearfix {
	zoom: 1;
}
.clearfix:after {
	height: 0;
	display: block;
	clear: both;
	visibility: hidden;
	content: ".";
}
.en {
    font-family: "garamond-premier-pro";
    font-weight: 400;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1150px;
	color: #514F4F;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
	background-color: #FFF;
	overflow: hidden;
}
#container {
	text-align: left;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}

@media all and (min-width: 768px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 767px) {
	body {
		min-width: inherit;
		font-size: 1.4rem;
	}
	#container {
		position: relative;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
	a:hover, a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	position: fixed;
	width: 100%;
	top: 0;
	padding: 10px;
	z-index: 100;
	background-color: #FFF;
	border-bottom: 1px solid #DEDEDE;
}
#gHeader .hBox {
	margin: 0 auto;
	width: 1128px;
	display: flex;
	justify-content: space-between;
}
#gHeader .ROGOBArogo {
	margin: 5px 0 0 0;
	width: 148px;
}
#gHeader .hBtn {
	margin: 12px 83px 0 0;
	width: 123px;
}
#gHeader .hBtn a {
	padding: 3px 5px 2px;
	display: block;
	color: #FFF;
	font-size: 1.5rem;
	text-align: center;
	background-color: #E50112;
}
#gHeader .hBtn a:hover {
	background-color: #514F50;
}

@media all and (min-width: 768px) {
	.menu, .menuBox {
		display: none !important;
	}
}
@media all and (max-width: 767px) {
	#gHeader {
		padding: 0;
		border-bottom: 1px solid #EEE;
	}
	#gHeader .hBox {
		padding:  10px 0px 15px 30px;
		width: auto;
		display: block;
		background-color: #FFF;
	}
	#gHeader h1 {
		margin: -5px;
		width: auto;
		text-align: center;
	}
	#gHeader .hBtn {
		display: none;
	}
	#gHeader.on {
		border-bottom: 1px solid #E2E2E2;
	}
	.menu {
		width: 30px;
		height: 20px;
		display: block;
		position: absolute;
		right: 20px;
		top: 23px;
		cursor: pointer;
	}
	.menu span {
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		top: 5px;
		background-color: #E30C00;
		transition: all .35s ease;
	}
	.menu span:nth-child(2) {
		top: 14px;
	}
	.menu.on span:nth-child(1) {
		transform: translateY(4px) translateX(0) rotate(45deg);
	}
	.menu.on span:nth-child(2) {
		transform: translateY(-5px) translateX(0) rotate(-45deg);
	}
	.menuBox {
		display: none;
		width: 100%;
		height: 100%;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 99;
		overflow: auto;
		background-color: #FFF;
	}
	.menuBox .menuList {
		margin: 88px 10px 30px;
		text-align: center;
	}
	.menuBox .menuList li {
		margin: 0 auto 0px;
		width: 82%;
		min-width: 293px;
		position: relative;
		border-bottom: 1px solid #E2E2E2;
	}
	.menuBox .menuList li:last-child {
		margin-bottom: 0;
	}
	.menuBox .menuList li .subBtn {
		width: 25px;
		height: 40px;
		display: block;
		position: absolute;
		right: 0;
		top: 1px;
	}
	.menuBox .menuList li .subBtn:before {
		margin-top: -2px;
		width: 15px;
		height: 1px;
		position: absolute;
		top: 50%;
		right: 3px;
		background-color: #EA4840;
		content: '';
	}
	.menuBox .menuList li .subBtn:after {
		margin-top: -9px;
		width: 1px;
		height: 15px;
		position: absolute;
		top: 50%;
		right: 10px;
		background-color: #EA4840;
		content: '';
	}
	.menuBox .menuList li .subBtn.on:after {
		display: none;
	}
	
	
	
	.menuBox .menuList li a {
		padding: 12px 0;
		display: block;
		color: #E30C00;
		font-size: 1.9rem;
		line-height: 17px;
		/*background: url("img/common/icon02.png") no-repeat right 4px center;
		background-size: 13px auto;*/
	}
	.Btn_b {
		padding: 8px 0px 0px;
	}
	.menuBox .menuList li a {
		padding: 12px 0;
		display: block;
		color: #E30C00;
		font-size: 1.9rem;
		line-height: 17px;
		/*background: url("img/common/icon02.png") no-repeat right 4px center;
		background-size: 13px auto;*/
	}
	.menuBox .menuList li a.parent {
		text-align: left;
		background: none;
		padding-left: 10px;
	}
	.menuBox .menuList li:nth-child(1) {
		padding-right: 0;
	}
	.menuBox .menuList li a img {
		margin: -3px 54px 0 3px;
	}
	.menuBox .menuList li .subList {
		display: none;
		border-top: 1px solid #E2E2E2;
	}
	.menuBox .menuList li .subList li {
		margin-bottom: 0;
	}
	.menuBox .menuList li .subList li:last-child {
		border-bottom: none;
	}
	.menuBox .menuList li .subList li a {
		padding: 16px 0;
		color: #514F4F;
		font-size: 1.4rem;
		/*background: url("img/common/icon03.png") no-repeat right 6px center;
		background-size: 8px auto;*/
	}
	
	
	/* --- 二層目（元々の設定） --- */
.menuBox .menuList li .subList {
    display: none;
    border-top: 1px solid #E2E2E2;
}
/* --- 三層目用の追加設定 --- */
.menuBox .menuList li .subList li .subList {
    /* 三層目の上の線は不要 */
    background-color: #fcfcfc; /* 三層目をさらに濃いグレーにして階層を強調 */
}



	
	
	
	.menuBox .mBtn {
		margin: 0 auto 35px;
		width: 180px;
	}
	.menuBox .mBtn a {
		padding: 12px;
		display: block;
		color: #FFF;
		font-size: 2rem;
		text-align: center;
		background-color: #AB2210;
	}
	.menuBox .wBtn a {
		color: #AB2210;
		background-color: #fff;
		border: 3px solid #AB2210;
	}
	.menuBox .innerBox {
		padding: 33px 5px;
		text-align: center;
		background-color: #AB2210;
	}
	.menuBox .innerBox .mSnsList {
		margin: 0 4px 25px 0;
		display: flex;
		justify-content: center;
		text-align: center;
	}
	.menuBox .innerBox .mSnsList li {
		margin: 0 11px;
	}
	.menuBox .innerBox .mSnsList li a {
		display: block;
		color: #FFF;
		font-size: 1rem;
	}
	.menuBox .innerBox .mSnsList li a img {
		width: 37px;
	}
	.menuBox .innerBox .mSnsList li a .txt {
		margin-top: 5px;
		display: block;
	}
	.menuBox .linkList {
		margin-top: -13px;
	}
	.menuBox .linkList li {
		margin-top: 13px;
		display: inline-block;
		vertical-align: top;
		color: #FFF;
	}
	.menuBox .linkList li:nth-child(1) {
		width: 100%;
	}
	.menuBox .linkList li a {
		color: #FFF;
		font-size: 1.5rem;
	}
}
@media all and (max-width: 359px) {
	#gHeader h1 img {
		width: 200px;
	}
	.menuBox .linkList li a {
		font-size: 1.4rem;
	}
}
/*------------------------------------------------------------
	gNavi
------------------------------------------------------------*/
#gNavi {
	width: 670px;
}
#gNavi .naviList {
	display: flex;
	justify-content: space-between;
}
#gNavi .naviList li {
	position: relative;
}
#gNavi .naviList li a {
	padding: 17px 0 13px;
	display: block;
	color: #E60012;
	font-size: 1.55rem;
}
#gNavi .naviList li a img {
	margin-top: 4px;
	margin-right: 3px;
}
#gNavi .naviList li a:hover {
	opacity: 0.7;
}
#gNavi .naviList li .subNavi {
	display: none;
	padding: 3px 15px;
	width: 120px;
	position: absolute;
	left: 50%;
	top: 100%;
	border: 1px solid #F28088;
	background-color: #FFF;
	transform: translateX(-50%);
}
#gNavi .naviList > li:nth-child(1) .subNavi {
	width: 172px;
}
#gNavi .naviList li .subNavi li {
	margin-bottom: 0;
	position: relative;
}
#gNavi .naviList li .subNavi li:before {
	width: 114px;
	height: 1px;
	position: absolute;
	left: 50%;
	bottom: 0;
	background-color: #C0C0C0;
	transform: translateX(-50%);
	content: '';
}
#gNavi .naviList li .subNavi li:last-child:before {
	display: none;
}
#gNavi .naviList li .subNavi li a {
	padding: 12px 0;
	box-sizing: border-box;
	position: relative;
	display: block;
	color: #514F4F;
	font-size: 1.2rem;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	text-align: center;
}

#gNavi .naviList li .subsubNavi {
    display: none; /* 普段は非表示 */
    position: absolute;
    
    /* 2層目LIの右横に配置 */
    top: 0;      /* 2層目のLIの上端に揃える */
    left: 105%;  /* 2層目のLIの右端から始まる */
    
    /* デザイン設定（必要に応じて調整） */
    width: 172px; /* 適切な幅を設定 */
    background: #FFF;
    border: 1px solid #F28088;
    padding: 3px 0; /* 2層目のULと合わせる */
    list-style: none;
    margin: 0;
    z-index: 30; /* 確実に前面に表示 */
}
/* 2. 2層目のLIにホバーしたとき、3層目ULを表示 */
#gNavi .naviList li .subNavi li:hover > .subsubNavi {
    display: block;
}
/* 3. 3層目メニュー内のリンクのスタイル */
#gNavi .naviList li .subsubNavi li a {
	display: block;
	padding: 10px 15px; /* 適切なパディングを設定 */
	color: #514F4F;
	text-align: center;
	font-size: 1.1rem;
	box-sizing: border-box;
    width: 100%;
}

@media all and (max-width: 767px) {
	#gNavi {
		display: none;
	}
}
/*------------------------------------------------------------
	パンクズリスト
------------------------------------------------------------*/
#pagePath {
	margin: 40px auto;
	width: 1024px;
	font-size: 1.2rem;
}
#pagePath li {
	display: inline;
}
#pagePath a {
	margin-right: 3px;
	display: inline-block;
}
#pagePath a:hover {
	text-decoration: underline;
}
@media all and (max-width: 767px) {
	#pagePath {
		margin: 10px 10px 15px;
		width: auto;
		font-size: 1.15rem;
	}
	#pagePath a:hover {
		text-decoration: none;
	}
}
/*------------------------------------------------------------
	pageNavi
------------------------------------------------------------*/
.pageNavi {
	padding-bottom: 20px;
	font-size: 1.2rem;
}
.pageNavi ul {
	margin: 0 auto;
	width: 1024px;
}
.pageNavi li {
	display: inline;
}
.pageNavi a {
	margin-right: 3px;
	display: inline-block;
}
.pageNavi a:hover {
	text-decoration: underline;
}
@media all and (max-width: 767px) {
	.pageNavi {
		padding: 0 10px 15px;
		font-size: 1.15rem;
	}
	.pageNavi ul {
		width: auto;
	}
	.pageNavi a:hover {
		text-decoration: none;
	}
}



/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	padding: 60px 0 52px;
	position: relative;
	background-color: #900000;
}
#gFooter .fBox {
	margin: 0 auto;
	/*padding-left: 74px;*/
	width: 980px;
	display: flex;
	justify-content: space-between;
	color: #FFF;
}
#gFooter .fNavi {
	margin-top: -15px;
	width: 613px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#gFooter .fNavi li {
	margin-top: 15px;
	width: 298px;
}
#gFooter .fNavi li a img {
    margin: 2px 0 0 8px; /* 既存のマージン */
    display: unset;
}
#gFooter .fNavi li a {
	display: block;
	color: #FFF;
	font-size: 1.5rem;
}
#gFooter .fNavi li a:hover {
	opacity: 0.7;
}
#gFooter .fNavi li a {
	padding-left: 21px;
	background: url("img/common/icon04.png") no-repeat left top 3px;
	background-size: 10px auto;
}
#gFooter .subBox {
    margin-top: -5px;
	padding: 4px 0 0 44px;
	width: 326px;
	border-left: 1px solid rgba(255, 255, 255, 0.8);
}
#gFooter .fLogo {
	margin-bottom: 20px;
	text-align: right;
}
#gFooter .fLogo img {
	width: 150px;
}
#gFooter .fSnsList {
	margin-bottom: 17px;
	display: flex;
	text-align: center;
	justify-content: flex-end;
}
#gFooter .fSnsList li {
	margin-left: 12px;
}
#gFooter .fSnsList li a {
	display: block;
	color: #FFF;
}
#gFooter .fSnsList li a:hover {
	opacity: 0.7;
}
#gFooter .fSnsList li img {
	width: 31px;
}
#gFooter .fSnsList li .txt {
	margin-top: 1px;
	display: block;
	font-size: 0.9rem;
}
#gFooter .fLinkList {
	margin: 0 8px 18px 0;
	text-align: right;
	font-size: 1.3rem;
}
#gFooter .fLinkList li {
	display: inline-block;
	vertical-align: top;
}
#gFooter .fLinkList li a {
	margin-right: 3px;
	color: #FFF;
}
#gFooter .fLinkList li a:hover {
	text-decoration: underline;
}
#gFooter .copyright {
	text-align: right;
	font-size: 1.1rem;
}
.pageTop {
	display: none;
	width: auto;
    height: 46px;
	position: fixed;
	right: 25px;
	bottom: 20px;
	z-index: 100;
}
.pageTop img {
    width: auto;
    height: 100%;
}
.pageTop a:hover {
	opacity: 0.7;
}
.pageTop.on {
	position: absolute;
	bottom: 100%;
}
@media all and (max-width: 767px) {
	#gFooter {
		padding: 56px 15px 18px;
		background-color: #AB2210;
	}
	#gFooter .fBox {
		margin: 0;
		padding-left: 0;
		width: auto;
		display: block;
	}
	#gFooter .fNavi {
		display: none;
	}
	#gFooter .subBox {
		margin-top: 0;
		padding: 0;
		width: auto;
		border-left: none;
	}
	#gFooter .fLogo {
		margin: 0 auto 31px;
		width: auto;
        text-align: center;
	}
	#gFooter .fSnsList {
		margin: 0 0 34px;
		justify-content: center;
	}
	#gFooter .fSnsList li {
		margin: 0 11px;
	}
	#gFooter .fSnsList li img {
		width: 37px;
	}
	#gFooter .fSnsList li .txt {
		margin-top: 5px;
		font-size: 1rem;
	}
	#gFooter .fLinkList {
		margin: 0 0 15px;
		text-align: center;
		font-size: 1.5rem;
	}
	#gFooter .fLinkList li a:hover {
		text-decoration: none;
	}
	#gFooter .copyright {
		margin: 0;
		text-align: center;
		font-size: 1.2rem;
	}
	.pageTop {
		z-index: 10;
	}
}
@media all and (max-width: 370px) {
	#gFooter .fLinkList {
		font-size: 4vw;
	}
}
/*------------------------------------------------------------
	共通
------------------------------------------------------------*/
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	margin: 0 auto;
	width: 924px;
}
@media all and (max-width: 767px) {
	.content {
		margin: 0 19px;
		width: auto;
	}
}
/*------------------------------------------------------------
	headLine07
------------------------------------------------------------*/
.headLine07 {
	margin-bottom: 27px;
	position: relative;
	font-weight: 500;
}
.headLine07 .jp {
	display: block;
	font-size: 1.2rem;
}
.headLine07 .en {
	font-size: 3.9rem;
	line-height: 1.23;
    font-weight: 500;
}
.headLine07 .comBtn a {
	color: #514F4F;
}
@media all and (max-width: 767px) {
	.headLine07 {
		margin-bottom: 12px;
	}
	.headLine07:before {
		display: none;
	}
	.headLine07 .jp {
		margin: 0 0 4px 15px;
		display: inline-block;
		vertical-align: bottom;
		font-size: 1.3rem;
	}
	.headLine07 .en {
		display: inline-block;
		vertical-align: bottom;
		font-size: 3rem;
		line-height: 1.23;
	}
}
@media all and (max-width: 359px) {
	.headLine07 .jp {
		margin-left: 10px;
	}
	.headLine07 .en {
		font-size: 8.3vw;
	}
}
/*------------------------------------------------------------
	comBtn
------------------------------------------------------------*/
.comBtn {
	margin: 0 auto;
	width: 236px;
}
.comBtn a {
	padding: 14px;
	display: block;
	font-size: 1.3rem;
	letter-spacing: 0.02em;
	text-align: center;
	border: 1px solid #C2C2C2;
}
.comBtn span a {
	font-size: 1.2rem;
	background-color: #FACB8F;
	padding: 14px 0 14px 0;
	margin-top: 30px;
}
.comBtn a:hover {
	opacity: 0.7;
}
.comBtn a .inn {
	padding: 2px 30px 0 0;
	display: inline-block;
	vertical-align: top;
	background: url("img/common/icon01.png") no-repeat right center;
	background-size: 12px auto;
}
.comBtn a img {
	margin: 2px 0 0 12px;
}
@media all and (max-width: 767px) {
	.comBtn {
		width: 100%;
		max-width: 256px;
	}
	.comBtn a {
		padding: 15px 0 13px 10px;
		font-size: 1.6rem;
	}
	.comBtn a .inn {
		padding: 0 26px 0 0;
		background-size: 13px auto;
	}
	.comBtn a img {
		margin: -5px 0 0 10px;
		width: 139px;
		vertical-align: middle;
	}
}
@media all and (max-width: 374px) {
	.comBtn a img {
        width: auto;
		max-width: 139px;
	}
}
/*------------------------------------------------------------
	トップページ
------------------------------------------------------------*/
  
/*.carousel-container {
  position: relative;
  width: auto;
  overflow: hidden;
  margin: auto;
  margin-top: 68px;
}

.carousel-slide {
  display: flex;
  transition: transform 1s ease-in-out;
}

.carousel-slide img {
  width: 500px;
  flex-shrink: 0;
}

.prev, .next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  padding: 10px;
  cursor: pointer;
}

.prev {
  left: 10px;
}

.next {
  right: 10px;
}
*/

/*スライド*/
/* スライドショーのコンテナ */
.slideshow-container {
    width: auto; /* 表示領域の幅 */
    height: 942px; /* 表示領域の高さ */
    position: relative; /* 子要素(画像)を重ねるための基準 */
    margin: 53px auto;
    overflow: hidden;
    /*border: 5px solid #333;*/
}

/* 各画像（スライド）のスタイル */
.slide {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 画像をコンテナに合わせて表示 */
    position: absolute; /* 親要素の枠内で画像を重ねる */
    top: 0;
    left: 0;
    opacity: 0; /* 🌟 初期状態では透明にして隠す 🌟 */
    transition: opacity 1s ease-in-out; /* 1秒かけてフェードイン・アウト */
}

/* 現在表示中の画像に適用するクラス */
.active {
    opacity: 1; /* 🌟 このクラスがついた画像だけを表示する 🌟 */
}



.top_Box {
	display: flex; /* 要素を横並びにする */
 	justify-content: space-between; /* 要素間に均等なスペースを空ける */
	width: auto;
	font-size: 1.4rem;
	line-height: 1.94;
	font-family: ｍｓ 明朝, ms mincho, ヒラギノ明朝 pro w3, hiragino mincho pro, serif;
	background-color:#f5bbbf63;
}
.top_Box_01 {
	display: flex; /* 要素を横並びにする */
 	justify-content: space-between; /* 要素間に均等なスペースを空ける */
	width: auto;
	font-size: 1.4rem;
	line-height: 1.94;
	font-family: ｍｓ 明朝, ms mincho, ヒラギノ明朝 pro w3, hiragino mincho pro, serif;
	background-color:rgba(219,223,232,1);
}
.top_Box_02 {
	display: flex; /* 要素を横並びにする */
 	justify-content: space-between; /* 要素間に均等なスペースを空ける */
	width: auto;
	font-size: 1.4rem;
	line-height: 1.94;
	font-family: ｍｓ 明朝, ms mincho, ヒラギノ明朝 pro w3, hiragino mincho pro, serif;
	background-color: rgba(255,231,203,1.00);
}
.top_Box_03 {
	display: flex; /* 要素を横並びにする */
 	justify-content: space-between; /* 要素間に均等なスペースを空ける */
	width: auto;
	font-size: 1.4rem;
	line-height: 1.94;
	font-family: ｍｓ 明朝, ms mincho, ヒラギノ明朝 pro w3, hiragino mincho pro, serif;
	background-color:rgba(213,220,214,1);
}
.top_Box_04 {
	display: flex; /* 要素を横並びにする */
 	justify-content: space-between; /* 要素間に均等なスペースを空ける */
	width: auto;
	font-size: 1.4rem;
	line-height: 1.94;
	font-family: ｍｓ 明朝, ms mincho, ヒラギノ明朝 pro w3, hiragino mincho pro, serif;
	background-color: rgb(109 151 154 / 40%);
}
.top_Box_05 {
	display: flex; /* 要素を横並びにする */
 	justify-content: space-between; /* 要素間に均等なスペースを空ける */
	width: auto;
	font-size: 1.4rem;
	line-height: 1.94;
	font-family: ｍｓ 明朝, ms mincho, ヒラギノ明朝 pro w3, hiragino mincho pro, serif;
	background-color:rgba(246,242,215,1.00);
}
.top_Box_06 {
	display: flex; /* 要素を横並びにする */
 	justify-content: space-between; /* 要素間に均等なスペースを空ける */
	width: auto;
	font-size: 1.4rem;
	line-height: 1.94;
	font-family: ｍｓ 明朝, ms mincho, ヒラギノ明朝 pro w3, hiragino mincho pro, serif;
	background-color:rgb(251 241 255);
}
.top_text_01 {
	width: 47%;
	font-size: 1.4rem;
	line-height: 1.94;
	font-family: ｍｓ 明朝, ms mincho, ヒラギノ明朝 pro w3, hiragino mincho pro, serif;
	margin: auto;
    text-align: center;
}
.top_text_t {
	margin-bottom: 27px;
    position: relative;
    font-weight: 500;
	font-size: 3.9rem;
	line-height: 1.23;
}




.top_img_01 {
	width: 50%;
}












.topimg img {
	width: auto;
}
.topBox {
	text-align: center;
}
.topBox .logo {
	padding: 34px 0 28px;
	border-bottom: 1px solid #7F8180;
}
.topBox .mainVisual img {
	width: 100%;
	margin-top: 72px;
	margin-bottom: 52px;
}

#main {
	/*margin-bottom: 189px;*/
	overflow: hidden;
}	
#main .moreBtn {
	text-align: right;
}
#main .moreBtn a {
	padding-right: 28px;
	display: inline-block;
	vertical-align: top;
	background: url("img/common/icon01.png") no-repeat right center;
	background-size: 12px auto;
	margin-top: 20px;
}
#main .moreBtn a:hover {
	opacity: 0.7;
}
#main .tnews {
	padding: 5px;
}
#main .mark {
    box-sizing: border-box;
    margin: -4px 3px;
    padding: 3px 5px 1px;
    min-width: 68px;
    display: inline-block;
    vertical-align: top;
    color: #FFF;
    font-size: 1.2rem;
    text-align: center;
    background-color: #B18C57;
}
#main .mark_k {
    box-sizing: border-box;
    margin: -4px 3px;
    padding: 3px 5px 1px;
    min-width: 68px;
    display: inline-block;
    vertical-align: top;
    color: #FFF;
    font-size: 1.2rem;
    text-align: center;
    background-color: #E50112;
}

#main .sec01 {
	margin: 100px 225px;
}


#main .sec02 {
	width: auto;
	padding: 66px 0 68px;
	background: url("img/top/image_top.jpg") no-repeat center center;
	background-size: cover;
}
#main .sec02 .content {
	box-sizing: border-box;
	padding: 72px 123px 76px;
	border-radius: 45px;
}
#main .sec02 .content .m_rogo {
	display: flex;
	margin-bottom: 20px;
}
#main .sec02 .content .m_rogo img {
	width: 50px;
}
#main .sec02 .content .m_rogo span{
	color: #FFF;
	width: 120px;
	padding-top: 30px;
}

#main .linkList {
	margin: 0 auto 234px;
	width: 1060px;
	display: flex;
	justify-content: space-between;
}
#main .linkList li a {
	width: 495px;
	height: 495px;
	display: block;
	position: relative;
	color: #FFF;
	text-align: center;
	border-radius: 100%;
}

#main .insBox {
	margin-bottom: 75px;
}
#main .insBox .h2Ttl02 {
	margin-bottom: 49px;
	text-align: center;
}
#main .insBox .h2Ttl02 .txt {
	padding-left: 112px;
	position: relative;
	display: inline-block;
	vertical-align: top;
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1.78;
	text-align: left;
}
#main .insBox .h2Ttl02 .txt .ico {
	margin: 1px 0 0 -7px;
	width: 106px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
#main .insBox .innerBox {
	margin-bottom: 19px;
	padding: 0 30px;
	position: relative;
	overflow: hidden;
}
#main .insBox .insList {
	text-align: center;
}
#main .insBox .insList .slick-slide > div {
	margin: 0 20px;
	width: 258px;
}
#main .insBox .insList li {
	display: inline-block;
	vertical-align: top;
}
#main .insBox .insList li a:hover {
    opacity: 0.7;
}
#main .insBox .insList li img {
	width: 258px;
}
#main .insBox .arrowList li {
	margin-top: -2px;
	width: 18px;
	position: absolute;
	top: 50%;
	z-index: 2;
    cursor: pointer;
	transform: translateY(-50%);
}
#main .insBox .arrowList .prev {
	left: calc(50% - 458px);
}
#main .insBox .arrowList .next {
	right: calc(50% - 458px);
}
#main .insBox .iscwp-gallery-slider .slick-prev {
	left: -30px;
}
#main .insBox .iscwp-gallery-slider .slick-next {
	right: -30px;
}
#main .insBox .moreBtn {
	margin: 0 auto;
	width: 900px;
}
#main .blogBox .content {
	width: 1050px;
}
#main .blogBox .h2Ttl03 {
	margin-bottom: 13px;
	text-align: center;
	font-size: 2.8rem;
	font-weight: 500;
}
#main .blogBox .cTxt {
	margin-bottom: 28px;
	text-align: center;
	font-size: 1.3rem;
	line-height: 1.95;
}
#main .blogBox .blogList {
	margin-bottom: 34px;
	display: flex;
	flex-wrap: wrap;
}
#main .blogBox .blogList li {
	margin-right: 30px;
	width: 240px;
}
#main .blogBox .blogList li:nth-child(4n) {
	margin-right: 0;
}
#main .blogBox .blogList li a {
	width: 100%;
	height: 100%;
	display: block;
}
#main .blogBox .blogList li a:hover {
	opacity: 0.7;
}
#main .blogBox .blogList li .photo {
	margin-bottom: 16px;
}
#main .blogBox .blogList li .photo img {
	object-fit: cover;
	object-position: top;
}
#main .blogBox .blogList li p span {
	display: inline-block;
	vertical-align: top;
}
#main .blogBox .blogList li .mark {
	box-sizing: border-box;
	margin-right: 15px;
	padding: 3px 5px 1px;
	width: 68px;
	color: #FFF;
	font-size: 1.2rem;
	text-align: center;
	background-color: #B28B57;
}
#main .blogBox .blogList li .time {
	margin-top: 1px;
}
#main .blogBox .blogList li .text01 {
	margin-bottom: 11px;
}
#main .blogBox .blogList li .ttl {
	margin-bottom: 14px;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.6;
	text-align: justify;
	text-justify: inter-ideograph;
}
#main .blogBox .blogList li .text02 {
	text-align: justify;
	text-justify: inter-ideograph;
	font-size: 1.37rem;
	line-height: 1.97;
}
#main .blogBox .comBtn {
	width: 190px;
}
#main .blogBox .comBtn a {
	padding-left: 19px;
}
#main .blogBox .comBtn a .inn {
	padding: 2px 40px 0 0;
}
#main .blogBox .comBtn a:hover {
    opacity: 1;
    color: #FFF;
    background-color: #514F50;
}
#main .blogBox .comBtn a:hover .inn {
    background-image: url("img/common/icon11.png");
}
#main .linksdgs {	
    display: block;
    text-align: center;
    color: #E60012;
	border: 7px solid #c8dca9;
	border-radius: 25px;
	font-size: 1.5rem;
    padding: 15px;
    font-family: "yu-mincho-pr6",sans-serif;
	width: 700px;
	/*<!--height: 80px;-->*/
	margin: -70px auto 100px;
}
#main .linksdgs div {
	font-size: 25px;
	border-bottom: 1px solid #B9B8B6;
	width: 644px;
	margin: auto;
	margin-bottom: 10px;
	color: #E30C00;
}
#main .linksdgs span{
	color: #E30C00;
}
#pagePath a {
    margin-right: 3px;
    display: inline-block;
	color: #5D5A5A;
}
 .content {
	width: 920px;
}

@media all and (max-width: 767px) {
.slideshow-container {
	height: 262px;
	width: auto;
}
.top_Box {
	flex-direction: column;
	width: auto;
}
.top_img_01 {
	width: 80%;
    margin: 40px auto;
}
.top_text_01 {
	width: 85%;
	margin-bottom: 40px;	
}
.top_Box_01 {
	flex-direction: column;
	width: auto;
} 
.top_Box_02 {
	flex-direction: column;
	width: auto;
}
.top_Box_03 {
	flex-direction: column;
	width: auto;
}
.top_Box_04 {
	flex-direction: column;
	width: auto;
}
.top_Box_05 {
	flex-direction: column;
	width: auto;
}
.top_Box_06 {
	flex-direction: column;
	width: auto;
}
	
}
@media screen and (max-width: 376px) {
    .slideshow-container {
	height: 250px;
	width: auto;
}
}

/*CSS*/
#feed {
	width: 400px;
	height: 160px;
	margin: 0;
	overflow-y: scroll;
	font-size:12px;
	}
#feed ul li {
	line-height:1.8em;
	margin:0 0 10px -40px;
	padding-bottom:10px;
	list-style: none;
	border-width: 0 0 1px 0;
	border-bottom: dotted;
	border-color: #cccccc;
	}
#feed ul li p.wp {
	font-weight:bold;
	margin-bottom:6px;
	}
#feed ul li p.day {
	text-align:right;
	margin:6px;
	}
/*CSS*/

@media all and (-ms-high-contrast:none) {
	#main .sec01 .imgBox .textBox .comBtn a .inn {
		padding: 0 38px 2px 0;
	}
	#main .blogBox .blogList li .mark {
		padding: 6px 5px 0;
		line-height: 1.3;
	}
	#main .blogBox .comBtn a .inn {
		padding: 0 40px 2px 0;
	}
}
@media all and (max-width: 767px) {
	#gHeader {
		margin-bottom: 0;
		border-bottom: none;
	}
	.mainVisual {
		margin-top: 83px;
		margin-bottom: 44px;
	}
	.mainVisual img {
		margin: 0;
		width: 100%;
	}
	#main {
		margin-bottom: 150px;
	}
	#main .moreBtn a {
		padding-right: 40px;
		font-size: 1.6rem;
		text-decoration: underline;
		background-size: 13px auto;
		background-image: url("img/common/sp_icon01.png");
	}
	#main .sec02 {
		margin-bottom: 116px;
		padding: 55px 22px 55px;
		background-image: url("img/index/sp_bg01.jpg");
	}
	#main .sec02 .content {
		width: 100%;
		margin: 0;
		padding: 48px 20px 56px;
		border-radius: 25px;
	}
	#main .sec02 .headLine04 {
		margin-bottom: 19px;
		padding-bottom: 6px;
		font-size: 2.5rem;
		border-bottom: 1px solid #DEDEDE;
	}
	#main .sec02 .headLine04 .spTxt {
		margin-left: 25px;
	}
	#main .sec02 p {
		margin: 0 4px 35px;
		line-height: 2.25;
		text-align: justify;
		text-justify: inter-ideograph;
	}
	#main .sec01 {
		margin-bottom: 112px;
		margin: 60px auto 10px;
	}
	#main .sec01 .content {
		width: auto;
	}
	#main .sec01 .imgBox {
		max-width: inherit;
	}
	#main .sec01 .bd2:before {
		margin-left: 0;
		width: 140%;
		height: 134%;
		left: 5%;
		top: 63%;
		border-radius: 25px;
		background-color: #FAE5DC;
		transform: none;
	}
	#main .sec01 .bd4:before {
		margin-left: 0;
		width: calc(100% - 56px);
		height: calc(100% - 108px);
		left: 15px;
		top: 0;
		border-radius: 25px;
		background-color: #F9ECD8;
		transform: none;
	}
	#main .sec01 .imgBox .photoBox {
		margin-bottom: 8px;
		width: auto;
		float: none;
	}
	#main .sec01 .imgBox .photoBox img {
		width: 100%;
		        padding: 10px 60px;
	}
	#main .sec01 .imgBox .textBox {
		margin: 0 28px;
		width: auto;
		float: none;
	}
	#main .sec01 .imgBox .textBox .innerBox {
		margin: 0;
		width: auto;
	}
	#main .sec01 .imgBox .textBox p {
		margin-bottom: 56px;
		line-height: 2.08;
		font-size: 1.4rem;
		letter-spacing: -0.5px;
	}
	#main .sec01 .imgBox .textBox .comBtn {
		width: 198px;
	}
	#main .sec01 .imgBox .textBox .comBtn a {
		padding: 13px 0 14px 28px;
        color: #000;
	}
	#main .sec01 .imgBox .textBox .comBtn a .inn {
		padding: 2px 34px 0 0;
	}
    #main .sec01 .imgBox .textBox .comBtn a:hover {
        color: #000;
        background-color: #FFF;
    }
    #main .sec01 .imgBox .textBox .comBtn a:hover .inn {
        background-image: url("img/common/icon01.png");
    }
	
	#main .sec01 .imgBox_l {
		max-width: inherit;
	}
	#main .sec01 .bd1:before {
		margin-left: 0;
		width: calc(100% - 56px);
		height: calc(100% - 172px);
		left: 0;
		top: 0;
		border-radius: 0 0 25px 0;
		background-color: rgba(128, 199, 245, 0.31);
		transform: none;
	}
	#main .sec01 .imgBox_l .photoBox {
		margin-bottom: 8px;
		width: auto;
		float: none;
	}
	#main .sec01 .imgBox_l .photoBox img {
		width: 100%;
		padding: 10px 60px;
	}
	#main .sec01 .imgBox_l .textBox {
		margin: 0 28px;
		width: auto;
		float: none;
	}
	#main .sec01 .imgBox_l .textBox .innerBox {
		margin: 0;
		width: auto;
	}
	#main .sec01 .imgBox_l .textBox p {
		margin-bottom: 56px;
		line-height: 2.08;
		font-size: 1.4rem;
		letter-spacing: -0.5px;
	}
	#main .sec01 .imgBox_l .textBox .comBtn {
		width: 198px;
	}
	#main .sec01 .imgBox_l .textBox .comBtn a {
		padding: 13px 0 14px 28px;
        color: #000;
	}
	#main .sec01 .imgBox_l .textBox .comBtn a .inn {
		padding: 2px 34px 0 0;
	}
    #main .sec01 .imgBox_l .textBox .comBtn a:hover {
        color: #000;
        background-color: #FFF;
    }
    #main .sec01 .imgBox_l .textBox .comBtn a:hover .inn {
        background-image: url("img/common/icon01.png");
    }
	
	#main .linkList {
		box-sizing: border-box;
		margin: 0 auto 112px;
		padding: 0 5px;
		max-width: 375px;
		width: 100%;
		display: block;
	}
	#main .linkList li + li {
		margin-top: 52px;
	}
	#main .linkList li a {
		width: 100%;
		height: auto;
	}
	#main .linkList li a:hover .innerBox {
		background-color: transparent;
	}
	#main .linkList li a .innerBox .h2Ttl01 {
		margin-bottom: 15px;
		line-height: 1.2;
	}
	#main .linkList li a .innerBox .h2Ttl01 .jp {
		margin-bottom: 0;
		font-size: 1.5rem;
	}
	#main .linkList li a .innerBox .h2Ttl01 .en {
		font-size: 3rem;
	}
	#main .linkList li a .innerBox p {
		margin-bottom: 34px;
		font-size: 1.4rem;
		line-height: 2.07;
	}
	#main .linkList li a .innerBox .btn {
		padding: 16px 10px 14px 30px;
		width: 198px;
		font-size: 1.6rem;
	}
	#main .linkList li a .innerBox .btn .en {
		padding-right: 38px;
		background-size: 13px auto;
	}
    #main .linkList li a:hover {
        color: #FFF;
    }
    #main .linkList li a:hover .innerBox .h2Ttl01 {
        text-shadow: 1px 1px 10px rgba(0, 0, 0, 0.5), -1px -1px 10px rgba(0, 0, 0, 0.5);
    }
    #main .linkList li a:hover .innerBox p {
        text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.8), -1px -1px 5px rgba(0, 0, 0, 0.8);
    }
    #main .linkList li a:hover .innerBox .btn {
        color: #000;
        background-color: #FFF;
    }
    #main .linkList li a:hover .innerBox .btn .en {
        background-image: url("img/common/icon01.png");
    }
	#main .insBox {
		margin: 0 13px 100px;
	}
	#main .insBox .h2Ttl02 {
		margin-bottom: 39px;
		text-align: center;
	}
	#main .insBox .h2Ttl02 .txt {
		padding-left: 0;
		display: block;
		font-size: 1.5rem;
		line-height: 1.74;
		text-align: center;
	}
	#main .insBox .h2Ttl02 .txt .ico {
		margin: 0 auto 19px;
		width: 94px;
		display: block;
		position: relative;
		left: auto;
		top: auto;
		transform: none;
	}
	#main .insBox .innerBox {
		margin-bottom: 18px;
		padding: 0 30px;
	}
	#main .insBox .insList {
		margin-top: -8px;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	#main .insBox .insList li {
		margin: 8px 0 0;
		width: 49%;
		display: block;
	}
	#main .insBox .insList li img {
		width: auto;
	}
	#main .insBox .arrowList {
		display: none;
	}
	#main .insBox .iscwp-gallery-slider .slick-prev {
		left: -30px;
	}
	#main .insBox .iscwp-gallery-slider .slick-next {
		right: -30px;
	}
	#main .insBox .moreBtn {
		margin: 0;
		width: auto;
	}
	#main .insBox .moreBtn a {
		padding-right: 20px;
	}
	#main .blogBox .content {
		margin: 0 23px;
		width: auto;
	}
	#main .blogBox .h2Ttl03 {
		margin-bottom: 12px;
		font-size: 3rem;
	}
	#main .blogBox .cTxt {
		margin: 0 -5px 27px;
		font-size: 1.5rem;
		line-height: 1.66;
	}
	#main .blogBox .blogList {
		margin-bottom: 39px;
		display: block;
	}
	#main .blogBox .blogList li {
		margin: 0 0 41px;
		width: auto;
	}
	#main .blogBox .blogList li:last-child {
		margin: 0;
	}
	#main .blogBox .blogList li .photo {
		margin-bottom: 11px;
		text-align: center;
	}
	#main .blogBox .blogList li .mark {
		margin-right: 16px;
		padding: 1px 5px 0;
		width: 82px;
		font-size: 1.4rem;
		background-color: #C1A14E;
	}
	#main .mark {
		margin: 4px 1px;
		padding: 3px 9px 3px;
		width: 50px;
		font-size: 0.9rem;
	}
	#main .mark_k {
		margin: 4px 6px 6px 0px;
		padding: 3px 7px 3px;
		width: 100px;
		font-size: 0.9rem;
	}
	/*#main .sps {
		padding-bottom: 70px;
	}*/
	#main .blogBox .blogList li .time {
		margin-top: 0;
	}
	#main .blogBox .blogList li .text01 {
		margin-bottom: 7px;
	}
	#main .blogBox .blogList li .ttl {
		margin-bottom: 4px;
		font-size: 1.75rem;
		line-height: 1.2;
	}
	#main .blogBox .blogList li .text02 {
		font-size: 1.4rem;
		line-height: 1.58;
	}
	#main .blogBox .comBtn {
		width: 176px;
	}
    #main .blogBox .comBtn a {
        color: #000;
    }
	#main .blogBox .comBtn a .inn {
		padding: 0 42px 0 0;
	}
    #main .blogBox .comBtn a:hover {
        color: #000;
        background-color: #FFF;
    }
    #main .blogBox .comBtn a:hover .inn {
        background-image: url("img/common/icon01.png");
    }
}
@media all and (max-width: 370px) {
	#main .blogBox .cTxt {
		font-size: 4vw;
	}
}
@media all and (max-width: 359px) {
	#main .sec01 p span {
		font-size: 3.8vw;
	}
	#main .linkList li a .innerBox p {
		margin-bottom: 15px;
		font-size: 1.2rem;
	}
	#main .linkList li a .innerBox .btn {
		width: 180px;
	}
}
#main .Insta {
	width: 1060px;
	display: flex;
	justify-content: space-between;
	margin: auto;
}
#main .Ibox_1 {
	width: 350px;
}
#main .Ibox_1 blockquote {
	margin: 10px;
}

@media all and (max-width: 470px){
#main .Insta {
	display: block;
	justify-content: space-between;
	margin: 20px;
	text-align: center;
	width: 400px;
}
/*#main .Ibox_1 {
	width: 767px;	
}*/
#main .Ibox_1 blockquote {
	margin: 20px;
	width: 400px;
}
}
