/* reset */

/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
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,
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,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	/*font: inherit;*/
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

body {
	line-height: 1.5;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

a {
	text-decoration: none;
}

/* resetここまで */
/* header */
body {
	font-family: 'Noto Serif JP',"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: #424242;
	font-size: 14px;
	position: relative;
}
a{
	color: #424242;
}
* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
p{
	line-height: 2.0em;
}
img{
	max-width: 100%;
}
.mt10{
	margin-top: 10px;
}
.mt20{
	margin-top: 20px;
}
.mt30{
	margin-top: 30px;
}
.mt40{
	margin-top: 40px;
}
.mt50{
	margin-top: 50px;
}
.mt60{
	margin-top: 60px;
}
.mt70{
	margin-top: 70px;
}
.mt80{
	margin-top: 80px;
}
.mt100{
	margin-top: 100px;
}
.mt120{
	margin-top: 120px;
}
.mt150{
	margin-top: 150px;
}

header{
	position: fixed;
	background: #fff;
	top: 0;
	z-index: 1000;
	width: 100%;
}
header.cartjs_header{
	position:relative;
	z-index:auto;
}

.obf_cover{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
}
.obf_cover img{
	position: absolute;
	width: auto;
	height: auto;
	top: 50%;
	left: 50%;
	min-height: 100%;
	min-width: 100%;
	max-width: 1000%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}
@supports ((-o-object-fit: cover) or (object-fit: cover)) {
	.obf_cover img {
		position: static;
		height: 100%;
		width: 100%;
		-o-object-fit: cover;
		object-fit: cover;
		-webkit-transform: none;
		transform: none;
	}
}

@media screen and (max-width:760px){
	.cartjs_box{
		margin-top:80px;
	}
}
.w1080{
	max-width: 1080px;
	width: 100%;
	margin: auto;
}
.head_inner{
	padding: 15px 40px;
	height: 70px;
}
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-line-pack: start;
	align-content: flex-start;
}
.head_logo a,.foot_logo a{
	color: #00003c;
	letter-spacing: 0.4em;
	font-size: 23px;
	line-height: 1.0em;
	font-weight: bold;
}
.sub_logo{
	font-size: 0.35em;
	letter-spacing: 0.2em;
	line-height: 1.2em;
	font-weight: normal;
}
.main_nav{
	padding-top: 8px;
}
.nav_item{
	letter-spacing: 0.35em;
	margin-right: 30px;
	color: #00003c;
}
.nav_item_sns{
	width: 70px;
}


