@charset "utf-8";

html {
  font-family:Noto Sans JP,MyYuGothicM,YuGothic,"Hiragino Kaku Gothic ProN",sans-serif;
  font-size: 62.5%;
  position: relative;
}
html,body{
	position: relative;
	scroll-behavior: smooth;
}
button, [type='button'], [type='reset'], [type='submit'] {
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}
.sp{
	display: none;
}
.pc{
	display:block;
}
body h1,body h2,body h3,body h4,body h5{
	  font-weight: 700;
}

a img{
	transition: .3s;
}
a img:hover{
	opacity: .6;
}

/*========================
head
========================*/

header{
	width: 100%;
}
.breadcrumb{
    width:100%;
    background-color:#333;
    padding:10px 0;
}
.breadcrumb ul{
    max-width:1180px;
    width:100%;
    margin:0 auto;
    color:#fff;
    display: flex;
    list-style-type: none;
    font-size:1.2rem;
    position:relative;
    font-weight: 600;
}
.breadcrumb ul li + li{
    margin-left:3em;
}
.breadcrumb ul li + li:before{
    content:'>';
    display: inline-block;
    width:2em;
    height: 1em;
}
.breadcrumb ul li a{
    color:#fff;
}

/*nav＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#header-nav{
	position: fixed;
	top: 0;
	box-sizing: border-box;
	height: 70px;
	width: 100%;
	line-height: 1;
	background-color:#fff;
	transition: .5s;
	z-index: 10;
	font-weight: 600;
}
#header-nav.hide{
    top: -120px;
}
#header-nav .header-inner{
	display: flex;
	align-items: center;
	max-width:1180px;
	box-sizing: border-box;
	padding:0 0 0 60px;
	margin:0;
	height: 70px;
	font-size:13px;
	flex-wrap: wrap;
}
#header-nav .header-inner .header-logo{
	width: 280px;
	height: auto;
	margin-right: 3em;
}
#header-nav ul.main-nav{
	box-sizing: border-box;
	list-style:none;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: wrap;
}
#header-nav ul li{
	margin-left:3em;
}
#header-nav ul li a{
	text-decoration: none;
	color: #333;
	font-size: 1.4rem;
	padding-left:12px;
	background:url(../img/common/anchor.svg) no-repeat 0 9px;
	line-height: 1;
	background-size: 7px;
	transition: .3s;
}
#header-nav ul li a:hover{
	opacity: .3;
}
#btn-menu {
    display: none;
}

/*========================
contents
========================*/
#wrap{
	width:100%;
	padding:0;
	box-sizing: border-box;
	margin:0 auto;
}

