@charset "UTF-8";
/* reset */
@import url("reset.css");
/* webfonts */
@import url("../webfonts/Didot/stylesheet.css");
@import url("../webfonts/EvolveSans/stylesheet.css");
/* CSS Document */
/***********************
 *
 *     基本
 *
 ***********************/
html{
    font-size: 65.5%;
}
body {
	width: 100%;
	height: 100%;
	font-size: 14px;
	font-family:  -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Helvetica, "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "メイリオ", Meiryo, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	line-height: normal;
	color: #272727;
	overflow-x: hidden;
	letter-spacing: 1px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body * {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
            box-sizing: border-box;
}
main{
    /*padding-top: 10%;*/
}
a {
	margin: 0;
	padding: 0;
	text-decoration: none;
	color: inherit;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
a:hover{
    opacity: .5;
}
img {
	vertical-align: bottom;
    max-width: 100%;
    height: auto;
}
.lum-lightbox-inner img{
    max-width: 100%!important;
}
span.nw {
	white-space: nowrap;
}
section {
	position: relative;
}
.inner1280 {
	width: 100%;
	height: auto;
	max-width: 1280px;
	margin-right: auto;
	margin-left: auto;
}
.inner1150 {
	width: 90%;
	height: auto;
	max-width: 1150px;
	margin-right: auto;
	margin-left: auto;
}
.inner1000 {
	width: 90%;
	height: auto;
	max-width: 1000px;
	margin-right: auto;
	margin-left: auto;
}
.inner800 {
	width: 80%;
	height: auto;
	max-width: 800px;
	margin-right: auto;
	margin-left: auto;
}
.inner90per{
    width: 90%;
    margin: auto;
}
.pc_none {
	display: none;
}
.pc_only {
	display: block;
}
.sp_none {
	display: block;
}
.sp_only {
	display: none;
}
.tab_only {
	display: none;
}

h1.clear{
    height: 0;
    font-size: 0;
    text-indent: 9999em;
}
/***********************
 *
 *     font
 *
 ***********************/
.serif{
    font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", Georgia, Times, "Times New Roman", serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.EvolveSans {
  font-family: "EvolveSans", sans-serif;
}
.didot{
    font-family: Didot ,serif;
}
.hiramin {
	font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', "Sawarabi Mincho", 'ＭＳ Ｐ明朝', 'MS PMincho', 'serif';
}
.f60 {
	font-size: 60px;
	font-size: 6rem;
}
.f48 {
  font-size: 48px;
  font-size: 4.8rem;
}
.f40 {
  font-size: 40px;
  font-size: 4rem;
}
.f36 {
  font-size: 36px;
  font-size: 3.6rem;
}
.f34 {
  font-size: 34px;
  font-size: 3.4rem;
}
.f30 {
  font-size: 30px;
  font-size: 3rem;
}
.f24 {
	font-size: 24px;
	font-size: 2.4rem;
}
.f21 {
  font-size: 21px;
  font-size: 2.1rem;
}
.f18 {
	font-size: 18px;
	font-size: 1.8rem;
}
.f16 {
	font-size: 16px;
	font-size: 1.6rem;
}
.f14 {
  font-size: 14px;
  font-size: 1.4rem;
}
.f13 {
  font-size: 13px;
  /*font-size: 1.3rem;*/
}
.f11 {
	font-size: 11px;
	/*font-size: 1.1rem;*/
}
.bold {
	font-weight: bold;
}

/***********************
 *
 *     配置　レイアウト
 *
 ***********************/
.sp_none{
    display: none;
}
.vertical {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.txt_horizon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
     -webkit-text-align: center;
    text-align: center; /* for no-flexbox browsers */
}
.txt_horizon::before,
.txt_horizon::after {
    border-top: 1px solid;
    content: "";
    display: inline; /* for IE */
    flex-grow: 1;
}
.txt_horizon::before {
    margin-right: 0.5em;
}
.txt_horizon::after {
    margin-left: 0.5em;
}
.text_center {
	text-align: center;
}
.text_right {
	text-align: right;
}
.centering {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
			transform: translate(-50%, -50%);
	z-index: 1;
}
.flexcentering {
  /* flex */
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
  /* flex-wrap */
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
  /* justify-content */
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
  /* align-items */
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

/***********************
 *
 *     grid
 *
 ***********************/
/*.grid{
    display: grid;
}
.grid.clm2{
    display: grid;
    gap: 1em;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.grid.clm3{
    display: grid;
    gap: 1em;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
}*/
/***********************
 *
 *     flex
 *
 ***********************/
.flex {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
  /* flex-wrap */
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
  /* justify-content */
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
  /* align-items */
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
  /* align-content */
	-ms-flex-line-pack: start;
	align-content: flex-start;
}
.flex.clm2 > * {
	width: calc(100% / 2 - 2%);
	margin-bottom: 20px;
}
.flex.clm3 > * {
	width: calc(100% / 3 - 2%);
	margin-bottom: 20px;
}
.flex.clm3::after {
	content: "";
	display: block;
	width: calc(100% / 3 - 2%);
}

.flex.clm4 > * {
	width: calc(100% / 4 - 2%);
	margin-bottom: 30px;
}

.flex.clm4::before,
.flex.clm4::after {
	content:"";
	display: block;
	width: calc(100% / 4 - 2%);
}
.flex.clm4::before {
	order:1;
}
.flex.clm4::after {
}
.flex.reverse {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.flex_clear {
	margin: 0;
	padding: 0;
	height: 0;
}
.inline-flex{
    display : -webkit-inline-box;
    display : -ms-inline-flexbox;
    display : -webkit-inline-flex;
    display: inline-flex;
    -webkit-align-items:center;
    align-items:center;
    -webkit-justify-content: center;
    justify-content: center;
}

/***********************
 *
 *     position
 *
 ***********************/
.relative {
	position: relative;
}
.absolute {
	position: absolute;
}
.hideAnchor {
	display: block;
	height: 0px;
	overflow: hidden;
	cursor: default;
	pointer-events: none;
	outline: none;
	font-size: 0px;
	text-indent: -9999px;
	padding-top: 80px;
	margin-top: -80px;
}
.clearfix:after {
    content:"";
    display:block;
    clear:both;
}
.svg-wrapper {
	height: 0px;
	width: 0px;
	display: block;
	overflow: hidden;
}

/***********************
 *
 *     SVG
 *
 ***********************/
svg {
	max-width: 100%;
	height: auto;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	opacity: 1;
}
/***********************
 *
 *     object-fit-images
 *
 ***********************/
.ofi-con {
    object-fit: contain;
    font-family: 'object-fit: contain;';
    height: 100%;
}
.ofi-cov {
    object-fit: cover;
    font-family: 'object-fit: cover;';
    width: 100%;
    height: 100%;
}

/***********************
 *
 *     ヘッダー
 *
 ***********************/
.header {  
    position: fixed;
	top: 0;
	left: 0;
	z-index: 6;
	width: 100%;
}
.header_top {
    padding: .8em 3%;
    background-color: rgba(255,255,255,1);
}
.header_top .logo {
    font-weight: bold;
    color: #261006;
    position: relative;
    z-index: 1;
}
.header_top .logo.active {
	color: #fff;
}
.header_top .logo_name {
    font-size: 3.7rem;
    letter-spacing: 5px;
}
.header_top .logo_subname {
    font-size: 1.3rem;
    margin-left: 0.5em;
    line-height: normal;
}
.header_bnr {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	width: 50%;
    max-width: 500px;
}
.header_bnr_item {
	width: 48%;
}
.header_bnr_item:first-child {
	margin-right: 1em;
}
.header_bnr_item a {
	text-align: center;
    color: #FFFFFF;
    padding: 5% 14% 5% 10%;
    border-radius: 70px;
    font-weight: bold;
	width: 100%;
	white-space: nowrap;
	display: inline-block;
}
.header_bnr_item a span::before {
	margin-right: 8px;
	position: relative;
	top: 3px;
}
.header_bnr_item .tel {
    background-color: #CEAA00;
}
.header_bnr_item .tel span::before {
	content: url('../img/icon/other/mail.png');
}
.header_bnr_item .mail {
    background-color: #BF1212;
}
.header_bnr_item span::before {
	content: url('../img/icon/other/mail.png');
}
.header_navi {
    padding: 1em 0;
    background-color:  #f2f2f2;
	position: relative;
}
.header_navi .list {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}
.header_navi .list_item {
	padding: 0 1em;
}
.header_navi .list_item a {
	color: #353535;
	font-weight: bold;
	line-height: 2em;
}
.header_navi .header_bnr {
    	display: none;
}
#toggle_button {  /*ハンバーガボタン設定*/
    width: 60.5px;
    height: 60.5px;
    z-index: 99;
    appearance: none;
    position: fixed;
    top: 0px;
    right: 0px;
    cursor: pointer;
    padding: 0;
    margin: 0;
    border: none;
	border-radius: 0;
    outline: none;
    background-color: #261006;
}
.toggle {
	cursor: pointer;
	position: relative;
	width: 25px;
	height: 20px;
	margin: auto;
}
.toggle span {
	background-color: #fff;
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
}
.toggle,
.toggle span {
	transition: all .2s ease;
}
.toggle span:nth-of-type(1) {
	top: 0;
}
.toggle span:nth-of-type(2) {
	top: 9px;
}
.toggle span:nth-of-type(3) {
	bottom: 0;
}
#toggle_button.active {   /*activeの時*/
	background-color: transparent;
}
.toggle.active {
	-webkit-transform: rotate(90deg);
			transform: rotate(90deg);
}
.toggle.active span {
	height: 1px;
}
.toggle.active span:nth-of-type(1) {
	-webkit-transform: translateY(9px) rotate(-45deg);
	transform: translateY(9px) rotate(-45deg);
}
.toggle.active span:nth-of-type(2) {
	-webkit-transform: translateY(0) rotate(45deg);
			transform: translateY(0) rotate(45deg);
}
.toggle.active span:nth-of-type(3) {
	opacity: 0;
}

/***********************
 *
 *     共通タイトル
 *
 ***********************/
.commonTitle {
    font-family: "EvolveSans", sans-serif;
    text-align: center;
    font-size: 3rem;
    letter-spacing: 3px;
    margin-bottom: 1em;
    font-weight: bold;
	position: relative;
	z-index: 3;
}
.commonTitle::before,
.commonTitle::after {
	content: "";
	display: inline-block;
	width: 50px;
	height: 1px;
	background-color: #818181;
	vertical-align:30%;
	margin: 0 .5em;
}
.commonTitleJP {
    font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: 2em;
    text-align: center;
	position: relative;
	z-index: 3;
}
/***********************
 *
 *     フッター
 *
 ***********************/
.footer {         
    color: #353535;
    padding-bottom: 3%;
    position: relative;
	z-index: 5;
    background-color: #fff;
}
.footer_title {
	color: #261006;
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 2.5em;
    letter-spacing: 3px;
}
.footer_title span {
    font-size: 11px;
    color: #524F4F;
}
.footer_cont {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.footer_cont .leftBox {
}
.footer_cont .leftBox .sns {
    font-weight: bold;
    font-size: 12px;
    letter-spacing: 2px;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}
.footer_cont .leftBox .sns_tit {
	margin-right: 20px;
}
.footer_cont .leftBox .sns_icon {
    width: 17px;
    margin-right: 15px;
}
.footer_cont .leftBox .sns_icon img {
    width: 100%;
    height: auto;
	fill: #42AFE3;
}
.footer_cont .leftBox .copyright {
    margin-top: 20%;
}
.footer_cont .footer_navi {
    margin-top: 1em;
}
.footer_cont .footer_navi_tit {
    font-weight: bold;
    margin-bottom: 1em;
}
.footer_cont .footer_navi_list .item {
    margin-bottom: 1em;
    font-size: 12px;
}
.footer_cont .rightBox {
    margin-top: 1em;
    width: 40%;
}
.footer_cont .rightBox .pic {
    position: relative;
    display: inline-block;
}
.footer_cont .rightBox .pic a {
    display: block;
}
.footer_cont .rightBox .pic_logo {
    z-index: 2;
}
.footer .copyright {
    margin-top: 2em;
}

@media screen and (max-width:1024px){
    html{
        font-size:55.5%;
    }

}
@media screen and (max-width:768px){
	html{
        font-size:52.5%;
    }
	.pc_none {
		display: block;
	}
	.pc_only {
		display: none;
	}
	.tab_only {
		display: block;
	}
	.header_navi {   /*ヘッダー*/
		width: 100%;
		height: 100%;
		background-color: #411F13;
		position: fixed;
		top: 0px;
		right: -100%;
		transition: all .3s ease;
		overflow-y: scroll;
	}
	.header_navi.open {
		right: 0%;
	}
	.header_navi_inner {
		display: inline-block;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	.header_navi .list  {
		display: block;
		margin-bottom: 2em;
	}
	.header_navi .list_item {
		margin-bottom: 1em;
	}
	.header_navi .list_item a {
		color: #FFFFFF;
		display: inline-block;
		white-space: nowrap;
	}
	.header_navi .header_bnr {
    	width: 100%;
		display: block;
	}
	.header_navi .header_bnr_item {
		width: 100%;
		margin-bottom: 1.5em;
	}
	.header_navi .header_bnr_item a {
		padding: .7em 1em;
	}
	.footer_cont {       /*フッター*/
		display: block;
	}
	.footer_cont .footer_navi {
		margin-top: 3em;
	}
	.footer_navi_list{
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-ms-flex-wrap: wrap;
  		flex-wrap: wrap;
	}
	.footer_navi_list .item{
		padding-right: 1em;
	}
	.footer_cont .rightBox {
		margin-top: 1em;
		width: 100%;
		text-align: center;
	}
	
}
@media screen and (max-width:480px){
	.sp_none {
		display: none;
	}
	.sp_only {
		display: block;
	}
	.tab_only {
		display: none;
	}
	.header_navi_inner {   /*ヘッダー*/
    	top: 20%;
		-webkit-transform: translate(-50%, 0);
		transform: translate(-50%, 0);
	}
	.header_top .logo_name {
		letter-spacing: 2px;
	}
}