body
{
	padding-top: 0px;
}

article h2
{
    white-space: pre;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;

	background-image: url(../images/h2_icon.png);
	background-repeat: no-repeat;
	background-position: right 6px top;
	padding-top: 30px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;

}

article h2 small
{
	font-weight: normal;
	color: #924D99;
	font-size: 14px;
	display: block;
	line-height: 14px;
	letter-spacing: 0em;
	padding-top: 10px;
}


#eyecatch
{
	background:url(../images/eyecatch_photo.jpg) no-repeat left top / calc(100vw * (1200 / 1920)) auto,
	url(../images/eyecatch_bg.jpg) no-repeat center bottom / cover;
	padding-top: 0px;
}

#menu
{
	display: flex;
	justify-content: flex-end;
	padding-top: 180px;
	height: calc(100vw * (930 / 1920));
	box-sizing: border-box;
}


#menu .head_box
{
	width: 480px;
}

#menu .head_box .title
{
	text-align: center;
}

#menu .menu
{
}

#menu .menu ul
{
	display: table;
	width: auto;
	padding: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}



#menu .menu ul li
{
	display: table-cell;
	margin: 0px;
	vertical-align: top;
	text-align: left;
	padding-right: 4px;
	padding-left: 4px;
	position: relative;
	padding-top: 20px;

}

#menu .menu ul li a
{
	color: #393124;
	font-size: 20px;
	line-height: 100%;
	display: inline-block;
	padding-top: 20px;
	padding-right: 4px;
	padding-bottom: 8px;
	padding-left: 4px;
	position: relative;
	overflow: hidden;
	transition-duration: .4s;
	z-index: 2;
	width: 1em;
}

#menu .menu ul li a small
{
	font-size: 16px;
	line-height: 120%;
}

#menu .menu ul li a:before
{
	content: "";
	background-image: url(../images/navi_icon.png);
	background-repeat: no-repeat;
	background-position: center center;
	height: 20px;
	width: 20px;
	display: inline-block;
	position: absolute;
	top: 0px;
}


#menu .menu ul li a:after
{
	background: var(--link-color);
	content: '';
	width: 2px;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	margin: auto;
	transform-origin: center top;
	transform: scale(1, 0);
	transition: transform .3s;
}

#menu .menu ul li a:hover
{
	color: var(--font-color) !important;
}

#menu .menu ul li a:hover:after
{
  transform-origin: center top;
  transform: scale(1, 1);
}

#menu .head_box .head_img
{
	display:none;
}

