@charset "UTF-8";
/* CSS Document */

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/

html{ font-size: 62.5%; }

body {
	width: 100%;
	height: 100%;
	font-family: 'Noto Serif JP', YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	color:#595757;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
	font-feature-settings: "palt";
	text-align: justify;
	background:#FFF;
	line-height:1.6;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: subpixel-antialiased;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

*{ box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box;}

img{
	width: 100%;
	height: auto;
}
img { -ms-interpolation-mode: bicubic; }

.object-fit-img {
  object-fit: cover;
  object-position: bottom;
  font-family: 'object-fit: cover; object-position: bottom;'
}

a{
	text-decoration: none;
	outline: none;
	transition-duration: 0.5s;
	transition-property: opacity, color;
}

a:hover{
	text-decoration: none;
	opacity: 0.7;
}

.f_min {
	font-family: 'Shippori Mincho B1', serif;
	font-weight: 500;
	font-style: normal;
}

span.f_rote {
	display: inline-block;
	transform:rotate(-33deg);
}



/*----DWナビゲート用----*/
.pc{}
.sp{}
.img-switch{}


header {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
}

main,article{
	width: 100%;
}

footer{
	border-top: 1px solid #231815;
    width: 100%;
	position: relative;
}

footer div#page_top_block {
    width: 100%;
	padding: 20px 0;
    background: #e4ebee;
    display: flex;
	flex-wrap: wrap;
    justify-content: center;
	line-height: 0;
}

body.nav_open {
	overflow: hidden;
}

.slider{
    display: none;
}
.slider.slick-initialized{
    display: block; /*slick-initializedが付与されたら表示*/
}


/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 641px){
	
	.sp{
		display: none!important;
	}
	
	.hamburger {
        position: absolute;
        right : 0;
        top   : 20px;
    }
	
	a.contact {
		font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
		display: block;
		width: 400px;
		margin: 60px auto;
		border-radius: 6px;
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 1;
		text-align: center;
		padding: 15px 0;
		background: #0a6eb7;
		color: #FFF;
	}
	
	a.contact.white {
		margin: 60px auto 0;
		color: #595757;
		background: #FFF;
	}
	
	header, footer, article {
		min-width: 1280px;
		margin-left: auto;
		margin-right: auto;
	}
	
	header{
		height: 80px;
		overflow: hidden;
		padding: 30px 0 20px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	
	article {
		overflow: hidden;
	}
	
	div.section_inner {
		width: 1164px;
		margin: 0 auto;
	}
	
	footer {
		padding: 35px 0;
		margin-top: 45px;
	}
	
	footer a.page_top{
        width: 32px;
		display: block;
		position: absolute;
		top: -17px;
		right: 4%;
		line-height: 0;
    }
	
	footer div#f_block {
        width: 92%;
		margin: 0 auto;
		position: relative;
    }
	
	footer div#f_block h2{
        width: 295px;
		line-height: 0;
		margin-bottom: 12px;
    }
	
	footer div#f_block ul.icon_box{
        width: 108px;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 3;
    }
	
	footer div#f_block ul.icon_box li{
        width: 36%;
    }
	
	footer div#f_block ul.icon_box li a{
        display: block;
    }
	
    footer small{
		font-size: 12px;
		font-size: 1.2rem;
		font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
		line-height: 1;
        display: block;
    }
	
	nav.globalMenuSp ul.outside {
		padding: 60px 40px 40px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
    }
}

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 640px){
	
	.pc{
		display: none!important;
	}
	
	a:hover{
		text-decoration: none;
		opacity: 1;
	}
	
	.slider{
        margin-bottom: 12vw!important;
    }
	
	a.contact {
		font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
		display: block;
		width: 80%;
		max-width: 400px;
		margin: 60px auto;
		border-radius: 6px;
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 1;
		text-align: center;
		padding: 15px 0;
		background: #0a6eb7;
		color: #FFF;
	}
	
	a.contact.white {
		margin: 40px auto 0;
		color: #595757;
		background: #FFF;
	}
	
	header{
		height: 80px;
		overflow: hidden;
		padding: 30px 0 20px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	
	article {
		overflow: hidden;
	}
	
	div.section_inner {
		width: 90%;
		margin: 0 auto;
	}
	
	footer {
		padding: 25px 0 15px;
		margin-top: 40px;
	}
	
	footer a.page_top{
        width: 32px;
		display: block;
		position: absolute;
		top: -17px;
		right: 4%;
		line-height: 0;
    }
	
	footer div#f_block {
        width: 92%;
		margin: 0 auto;
		position: relative;
    }
	
	footer div#f_block h2{
        width: 198px;
		line-height: 0;
		margin: 0 auto 30px;
    }
	
	footer div#f_block ul.icon_box{
        width: 100px;
		margin: 0 auto 15px;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
    }
	
	footer div#f_block ul.icon_box li{
        width: 33%;
    }
	
	footer div#f_block ul.icon_box li a{
        display: block;
    }
	
    footer small{
		font-size: 10px;
		font-size: clamp(10px, 2.33vw, 20px);
		font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
		line-height: 1;
        display: block;
		text-align: center;
    }
	
	nav.globalMenuSp ul.outside {
		padding: 60px 20px 40px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
    }
}

/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 9999;
  width : 30px;
  height: 30px;
  text-align: center;
  top: 30px;
  right: 30px;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 0;
  background : #F3F3F3;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 0;
}
.hamburger span:nth-child(2) {
  top: 12px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 12px;
  left: 0;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 12px;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

nav.globalMenuSp {
	width: 50%;
	max-width: 300px;
    height: 100%;
    position: fixed;
    z-index : 998;
    top  : 0;
    right : 0;
    color: #333;
    background: rgba(0,0,0,1);
    text-align: left;
    transform: translateX(100%);
    transition: all 0.6s;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}

body #modal {
	width: 0;
	height: 0;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -888;
	background: rgba(3,110,183,0.9);
	opacity: 0;
	transition-duration: 0.5s;
	transition-property: opacity, color;
}

body.nav_open #modal {
	width: 100%;
	height: 100%;
	z-index: 55;
	opacity: 1;
}

nav.globalMenuSp ul.outside li {
  list-style-type: none;
	width: 100%;
	text-align: left;
	padding: 10px 0 15px;
	line-height: 1.4;
}

nav.globalMenuSp ul.outside li a {
  color: #FFF;
  text-decoration :none;
  letter-spacing: 0.06em;
  line-height: 1.3;
}

nav.globalMenuSp ul.outside li a span.en{
  font-size: 13px;
  font-size: 1.3rem;
}

nav.globalMenuSp ul.outside li ul li{
  padding: 5px 0;
}

nav.globalMenuSp ul.outside li ul li::before{
  content: "□";
	display: inline-block;
	margin-right: 0.25em;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateX(0%);
}