/*========================
　foot
========================*/
footer{
	width:100%;
	bottom: 0;
	padding:0 0 2em;
}
footer #footer-cta{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 100%;
	background-color: #fff3aa;
	padding:3em 0;
}
footer #footer-cta p{
	font-size: 1.6rem;
	margin:0 0 1em;
	padding: 0;
	font-weight: 600;
	letter-spacing: -1px;
}
footer #footer-cta a.footer-btn{
	display: flex;
	box-sizing: border-box;
	width:260px;
	height: 60px;
	font-weight: 700;
	padding:10px;
	color:#333;
	letter-spacing: 1px;
	text-decoration: none;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
	background: #fff url(../img/common/btn_arrow.svg) no-repeat calc(100% - 10px) calc(100% - 10px);
	background-size: 7px;
	transition: .3s;
}
footer #footer-cta a.footer-btn:hover{
	background: #333 url(../img/common/btn_arrow_w.svg) no-repeat calc(100% - 7px) calc(100% - 7px);
	background-size: 7px;
	color:#fe7;
}
footer .sec-inner{
	max-width: 1180px;
	margin: 0 auto;
}
footer .sec-inner nav #footer-nav{
	display: flex;
	justify-content:space-between;
	list-style: none;
	align-items: center;
	flex-wrap: wrap;
	padding: 0;
	width: 100%;
}
footer .sec-inner nav #footer-nav a{
	text-decoration: none;
	font-size: 1.4rem;
	font-weight: 700;
	color: #333;
	transition: .3s;
}
footer .sec-inner nav #footer-nav a:hover{
	opacity: .3;
}
footer .sec-inner nav #footer-nav li{
	padding-left: 12px;
	background: url(../img/common/anchor.svg) no-repeat 0 6px;
	background-size: 7px;
	line-height: 1;
}
footer .sec-inner nav #footer-nav li + li{
	margin-left:3em;
}
footer .sec-inner nav #footer-nav li.lead-ad{
	background:url(../img/common/out_link.svg) no-repeat left bottom;
	background-size: 14px;
	line-height: 1;
	padding-left: 20px;
	margin: 1em 0 1em 3em;
}
footer .sec-inner nav #footer-nav li.lead-ad a{
	font-size: 1.8rem;
}
#footer-sns dl dt{
	width: 100%;
	font-weight: 300;
	font-size: 1.2rem;
}
#footer-sns dl dd{
	width: 25%;
	font-size: 1.6rem;
}
.footer-inner{
	display: flex;
	justify-content:space-between ;
	align-items: flex-end;
	width:100%;
	margin:0;
	flex-wrap: wrap;
}
footer .sec-inner .footer-copy{
	text-align: center;
	margin-top: 4em;
}
footer .sec-inner .footer-copy img{
	display: block;
	margin: 1em auto .5em;
	height: auto;
	width:250px;
}
footer .sec-inner .footer-sns{
	list-style-type: none;
	display: flex;
	align-items: flex-end;
}
footer .sec-inner .footer-sns li + li{
	margin-left:2em;
}
footer .sec-inner .footer-sns li{
	width:20px;
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　モバイル用
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
@media (max-width: 767px) {
	.sp{
		display: block;
	}
	.pc{
		display: none;
	}
	/*スマホ用メニュー==*/
		button {
			-webkit-appearance: none;
			-moz-appearance: none;
			appearance: none;
			background: transparent;
			border: 0;
			border-radius: 0;
			color: inherit;
			cursor: pointer;
			font: inherit;
			margin: 0;
			outline: none;
			padding: 0;
			vertical-align: middle;
		}
		#header-nav{
			position: relative;
			height: 60px;
			padding: 0;
			text-align: center;
		}
		.header-logo{
			margin: 1em;
			width: 180px;
			height: auto;
		}
		#header-nav ul.main-nav {
			display: none;
			box-sizing: border-box;
		    width: calc(100% - 20px);
		    height: 80vh;
		    position: absolute;
		    z-index: 5;
		    top: 70px;
		    overflow: hidden;
		    transition:.8s;
		    opacity:0;
		    background-color: #000;
		    padding: 10px;
		}
		#header-nav ul.main-nav.open {
			display: block;
			opacity:.9;
		}
		#header-nav ul.main-nav li {
		    text-align: left;
		    padding: 1em 0;
		    width: 100%;
		    font-size: 2rem;
		    font-weight: 700;
			margin-left:0;
		}
		#header-nav ul.main-nav li + li{
			border-top: 1px dotted #fff;
		}
		#header-nav ul.main-nav li a {
		    display: block;
		    color: #fff;
		}

		#header-nav .header-inner{
			width:100%;
			padding:1em;
			height: 60px;
			text-align: center;
			justify-content: center;
		}
		#header-nav .header-inner .header-logo{
			width: calc(100% - 180px);
			height: auto;
			margin: 0 auto .2em;
		}
		.btn-trigger {
		  position: relative;
		  right:10px;
		  top: 0;
		  width: 36px;
		  height: 36px;
		  cursor: pointer;
		}
		.btn-trigger span {
		  position: absolute;
		  left: 0;
		  width: 100%;
		  height: 4px;
		  background-color: #000;
		  border-radius: 4px;
		}
		.btn-trigger, .btn-trigger span {
		  display: inline-block;
		  transition: all .5s;
		  box-sizing: border-box;
		}
		.btn-trigger span:nth-of-type(1) {
		  top: 0;
		}
		.btn-trigger span:nth-of-type(2) {
		  top: 16px;
		}
		.btn-trigger span:nth-of-type(3) {
		  bottom: 0;
		}
		#btn-menu {
			z-index:15;
			display: block;
		}
		#btn-menu::after {
			position: absolute;
			top: -2px;
			right: 0;
			display: block;
			content: '';
			width: 36px;
			height: 36px;
			margin: 0;
			border-radius: 50%;
			border: 2px solid rgba(255, 255, 255, 0);
			transition: all .75s;
		}
		#btn-menu.active span:nth-of-type(1) {
		  -webkit-transform: translateY(14px) rotate(45deg);
		  transform: translateY(14px) rotate(45deg);
		}
		#btn-menu.active span:nth-of-type(2) {
		  left: 60%;
		  opacity: 0;
		  -webkit-animation: active-btn-menu-bar02 .8s forwards;
		  animation: active-btn-menu-bar02 .8s forwards;
		}
		@keyframes active-btn-menu-bar02 {
		  100% {
		    height: 0;
		  }
		}
		#btn-menu.active span:nth-of-type(3) {
		  -webkit-transform: translateY(-18px) rotate(-45deg);
		  transform: translateY(-18px) rotate(-45deg);
		}
		#btn-menu.active::after {
		  border: 2px solid #000;
		}
		#mv{
			padding-top: 0;
		}
		.breadcrumb ul{
			padding:0;
			width: 90%;
		}
		.breadcrumb ul li + li{
			margin-left:1em;
		}
		footer{
			margin-top: 0;
		}
		footer .sec-inner nav #footer-nav a{
			font-size: 1.4rem;
		}
		footer .sec-inner nav #footer-nav li{
			padding-left: 14px;
			background-position:0 7px;
			width: 45%;
			margin-bottom: 2em;
		}
		footer .sec-inner nav #footer-nav li + li{
			margin-left:0em;
		}
		footer .sec-inner nav #footer-nav li.lead-ad{
			width:fit-content;
			margin:1.5em auto;
		}

		.footer-inner{
			flex-direction: column-reverse;
			align-items: center;
			margin-top: 2em;
		}
		footer .sec-inner nav #footer-nav{
			width: 90%;
			margin: 0 auto;
		}
		nav #footer-nav li#footer-sns{
			width: 90%;
			margin: 2em auto;
		}
		footer .sec-inner .footer-sns{
			padding:0;
		}
		footer .sec-inner .footer-copy{
			margin-top: 3em;
		}
		.footer-copy img{
			width:60%;
			height:auto;
		}
}