#news
{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

#news .news_box
{
	width: 640px;
}

#news .news_box table
{
	width: 100%;
}

#news .news_box table th
{
	width: 6em;
	padding-top: 20px;
	padding-bottom: 20px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #333;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}

#news .news_box table td
{
	padding-top: 20px;
	padding-bottom: 20px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #ddd;
	text-align: left;
	vertical-align: top;
}

#news .news_box .next_btn
{
	text-align: right;
}



#news .nokotsu_banner
{
	width: 340px;
	background-color: #FFF;
	text-align: center;
	box-shadow: 0px -3px 10px -3px rgba(51, 51, 51, 0.3), 0px 3px 10px -3px transparent;
	-moz-box-shadow: 0px -3px 10px -3px rgba(51, 51, 51, 0.3), 0px 3px 10px -3px transparent;
	-webkit-box-shadow: 0px -3px 10px -3px rgba(51, 51, 51, 0.3), 0px 3px 10px -3px transparent;
}

#news .pad
{
	padding-top: 20px;
	padding-bottom: 20px;
}

#news .nokotsu_banner a
{
	color: #FFF;
	background-color: #192b60;
	display: block;
	padding-top: 10px;
	padding-bottom: 10px;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

#news .nokotsu_banner a:after
{
	background: var(--link-color);
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	transform: scale(0, 1);
	transform-origin: center top;
	transition: transform .3s;
	z-index: -1;
}

#news .nokotsu_banner a:hover
{
	color: #fff !important;
	-moz-transition-duration: 0.6s;
	-webkit-transition-duration: 0.6s;
	-o-transition-duration: 0.6s;
	-ms-transition-duration: 0.6s;
	transition-duration: 0.6s;
}

#news .nokotsu_banner a:hover:after
{
	transform-origin: center top;
	transform: scale(1, 1);
}


#gokitou
{
	background-image: url(../images/gokitou_bg.gif);
	position: relative;
	color: #FFF;
	background-attachment: fixed;
}

#gokitou .body
{
	position: static;
}

#gokitou .photo
{
	position: absolute;
	left: 60px;
	bottom: calc(100vw * (-40 / 1920));;
	width: calc(100vw * (650 / 1920));
}

#gokitou .photo img
{
	width:auto;
	height:auto;
}

#gokitou .gokito_text
{
	width: 750px;
	margin-right: 0px;
	margin-left: auto;
	display: flex;
	justify-content: space-between;

}

#gokitou h2
{
	background-image: url(../images/h2_icon_gokitou.png);
}

#gokitou h2 small
{
	color: #999;
}

#gokitou .gokito_text .item
{
	width: 648px;
}

#gokitou .gokito_text .item ul
{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 60px;
	row-gap: 0px;
	align-items: stretch;
	width: 500px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: auto;
	padding-top: 0px;
	padding-bottom: 0px;
}

#gokitou .gokito_text .item ul li
{
	margin: 0px;
	padding-top: 0px;
	padding-bottom: 0px;
}


#about .flex01,
#about .flex02
{
	display: flex;
	justify-content: space-between;
}

#about .flex01
{
	flex-direction: row-reverse;
}



#about h2
{
	margin-right: auto;
	margin-left: auto;
}

#about h3
{
	margin-bottom: 10px;
}

#about .comment_box
{
	position: relative;
	_zoom: 1;
	overflow: hidden;
	margin-bottom: 60px;
}

#about .comment_box .text
{
	width: 680px;
}


#about ul
{
	margin-top: 0px;
	margin-bottom: 0px;
	padding-top: 0px;
	padding-bottom: 0px;
}

#about ul li big
{
	font-size: 18px;
	width: 9em;
	display: inline-block;
}

#about .comment_box .text .monk
{
	display: flex;
	justify-content: space-around;
	align-items: flex-end;
}

#about .p-box
{
	margin: 0 auto;
}

#about .comment_box .text table
{
	width: 480px;
}

#about .comment_box .text table th
{
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #c6c6c6;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}

#about .comment_box .text table td
{
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #c6c6c6;

}

#about_menu
{
	background: rgba(0,0,0,0.05);

}

#about_menu ul
{
	display: grid;
	grid-template-columns: repeat(3, 1fr); /* 4列 */
	column-gap: 60px; /* 横のスペース */
	align-items: stretch; /* 子要素をセルの高さに合わせて引き伸ばす */
	margin: 0px;
	padding: 0px;
}

#about_menu ul li
{
	margin: 0px;
	padding: 0px;
	list-style-type: none;
	text-align: center;
	background-attachment: fixed;
	background-image: url(../images/base_bg.jpg);
}

#about_menu ul li big
{
	font-size: 20px;
	line-height: 100%;
	background-image: url(../images/about_menu_link_point.gif);
	background-repeat: no-repeat;
	background-position: right 20px center;
	display: block;
	padding-top: 20px;
	padding-bottom: 20px;
	overflow: hidden;
	position: relative;
	z-index: 1
}

#about_menu ul li big:after
{
	background: var(--link-color);
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .3s;
	z-index: -1;
	background-image: url(../images/about_menu_link_point_on.gif);
	background-repeat: no-repeat;
	background-position: right 20px center;
}

#about_menu ul li big:hover,
#about_menu ul li a:hover big
{
	color: #fff !important;
	-moz-transition-duration: 0.6s;
	-webkit-transition-duration: 0.6s;
	-o-transition-duration: 0.6s;
	-ms-transition-duration: 0.6s;
	transition-duration: 0.6s;
	background-image: url(../images/about_menu_link_point_on.gif);
}

#about_menu ul li big:hover:after,
#about_menu ul li a:hover big:after
{
	transform-origin: left top;
	transform: scale(1, 1);
}

#contact .body
{
	width: 860px;
	display: flex;
	justify-content: space-between;
}

#contact .contact_box ul li:first-child a
{
	pointer-events:none;
}

#contact .contact_box 
{
	width: 680px;
}

#contact .contact_box  p
{
	margin-bottom: 30px;
}

#contact .contact_box ul
{
	display: grid;
	grid-template-columns: repeat(2, 1fr); /* 4列 */
	column-gap: 30px; /* 横のスペース */
	align-items: stretch; /* 子要素をセルの高さに合わせて引き伸ばす */
	margin: 0px;
	padding: 0px;
}

#contact .contact_box ul li
{
	margin: 0px;
	padding: 0px;
	list-style-type: none;
	font-size: 16px;
	line-height: 140%;
}

#contact .contact_box  ul li:first-child a
{
	font-size: 48px;
	line-height: 100%;
	display: block;
}

#contact .contact_box  ul li:first-child a small
{
	font-size: 24px;
	line-height: 100%;
}

#contact .contact_box  ul li:last-child a
{
	background-attachment: fixed;
	background-image: url(../images/contact_btn_bg.gif);
	display: block;
	padding: 5px;
	color: #FFF;
	text-align: center;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

#contact .contact_box  ul li:last-child a big
{
	font-size: 20px;
	line-height: 100%;
	padding-top: 20px;
	padding-bottom: 20px;
	border: 1px solid #FFF;
	display: block;
	position: relative;
	z-index: 99;
}

#contact .contact_box  ul li:last-child a:after
{
	background: rgba(255, 255, 255, 0.1);
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	transform: scale(0, 1);
	transform-origin: center top;
	transition: transform .3s;
	z-index: -1;
}

#contact .contact_box  ul li:last-child a:hover
{
	color:#FFF !important;
	-moz-transition-duration: 0.6s;
	-webkit-transition-duration: 0.6s;
	-o-transition-duration: 0.6s;
	-ms-transition-duration: 0.6s;
	transition-duration: 0.6s;
}


#contact .contact_box  ul li:last-child a:hover:after
{
	transform-origin: center top;
	transform: scale(1, 1);
}


@media screen and (min-width:1660px)
{
#menu
{
	width: 1660px;
	min-height: 800px;
}


}


/* PCのみ設定  768 以上*/
@media screen and (min-width:768px) and (max-width:1659px)
{

header
{
	display: none;
}

#menu
{
	width: auto;
	margin-bottom: 30px;
}


}


@media (max-width: 1200px) 
{

#menu
{
	text-align: center;
	width: auto !important;
	height:auto;
}


#eyecatch
{
	background:url(../images/eyecatch_photo.jpg) no-repeat center top / calc(100vw * (1200 / 1920)) auto,
	url(../images/eyecatch_bg.jpg) no-repeat center bottom / cover;
}

#menu .body
{
	padding-top:  calc(100vw * (680 / 1920));
}


#menu .head_box
{
	width: 480px;
	margin-right: auto;
	margin-left: auto;
	background: rgba(255, 255, 255, 0.75);
	padding-top: 20px;
}

#gokitou
{
	padding-top: 40px;
}

#gokitou .photo
{
	position: static;
	display: block;
	text-align: center;
	width: auto;
	margin-bottom: 30px;
	top: auto;
	right: auto;
	bottom: auto;
	left: auto;

}

#gokitou .gokito_text
{
	width:90%;
	margin-right: auto;
	margin-left: auto;
}

#gokitou .gokito_text .item
{
	width: auto;
}


#gokitou .gokito_text .item ul
{
	width: auto;
	column-gap: 0px;
}

#about .comment_box 
{
	margin-bottom: 80px;

}

#about .comment_box .text
{
	width: 56%;
}

#about .comment_box .text ul li 
{
	line-height: 120%;
	margin-bottom: 10px;
}

#about .comment_box .text ul li big
{
	display: block;
	width: auto;
	font-weight: bold;
}

#about .comment_box .photo
{
	width: 38%;
}

#about .comment_box .photo img
{
	width:auto;
	height:auto;
}

#about .comment_box .text .monk
{
	display: block;
}


#about .comment_box .text table
{
	width: 100%;
}

#about .comment_box .text .next_btn
{
	text-align: right;
}



#about_menu ul li img
{
	width:auto;
	height:auto;
}


#contact .body
{
	width: auto;
	justify-content: center;
	gap: 20px;

}


}

/* タブレットレイアウト : 768 px 〜 959 px */
@media screen and (min-width:768px) and (max-width:1199px)
{
header
{
	display: none;
}

#menu
{
	margin-bottom: 30px;
}

#news
{
	flex-wrap: wrap; /* 要素を折り返し可能にする */
	justify-content: center;
	gap: 20px;

}

#news h2
{
}

#news .news_box
{
	margin-bottom: 30px;
}


#news .nokotsu_banner
{
	margin-right: auto;
	margin-left: auto;
}

#gokitou .gokito_text
{
	width:90%;
}

#gokitou .gokito_text .item
{
	width: 80%;

}

#gokitou .gokito_text .item ul
{
	width: auto;
}




#about_menu ul
{
	column-gap: 20px; /* 横のスペース */
}


#about .p-box .photo
{
	width: auto;
	text-align: center;
	margin-bottom: 20px;
	position: relative;
	clear: both;
	float: none;
	padding-right: 0px;
}
	

}


/* スマホ設定  767 以下*/
@media screen and (max-width:767px)
{
#eyecatch
{
	background-image: url(../images/eyecatch_bg_sp.jpg);
	background-repeat: no-repeat;
	background-position: center top;
	-ms-background-size: 100% auto;
	-o-background-size: 100% auto;
	-webkit-background-size: 100% auto;
	-moz-background-size: 100% auto;
	background-size: 100% auto;

}

#menu
{
	padding-right: 0px;
	padding-left: 0px;
	padding-top: 80px;
}


#menu .head_box
{
	width: auto;
	margin-right: auto;
	margin-left: auto;
	background: rgba(255, 255, 255, 0);
}

#menu .head_box .title
{
	margin-bottom: 20px;
}

#menu .head_box .menu
{
	display: none;
}

#menu .head_box .head_img
{
	display:block;
}


#news
{
	display: block;
	padding-top: 30px;
}

#news h2
{
	margin-right: auto;
	margin-left: auto;
}

#news .news_box
{
	margin-bottom: 30px;
	width:auto;
}



#news .nokotsu_banner
{
	margin-right: auto;
	margin-left: auto;
}

#gokitou .gokito_text
{
	width:90%;
}

#gokitou .gokito_text .item
{
	width: 80%;

}

#gokitou .gokito_text .item ul
{
	width: auto;
}


#about_menu ul
{
	column-gap: 10px; /* 横のスペース */
}

#about_menu ul li big
{
	background-position: center bottom 10px;
	padding-bottom: 20px;
}


#about_menu ul li big:after
{
	background-position: center bottom 10px;
}



#contact .contact_box  ul li:first-child a
{
	font-size: 36px;
	line-height: 100%;
	display: block;
}

#contact .contact_box  ul li:first-child a small
{
	font-size: 16px;
	line-height: 100%;
}

#news .nokotsu_banner a,
#contact .contact_box  ul li:last-child a
{
	z-index: 0;
}

#contact .body
{
	justify-content: center;
	gap: 0px;
}

#contact .body .contact_box
{
	width: 80%;
	margin-left: 20px;
}

#about .p-box .photo
{
	width: auto;
	text-align: center;
	margin-bottom: 20px;
	position: relative;
	clear: both;
	float: none;
	padding-right: 0px;
}

}

/* スマホ設定  599 以下*/
@media screen and (max-width:599px)
{

#news .news_box table th
{
	display: block;
	width: auto;
	padding-bottom: 0px;
	border-bottom-style: none;
}

#news .news_box table td
{
	display: block;
	padding-top: 0px;
}

#news .news_box
{
	margin-bottom: 60px;
	width:auto;
}

#news .nokotsu_banner
{
	max-width: 300px;
}

#gokitou
{
	padding-top: 0px;
}

#gokitou .body
{
	padding-right: 0px;
	padding-left: 0px;
}

#gokitou .gokito_text .item ul
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

#about .flex01,
#about .flex02
{
	display:block;
}


#about .comment_box .text
{
	width: auto;
}

#about .comment_box .photo
{
	width: auto;
	text-align: center;
	margin-bottom: 20px;
	position: relative;
	clear: both;
	float: none;
	padding-right: 0px;

}

#about .comment_box .text table th
{
	display: block;
	padding-bottom: 0px;
	border-bottom-style: none;
}

#about .comment_box .text table td
{
	display: block;
	padding-top: 0px;
}

#about .comment_box .text .next_btn
{
	text-align: center;
	display: block;
}

#about_menu ul
{
	display:block;
}

#about_menu ul li
{
	margin-bottom: 20px;
}

#about_menu ul li big
{
	background-position: right 20px center;
	padding-bottom: 20px;
}

#about_menu ul li big:after
{
	background-position: right 20px center;
}


#contact .body
{
	justify-content: space-between;
}


#contact .body .contact_box
{
	width: 80%;
}



#contact .contact_box  ul
{
	display:block;
}

#contact .contact_box  ul li
{
	display: block;
	margin-bottom: 20px;
}

#contact .contact_box  ul li:first-child a
{
	pointer-events:auto;
}

}