/* トップページ */
main{
	margin-top: 70px;
	margin-bottom: 100px;
	font-feature-settings: "palt";
	letter-spacing: 0.2em;
}
#top main{

}
.tp_sec01{
	padding: 0 40px 70px;
}
.main_img_wrap{
	margin-bottom: 100px;
}
.tp_h2{
text-align: center;
}
.main_h2{
	font-size: 28px;
	letter-spacing: 0.38em;
	color: #00003c;
	line-height: 1.8em;
	font-weight: bold;
}
.sub_h2{
	font-size: 14px;
	letter-spacing: 0.1em;
	position: relative;
	padding-left: 80px;
	display: inline-block;
	vertical-align:middle;
	vertical-align: -webkit-baseline-middle;
	line-height: 0.8em;
	height: 28px;
	font-weight: bold;
}
.f_goth{
	font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
.sub_h2:before{
	content: "";
	display: block;
	height: 1px;
	width: 60px;
	background: #424242;
	position: absolute;
	left: 5px;
	top: 5px;
}
.tp01_wrap{
	margin-top: 80px;
}
.tp01_img{
	width: 50%;
}
.tp01_img img{
	width: 100%;
}
.tp01_R{
	width: 50%;
	padding-left: 30px;
	padding-top: 20px;
}
.tp_h3{
	font-size: 28px;
	letter-spacing: 0.1em;
	color: #00003c;
	font-weight: bold;
}
.sub_h3{
	font-size: 18px;
	letter-spacing: 0.2em;
	font-weight: bold;
}
.tp01_R p{
	margin-top: 20px;
}
.tp01_chef{
	background: #00003c;
	padding: 5px 10px;
	color: #fff;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	font-size: 18px;
	letter-spacing: 0.2em;
}
.link_min{
	display: block;
	color: #00003c;
	border: solid 2px #00003c;
	padding: 5px 0;
	width: 140px;
	text-align: center;
	margin-right: 0;
	margin-left: auto;
	margin-top: 30px;
	position: relative;
	font-weight: bold;
}
.link_min:after{
	content: url(../images/top/arrow.png);
	position: absolute;
	right: 15px;
	top: 3px;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
.link_box{
	display: block;
	color: #00003c;
	border: solid 2px #00003c;
	padding: 20px 0;
	width: 360px;
	text-align: center;
	margin: auto;
	margin-top: 100px;
	font-size: 21px;
	letter-spacing: 0.2em;
	font-weight: bold;
}
.tp_sec02,.tp_sec03{
	margin-top: 100px;
	position: relative;
	padding-left: 30px;
}
.top_txt_box{
	position: absolute;
	right: 0;
	top: 100px;
	background: #fdf8f2;
	padding: 50px 30px;
	width: 465px;
}
.top_txt_box h2{
	text-align: left;
}
.tp_sec04{
	padding: 0 50px;
	margin-top: 100px;
}
.tp04_L{
	width: 360px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: left;
}
.tp_news_wrap{
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
.news_box{
	border-bottom: dotted 1px #00003c;
	padding: 5px 0 5px;
	margin-top: 15px;
}
.news_date{
	width: 120px;
	letter-spacing: 0.1em;
}
.news_ttl{
	-webkit-box-flex:1;
	-ms-flex:1;
	flex:1;
}
.news_link.link_min:after{
	content: none;
}

.fadein ,.fadein_top{
	opacity : 0;
	-webkit-transform : translate(0, 50px);
	transform : translate(0, 50px);
	-webkit-transition: 1.0s ease-out;
	transition: 1.0s ease-out;
}
.fadein_r {
	opacity : 0;
	-webkit-transform : translate(50px, 0);
	transform : translate(50px, 0);
	-webkit-transition: 1.0s ease-out;
	transition: 1.0s ease-out;
}
.fadein_l {
	opacity : 0;
	-webkit-transform : translate(-50px, 0);
	transform : translate(-50px, 0);
	-webkit-transition: 1.0s ease-out;
	transition: 1.0s ease-out;
}
.fadein.scrollin,.fadein_r.scrollin,.fadein_l.scrollin,.fadein_top.scrollin  {
	opacity : 1;
	-webkit-transform : translate(0, 0);
	transform : translate(0, 0);
}

/* footer */
.sns_wrapper{
	text-align:left;
	margin-top:20px;
}
.sns_wrapper a{
	display:inline-block;
	width:30px;
	height:auto;
}
.sns_wrapper a:nth-of-type(1){
	margin-right:30px;
}
.sns_wrapper a img{
	display:block;
	width:100%;
}
footer{
	background: #00003c;
	padding: 50px 0 20px;
}
.foot_inner{
	padding: 0 30px;
	color: #fff;
}
.foot_inner a{
	color: #fff;
}
.foot_wrap{
	margin-top: 30px;
}
.foot_L{
	width: 275px;
}
.foot_nav_item{
	display: block;
	padding: 10px 0;
}
.foot_R{
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	border-left: solid 1px #fff;
	padding-left: 30px;
}
.foot_info{
	padding: 10px 0;
}
.foot_info_ttl{
	width: 100px;
	position: relative;
}
.foot_info_cont{
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
.foot_info_ttl:after{
	content: "：";
	position: absolute;
	right: 10px;
}
.copyright{
	text-align: center;
	margin-top: 50px;
}
.sp{
	display: none;
}
@media only screen and (min-width:761px) {
	.head_inner a:hover,.foot_inner a:hover{
		opacity: 0.5;
	}
	.link_min:hover,.link_box:hover{
		background: #00003c;
		color: #fff;
	}
	.link_min:hover:after{
		content: url(../images/professional/arrow_wh.png);
		right: 10px;
	}
	.news_link.link_min:hover:after{
		content: none;
	}
}
@media only screen and (max-width:1080px){
	/* header */
	.head_inner{
		width: 100%;
	}
	.head_inner{
		padding: 10px;
		position: relative;
		height: 60px;
		z-index: 1000;
	}
	.main_nav{
		position: absolute;
		width: 200px;
		height: 100vh;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		padding: 10px 20px 20px;
		background: #fff;
		top: 60px;
		right: 0;
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		z-index: 1000;
		text-align: center;
	}
	.main_nav.open{
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
	}
	.nav_item{
		margin-right: 0;
		padding: 10px 0;
		width: 100%;
	}
	.nav_item_sns{
		width: 100%;
		padding: 20px 30px 0;
	}
	.sp{
		display: block;
	}

	.nav-toggle {
		position: absolute;
		right: 20px;
		top: 10px;
		width: 40px;
		height: 40px;
		cursor: pointer;
		z-index: 10000;
		padding: 5px;
	}

	.nav-toggle div {
		position: relative;
	}

	.nav-toggle span {
		display: block;
		position: absolute;
		height: 3px;
		width: 100%;
		border-radius: 1px;
		background: #00003c;
		color: #00003c;
		left: 0;
		-webkit-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}

	.nav-toggle span:nth-child(1) {
		top: 0;
	}

	.nav-toggle span:nth-child(2) {
		top: 6px;
	}

	.nav-toggle span:nth-child(3) {
		top: 12px;
	}

	.nav-toggle span:nth-child(4) {
		top: 17px;
		left: 50%;
		margin-left: -20px;
		font-size: 10px;
		text-align: center;
		width: 40px;
		height: 0;
	}

	.open.nav-toggle span:nth-child(1) {
		top: 8px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.open.nav-toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}

	.open.nav-toggle span:nth-child(3) {
		top: 8px;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	#modal_bk{
		width: 100vw;
		height: 100vh;
		position: absolute;
		background: rgba(0,0,60,0.9);
		visibility: hidden;
		opacity: 0;
		z-index: 1;
	}
	#modal_bk.open{
		visibility: visible;
		opacity: 1;
	}
}
@media only screen and (max-width:760px) {
	/* header */
	.w1080{
		width: 100%;
	}
	.head_inner{
		padding: 10px;
		position: relative;
		height: 60px;
		z-index: 1000;
	}
	.main_nav{
		position: absolute;
		width: 200px;
		height: 100vh;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		padding: 10px 20px 20px;
		background: #fff;
		top: 60px;
		right: 0;
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		z-index: 1000;
		text-align: center;
	}
	.main_nav.open{
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
	}
	.nav_item{
		margin-right: 0;
		padding: 10px 0;
		width: 100%;
	}
	.nav_item_sns{
		width: 100%;
		padding: 20px 30px 0;
	}
	.sp{
		display: block;
	}

	.nav-toggle {
		position: absolute;
		right: 20px;
		top: 10px;
		width: 40px;
		height: 40px;
		cursor: pointer;
		z-index: 10000;
		padding: 5px;
	}

	.nav-toggle div {
		position: relative;
	}

	.nav-toggle span {
		display: block;
		position: absolute;
		height: 3px;
		width: 100%;
		border-radius: 1px;
		background: #00003c;
		color: #00003c;
		left: 0;
		-webkit-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}

	.nav-toggle span:nth-child(1) {
		top: 0;
	}

	.nav-toggle span:nth-child(2) {
		top: 6px;
	}

	.nav-toggle span:nth-child(3) {
		top: 12px;
	}

	.nav-toggle span:nth-child(4) {
		top: 17px;
		left: 50%;
		margin-left: -20px;
		font-size: 10px;
		text-align: center;
		width: 40px;
		height: 0;
	}

	.open.nav-toggle span:nth-child(1) {
		top: 8px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.open.nav-toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}

	.open.nav-toggle span:nth-child(3) {
		top: 8px;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	#modal_bk{
		width: 100vw;
		height: 100vh;
		position: absolute;
		background: rgba(0,0,60,0.9);
		visibility: hidden;
		opacity: 0;
		z-index: 1;
	}
	#modal_bk.open{
		visibility: visible;
		opacity: 1;
	}
	/* トップページ*/

	main{
		margin-top: 60px;
	}
	.tp_sec01{
		padding: 0 10px;
	}
	.main_img{
	}
	.main_img img{
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		object-fit: cover;
	}
	img{
		max-width: 100%;
		height: auto;
	}
	p{
		line-height: 1.5em;
	}
	.tp01_wrap{
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.tp01_img{
		width: 100%;
		text-align: center;
	}
	.tp01_R{
		width: 100%;
		padding-left: 0;
	}
	.link_box{
		max-width: 360px;
		width: 100%;
		letter-spacing: 0.1em;
	}
	.tp_sec02, .tp_sec03{
		padding: 0 10px;
		margin-top: 50px;
	}
	.top_txt_box{
		width: 100%;
		position: static;
		padding: 20px;
	}
	.tp_sec04{
		margin-top: 50px;
		padding: 0 10px;
	}
	.tp04_wrap{
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.tp04_L{
		width: 100%;
	}
	.news_date{
		width: 100px;
	}
	.main_h2{
		letter-spacing: 0.1em;
	}

	/* footer */
	.foot_inner .sns_wrapper a{
		display:inline-block;
		width:30px;
		height:auto;
	}
	.foot_inner .sns_wrapper a:nth-of-type(1){
		margin-right:15px;
	}
	.foot_wrap{
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-top: 20px;
	}
	.foot_L{
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.foot_inner{
		padding: 0 20px;
	}
	.foot_inner a{
		width: 50%;
	}
	.foot_R{
		padding-left: 0;
		padding-top:30px;
		margin-top: 30px;
		border-left: none;
		border-top:solid 1px #fff;
	}
	.foot_info{
		padding: 5px 0;
	}
	.foot_info_ttl{
		width: 80px;
	}
	.copyright{
		margin-top: 30px;
	}
}
