@charset "UTF-8";
/*-----------------------------------------------------------------*/
html {
	font-family: 'Noto Sans JP', sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	color: #333333;
	font-size: 100%;
	width: 100%; }

body {
	margin: 0;
	overflow-x: hidden;
	width: 100%; }

a {
  text-decoration: none;
  opacity: 1;
  -moz-transition: opacity 0.2s ease;
  -o-transition: opacity 0.2s ease;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease; }

img {
  width: 100%;
  max-width: 100%; }

/* font size */
h1 {
	font-family:"ヒラギノ明朝 Pro", 'Noto Serif JP', "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-size: 28px;
	letter-spacing: 0.15em;
	text-indent: 0.15em;
	font-weight: bold; }
  @media screen and (max-width: 768px) {
   h1 {
      font-size: 7.2vw; } }

h2 {
	font-family:"ヒラギノ明朝 Pro", 'Noto Serif JP', "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-size: 20px;
	letter-spacing: 0.05em;
	text-indent: 0.05em;
	font-weight: bold; }
  @media screen and (max-width: 768px) {
   h2 {
      font-size: 4.4vw;
	  line-height: 1.4 ; } }

h3 {
	font-size: 16px;
	line-height: 1.4;
	font-weight: bold; }
  @media screen and (max-width: 768px) {
   h3 {
      font-size: 3.6vw; } }

p, .font-middle {
	font-size: 14px;
	line-height: 1.6; }
  @media screen and (max-width: 768px) {
   p, .font-middle {
      font-size: 3.2vw; } }

.hidden {
	display: none; }

.font-small {
	font-size: 10px;
	line-height: 1.6; }
  @media screen and (max-width: 768px) {
   .font-small {
      font-size: 2.8vw; } }

.font-big {
	font-size: 28px;
	font-weight: bold;
	line-height: 1.8; }
  @media screen and (max-width: 768px) {
   .font-big {
      font-size: 6.8vw; } }

sup {
    top: -0.5em;
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline; }


/* parts */
.display-pc {
  display: block; }
  @media screen and (max-width: 768px) {
   .display-pc {
      display: none; } }

.display-sp {
  display: none; }
  @media screen and (max-width: 768px) {
    .display-sp {
      display: block; } }

.br-pc {
  display: block; }
  @media screen and (max-width: 768px) {
   .br-pc {
      display: none; } }

.br-sp {
  display: none; }
  @media screen and (max-width: 768px) {
    .br-sp {
      display: block; } }

.mgt-5 { margin-top: 5px; }
.mgt-10 { margin-top: 10px; }
.mgt-20 { margin-top: 20px; }
.mgt-40 { margin-top: 40px; }
.mgt-60 { margin-top: 60px; }
.mgt-80 { margin-top: 80px; }

.txt-bold {
	font-weight: bold; }
.txt-light {
	font-weight: 100; }
.txt-center {
	text-align: center; }

.no-border {
	border-bottom: none !important; }


.color-white {
	color:#FFF!important; }
.color-black {
	color:#000!important; }
.color-red {
	color:#FF0004!important; }
.color-gold {
	color:#C6C668!important; }

.bg-white {
	background-color: #fff!important; }
.bg-black {
	background-color: #000!important; }



/* フェードインさせる要素 */
.fade {
    opacity: 0; /* 最初は非表示にしておく */
    transition: all 1s; /* 動きを滑らかに */
}
/* フェードイン用のクラス */
.fadeIn {
    opacity: 1;
}




/* Container */
.contents__inner {
	box-sizing: border-box;
	width: 100%;
	max-width: 1220px;
	margin: 0 auto;
	padding: 0 60px; }
  @media screen and (max-width: 768px) {
    .contents__inner {
		margin: 0 auto;
      	padding: 0 20px ; } }

.main-wrapper {
	margin-top: 60px;
	background-color: #EFEBE5;
}


/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/* kv area ここから */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*------------------------------header-----------------------------------*/

header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 99999;
}
.header-wrapper {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
	padding:0 20px;
	background-color: #000;
	height: 60px;
}

header .header-wrapper .header-left {
	width: 105px; }
header .header-wrapper .header-left img {
	width: 100%;
	height: 100%; }
@media screen and (max-width: 768px) {
	header .header-wrapper .header-left {
	width: 88px;} }

header .header-wrapper .header-right {
	 }

header .header-wrapper .header-right ul {
	display: flex;
	margin: 0; 
	}

.header-right ul li {
	position: relative;
	color: #FFFFFF;
	font-size: 14px;
	text-align: center;
	margin-right: 3vw;
	letter-spacing: 2px;
	font-weight: 400;
}
.header-right ul li:last-child {
	margin-right: 0;
}
.header-right ul  li::after {
  content: "";
  display: block;
  width: 1px;
  height: 20px;
  background-color: #fff;
  position: absolute;
  right: -1.5vw;
  top: calc((100% - 18px)/2);
}
.header-right ul  li:last-child::after {
  content: none;
}

.header-right ul li a {
	color: #fff;
	text-decoration: none;
	transition: color 0.3s linear;
}
.header-right ul li a:hover {
	color: #C6C668;
}

@media screen and (max-width: 768px) {
.hamburger{
  width: 30px;
  height: 20px;
  position: relative;
  transition: .5s;
}
.hamburger span{
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #fff;
  transition: .5s;
}
.hamburger span:first-of-type{/* ハンバーガーメニューの1番目の線 */
  top: 0;
}
.hamburger span:nth-of-type(2){/* ハンバーガーメニューの2番目の線 */
  top: 50%;
}
.hamburger span:last-of-type{/* ハンバーガーメニューの3番目の線 */
  top: 100%;
}
.slide-menu{
	background-color: rgba(0, 0, 0, .8);
	z-index: 1;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height:100vh;
	transform: translateY(-100%);
	transition: .5s;
}
.slide-menu ul{
	padding: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 100%;
}
.slide-menu li{
	margin-bottom: 40px;
}
.slide-menu li:last-child {
	margin-bottom: 0;
}
.slide-menu li a {
	color: #fff;
	font-weight: 400;
	font-size: 16px;
	transition: color 0.3s linear;
}
.slide-menu li a:hover {
	color: #C6C668;
}
	
.hamburger.active{
	z-index: 999;
	transform: rotateY(360deg);
}
.hamburger.active span:first-of-type{/* ハンバーガーメニューの1番目の線 */
  top: 50%;
  transform: rotate(45deg);
}
.hamburger.active span:nth-of-type(2){/* ハンバーガーメニューの2番目の線 */
  opacity: 0;/* 透明にする */
}
.hamburger.active span:last-of-type{/* ハンバーガーメニューの3番目の線 */
  top: 50%;
  transform: rotate(-45deg);
}
.slide-menu.active{
  transform: translateY(0);
}

}
/*------------------------------header ここまで-----------------------------------*/



/*------------------------------kv ここから-----------------------------------*/
.kv-wrapper {
	background-size: cover;
	background-image: url("../assets/img/kv_pc.jpg") ;
	background-position: center center;
	background-repeat: no-repeat;
	width: 100%;
	height: auto;
}
@media screen and (max-width: 768px) {
	.kv-wrapper {
		position: relative;
		/*background-size: auto 100%;*/
		background-image: url("../assets/img/kv_sp.jpg") ; } }

.kv-wrapper .kv-inner {
	padding: 50px 0 0 0;
	text-align: center;
	width: 100%;
}
@media screen and (max-width: 768px) {
	.kv-wrapper .kv-inner {
		padding: 60px 0 0 0; } }


.kv-wrapper .kv-inner .kv-item_1 {
	width: 100%;
	max-width: 467px;
	margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
	.kv-wrapper .kv-inner .kv-item_1 {
		max-width: 350px;
		margin-bottom: 40px; } }


.kv-wrapper .kv-inner .kv-copy {
	color:#fff;
	text-shadow: 1px 2px 30px rgba(0, 0, 0, .4);;
	font-family:"ヒラギノ明朝 Pro", 'Noto Serif JP', "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	margin-bottom: 200px;
}
@media screen and (max-width: 768px) {
	.kv-wrapper .kv-inner .kv-copy {
		margin-bottom: 140px; } }

.kv-wrapper .kv-inner .kv-copy .tagline_1 {
	font-weight: 100;
	font-size: 16px;
}
@media screen and (max-width: 768px) {
	.kv-wrapper .kv-inner .kv-copy .tagline_1 {
		margin-bottom: 10px;
		font-size: 12px; } }

.kv-wrapper .kv-inner .kv-copy .tagline_2 {
	font-size: 28px;
	padding-left: 140px;
	font-weight: bold;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 768px) {
	.kv-wrapper .kv-inner .kv-copy .tagline_2 {
		font-size: 24px;
		padding-left: 0; } }

.kv-wrapper .kv-inner .kv-copy .tagline_2::before {
	content: '';
    position: absolute;
    top: 50%;
	left: 0;
    display: inline-block;
    width: 138px;
    height: 1px;
    background-color: #fff;
}
@media screen and (max-width: 768px) {
	.kv-wrapper .kv-inner .kv-copy .tagline_2::before {
		display: none; } }


.kv-wrapper .kv-inner .kv-item_2 {
	width: 100%;
	max-width: 450px;
}
@media screen and (max-width: 768px) {
	.kv-wrapper .kv-inner .kv-item_2 {
		width: 100%;
		max-width: 319px; } }

/*------------------------------kv ここまで-----------------------------------*/




/*------------------------------news ここから-----------------------------------*/
.news-detail {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	width: 100%;
	margin:80px 0 ;
}
@media screen and (max-width: 768px) {
	.news-detail {
	display: block;
	margin:18vw 0 ;	} }


.news-title {
	width:17%;
}
@media screen and (max-width: 768px) {
	.news-title {
		margin-bottom: 8vw;
		text-align: center;
		width:100%; } }

.news-title h1 {
	text-indent: 0;
}
@media screen and (max-width: 768px) {
	.news-title h1 {
		text-indent: 0.05em; } }

.news-title p {
	font-size: 18px;
	font-weight: bold;
	margin-top: 4px;
}
@media screen and (max-width: 768px) {
	.news-title p {
		margin-top: 0.5em;
		font-size: 3.2vw; } }

.news_list {
	width:90%;
}
@media screen and (max-width: 768px) {
	.news_list {
		width:100%; } }

.news_list_item {
	width:100%;
	padding: 20px 0;
	border-bottom: 1px solid #000;
}
.news_list_item:first-child {
	padding: 0 0 20px;}
.news_list_item:last-child {
	border-bottom: none;
	padding: 20px 0 0; }

@media screen and (max-width: 768px) {
.news_list_item {
	padding: 3vw 0; }
.news_list_item:first-child {
	padding: 0 0 3vw;}
.news_list_item:last-child {
	border-bottom: none;
	padding: 3vw 0 0; } }

.news_list_item a {
	position: relative;
	display: flex;
	padding-right: 30px;
	color: #000;
	transition-property: opacity;
	transition-duration: 0.5s;
}
.news_list_item a:hover {
	opacity: 0.5; 
}
@media screen and (max-width: 768px) {
    .news_list_item a {
        display: block; } }

.news_list_date {
	font-size: 14px;
	display: flex;
	margin-right: 15px;
	align-items: center;
}
@media screen and (max-width: 768px) {
	.news_list_date {
		font-size: 3.2vw;
		margin-bottom: 10px;
		margin-right: 0; } }

.news_item {
	background: #000;
	border-radius: 0;
	width: 5em;
	/* 親要素の文字サイズを基準 */
	text-align: center;
	margin-left: 10px;
	color: #fff;
	font-size: 12px;
}
@media screen and (max-width: 768px) {
.news_item {
	width: 5em;
	margin-left: 15px;
	font-size: 3.2vw; } }

.arrow {
	width: 25px;
	height: 1px;
	background: #000;
	position: absolute;
	top: 50%;
	right: 0;
}

.arrow::after {
	content: "";
	display: block;
	width: 6px;
	height: 1px;
	background: #000;
	transform: rotate(45deg);
	position: absolute;
	right: 0px;
	bottom: 2px;
}

/*------------------------------news ここまで-----------------------------------*/


.contents__title {
	margin-bottom: 3.5vw;
	text-align: center;
}
.contents__title img {
	width: 100%;
	max-width: 120px;
	margin-bottom: 1.2vw;
}
.contents__title p {
	margin-top: 0.6vw;
	font-size: 1.0vw;
	font-weight: bold;
}

@media screen and (max-width: 768px) {
	.contents__title {
		margin-bottom: 8vw; }
	
	.contents__title img {
		width: 100%;
		max-width: 120px;
		margin-bottom: 4.0vw; }
	
	.contents__title p {
		margin-top: 0.5em;
		font-size: 3.2vw; } }


/*------------------------------ボタン-----------------------------------*/
.contents__btn {
	width: 100%; }

a.btn_1 {
	display: flex;
	justify-content: center;
    align-items: center;
	text-align: center;
	text-decoration: none;
	width: 100%;
	margin:0 auto;
	background-color: #000;
	color: #fff;
	position: relative;
	transition: 0.5s;
	font-size: 14px;
	box-sizing: border-box;
	padding: 20px 0;
}
@media screen and (max-width: 768px) {
	a.btn_1 {
		padding: 4.0vw;
		font-size: 3.2vw; } }

a.btn_1::before {
	content: '';
	position: absolute;
	top: calc(50% - 0px);
	right: 1em;
	transform: translateY(calc(-50% - 2px)) rotate(45deg);
	width: 5px;
	height: 1px;
	background-color: #fff;
}
a.btn_1::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	width: 2vw;
	height: 1px;
	background-color: #fff;
}
@media screen and (max-width: 768px) {
	a.btn_1::after {
		width: 5vw; } }

a.btn_1:hover {
	opacity: 0.5; 
}


a.btn_2 {
	display: flex;
	justify-content: center;
    align-items: center;
	text-align: center;
	text-decoration: none;
	width: 100%;
	margin:0 auto;
	background-color: #fff;
	color: #000;
	position: relative;
	transition: 0.5s;
	font-size: 14px;
	box-sizing: border-box;
	padding: 20px 0;
}
@media screen and (max-width: 768px) {
	a.btn_2 {
		padding: 4.0vw;
		font-size: 3.2vw; } }

a.btn_2::before {
	content: '';
	position: absolute;
	top: calc(50% - 0px);
	right: 1em;
	transform: translateY(calc(-50% - 2px)) rotate(45deg);
	width: 5px;
	height: 1px;
	background-color: #000;
}
a.btn_2::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	width: 2vw;
	height: 1px;
	background-color: #000;
}
@media screen and (max-width: 768px) {
	a.btn_2::after {
		width: 5vw; } }

a.btn_2:hover {
	opacity: 0.5; 
}




/*------------------------------section 01 ここから-----------------------------------*/

.sec01 {
	background-image: url("../assets/img/sec01_bg_pc.jpg");
	background-attachment: fixed;
	background-size: cover;
	background-repeat: no-repeat;
	padding:8vw 0;
}
@media screen and (max-width: 768px) {
	.sec01 {
		background-image: url("../assets/img/sec01_bg_sp.jpg");
		padding:18vw 0; } }

.sec01 .sec01-detail {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items:stretch;
	align-items:stretch;
	width: 100%;
}
@media screen and (max-width: 768px) {
	.sec01 .sec01-detail {
		-webkit-flex-wrap: wrap;
		flex-wrap:wrap;
		flex-direction: row;
		justify-content: space-around;
		-webkit-justify-content: space-around; } }


.sec01 .sec01-detail .sec01-box {
	box-sizing: border-box;
	width: 24%;
	background-color: #fff;
	padding:1.5vw;
}
@media screen and (max-width: 768px) {
	.sec01 .sec01-detail .sec01-box {	
		width: 48%;
		margin-bottom: 2.0vw;
		padding:3.0vw; } }


.sec01 .sec01-detail .sec01-box p {
	margin: 1.0vw 0;
}
@media screen and (max-width: 768px) {
	.sec01 .sec01-detail .sec01-box p {
		height:22vw;
		margin: 2.0vw 0; } }

/*------------------------------section 01 ここまで-----------------------------------*/




/*------------------------------section 02 ここから-----------------------------------*/
.sec02 {
	padding:8vw 0;
}
@media screen and (max-width: 768px) {
	.sec02 {
		padding:18vw 0; } }

.sec02 .sec02-detail {
	display: -webkit-flex;
	display: flex;
	width: 100%;
	height: auto;
	margin-bottom: 2vw;
}
@media screen and (max-width: 768px) {
	.sec02 .sec02-detail {
		display: -webkit-block;
		display: block;
		margin-bottom: 4vw; } }

.sec02 .sec02-detail .sec02-box {
	box-sizing: border-box;
	width: 50%;
	padding:4.0vw 3.0vw 3.0vw;
}
@media screen and (max-width: 768px) {
	.sec02 .sec02-detail .sec02-box {
		padding:6.0vw 4.0vw ;
		width: 100%; } }

.sec02 .sec02-detail .sec02-box .sec02-title_small {
	width:100%;
	max-width: 151px;
	display: block;
	margin: 0 auto 2.0vw;
}

.sec02 .sec02-detail .sec02-box .sec02-title {
	width:100%;
	max-width: 173px;
	display: block;
	margin: 0 auto 2.0vw;
}

.sec02 .sec02-detail .sec02-box p {
	margin-bottom: 1.5vw;
}
@media screen and (max-width: 768px) {
	.sec02 .sec02-detail .sec02-box p {
		margin-bottom: 3.0vw; } }

.sec02 .sec02-detail .sec02-box .sec02-item {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	width: 100%;
}

.sec02 .sec02-detail .sec02-box .sec02-item img {
	height:auto;
	width: 47%;
	object-fit: cover;
}
.sec02 .sec02-detail .sec02-box .sec02-item p {
	width: 50%;
}

.sec02 .sec02-detail .sec02-box h2 {
	margin-bottom: 2.0vw;
}


.sec02 .sec02-detail .sec02-box a.btn_1 {
	width:100%;
	margin-top: 1.5vw; }
.sec02 .sec02-detail .sec02-box a.btn_2 {
	width:100%;
	margin-top: 1.5vw; }

@media screen and (max-width: 768px) {
	.sec02 .sec02-detail .sec02-box a.btn_1 {
		width:100%;
		margin-top: 3vw; } }


.sec02 .sec02-detail .sec02-pic_1 {
	width: 50%;
	background-size: cover;
	background-image: url("../assets/img/sec02_pic_1_pc.jpg") ;
	background-position: center center;
	background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
	.sec02 .sec02-detail .sec02-pic_1 {
		width: 100%;
		height: 40vh;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
		background-image: url("../assets/img/sec02_pic_1_sp.jpg") ; } }

.sec02 .sec02-detail .sec02-pic_2 {
	width: 50%;
	background-size: cover;
	background-image: url("../assets/img/sec02_pic_2_pc.jpg") ;
	background-position: center center;
	background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
	.sec02 .sec02-detail .sec02-pic_2 {
		width: 100%;
		height: 40vh;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
		background-image: url("../assets/img/sec02_pic_2_sp.jpg") ; } }

.sec02 .sec02-detail .sec02-pic_3 {
	width: 50%;
	background-size: cover;
	background-image: url("../assets/img/sec02_pic_3_pc.jpg") ;
	background-position: center center;
	background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
	.sec02 .sec02-detail .sec02-pic_3 {
		width: 100%;
		height: 40vh;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
		background-image: url("../assets/img/sec02_pic_3_sp.jpg") ; } }

.sec02 .sec02-detail .sec02-pic_4 {
	width: 50%;
	background-size: cover;
	background-image: url("../assets/img/sec02_pic_4_pc.jpg") ;
	background-position: center center;
	background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
	.sec02 .sec02-detail .sec02-pic_4 {
		width: 100%;
		height: 40vh;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
		background-image: url("../assets/img/sec02_pic_4_sp.jpg") ; } }


@media screen and (max-width: 768px) {
	.sec02 .sec02-detail  .sec02-title_small {
		width:100%;
		max-width: 99px;
		display: block;
		margin: 0 auto ; } }

@media screen and (max-width: 768px) {
	.sec02 .sec02-detail .sec02-title {
		width:100%;
		max-width: 112px;
		display: block;
		margin: 0 auto ; } }

@media screen and (max-width: 768px) {
	.sec02 .sec02-detail .sec02-box img {
		margin-bottom: 3.0vw; } }

/*------------------------------section 02 ここまで-----------------------------------*/




/*------------------------------section 03 ここから-----------------------------------*/
.sec03 {
	background-image: url("../assets/img/sec03_bg_pc.jpg");
	background-attachment: fixed;
	background-size: cover;
	background-repeat: no-repeat;
	padding:8vw 0;
}
@media screen and (max-width: 768px) {
	.sec03 {
		background-image: url("../assets/img/sec03_bg_sp.jpg");
		padding:18vw 0; } }

.sec03 .sec03-detail {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	width: 100%;
}
@media screen and (max-width: 768px) {
	.sec03 .sec03-detail {
		display: -webkit-block;
		display: block; } }


.sec03 .sec03-detail .sec03-pic {
	width: 23%;
}
@media screen and (max-width: 768px) {
	.sec03 .sec03-detail .sec03-pic {
		margin: 0 auto;
		width: 75%; } }

.sec03 .sec03-detail .sec03-pic-name {
	margin-top: 0.5vw;
	line-height: 1.2;
}
@media screen and (max-width: 768px) {
	.sec03 .sec03-detail .sec03-pic-name {
		text-align: center;
		margin-top: 4.0vw; } }

.sec03 .sec03-detail .sec03-word-block {
	width: 74%;
}
@media screen and (max-width: 768px) {
	.sec03 .sec03-detail .sec03-word-block {
		margin-top: 6.0vw;
		width: 100%; } }

.sec03 .sec03-detail .sec03-word-block .sec03-word_1 {
	margin-bottom: 3.0vw; }
@media screen and (max-width: 768px) {
	.sec03 .sec03-detail .sec03-word-block .sec03-word_1 {
		margin-bottom: 6.0vw; } }

.sec03 .sec03-detail .sec03-word-block h2 {
	margin-bottom: 1.5vw; }
@media screen and (max-width: 768px) {
	.sec03 .sec03-detail .sec03-word-block h2 {
		margin-bottom: 2.0vw; }	}

/*------------------------------section 03 ここまで-----------------------------------*/




/*------------------------------section 04 ここから-----------------------------------*/
.sec04 {
	padding:8vw 0;
}
@media screen and (max-width: 768px) {
	.sec04 {
		padding:18vw 0; } }

.ingredient-block {
	margin: 0 auto 6vw;
	max-width: 900px;
	width: 100%; }
@media screen and (max-width: 768px) {
	.ingredient-block {
		margin: 0 auto 12vw;
		width: 100%; } }

.ingredient-parts {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content:space-between;
	-webkit-align-items: center;
	align-items: center;
	box-sizing: border-box;
	padding:1.5vw 2.0vw;
	width: 100%;
}
@media screen and (max-width: 768px) {
	.ingredient-parts  {
		display: -webkit-block;
		display: block;
		padding:6.0vw 4.0vw; } }


.ingredient-parts h2 {
	text-align: center;
	width: 18%; }
@media screen and (max-width: 768px) {
	.ingredient-parts h2 {
		margin-bottom: 4.0vw;
		width: 100%; } }

.ingredient-parts .ingredient-parts-list {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	width: 80%;
}
@media screen and (max-width: 768px) {
	.ingredient-parts .ingredient-parts-list {
		display: -webkit-block;
		display: block;
		width: 100%; } }

.ingredient-parts .ingredient-parts-list li {
	width: 48%;
	border-bottom: 1px solid #000;
	padding: 1.5vw 0 ; }
@media screen and (max-width: 768px) {
	.ingredient-parts .ingredient-parts-list li {
		width: 100%;
		padding: 4vw 0 ; }
	.ingredient-parts .ingredient-parts-list li:first-child {
		padding: 0 0 4vw; } 
	.ingredient-parts .ingredient-parts-list li:last-child {
		padding: 4vw 0 0 ; } 
}

.ingredient-parts .ingredient-parts-list li:last-child {
	border-bottom: none; }


.ingredient-caption {
	margin-top: 1.0vw;
	float: right; }


.sec04 .sec04-detail {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:wrap;
	-webkit-align-items:stretch;
	align-items:stretch;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-direction: row;
	width: 100%;
	margin-bottom: 6.0vw;
}
@media screen and (max-width: 768px) {
	.sec04 .sec04-detail {
		display: -webkit-block;
		display: block;
		margin-bottom: 12.0vw; } }

.sec04 .sec04-detail .sec04-box {
	box-sizing: border-box;
	padding: 2.0vw;
	width: 32%;
}
@media screen and (max-width: 768px) {
	.sec04 .sec04-detail .sec04-box {
		padding:6.0vw 4.0vw;
		margin-bottom: 4.0vw;
		width: 100%; } }

.sec04 .sec04-detail .sec04-box p {
	margin-top: 1.5vw; }
@media screen and (max-width: 768px) {
	.sec04 .sec04-detail .sec04-box p {
		margin-top: 3.0vw; } }


.sec04 .sec04-detail .sec04-under {
	margin-top: 1.5vw; }
@media screen and (max-width: 768px) {
	.sec04 .sec04-detail .sec04-box-under {
		margin-top: 0; } }


.sec04-topping {
	width: 100%;
}
@media screen and (max-width: 768px) {
	.sec04-topping {
		 } }

.sec04-topping-title {
	margin-bottom: 5.0vw;
	text-align: center;
	position: relative;
	display: inline-block;
	width: 100%;
}
.sec04-topping-title::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -2.0vw;/*線の上下位置*/
	display: inline-block;
	width: 60px;/*線の長さ*/
	height: 1px;/*線の太さ*/
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);/*位置調整*/
	background-color: #000;/*線の色*/ }

@media screen and (max-width: 768px) {
	.sec04-topping-title {
		margin-bottom: 8.0vw; }
	.sec04-topping-title::after {
		width: 50px;
		bottom: -3.0vw;/*線の上下位置*/ } }

.sec04-topping-block {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap:wrap;
	flex-direction: row;
	width: 100%;
}
@media screen and (max-width: 768px) {
	.sec04-topping-block {
		 } }

.sec04-topping-block .sec04-topping-item {
	width: 18%;
	text-align: center;
}
@media screen and (max-width: 768px) {
	.sec04-topping-block .sec04-topping-item {
		width: 49%;
		margin-bottom: 4.0vw; } }

.sec04-topping-block .sec04-topping-item p {
	font-size: 1em;
	font-weight: bold;
	font-family:"ヒラギノ明朝 Pro", 'Noto Serif JP', "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	margin-top: 0.5vw;
}
@media screen and (max-width: 768px) {
	.sec04-topping-block .sec04-topping-item p {
		font-size: 1.2em;
		margin-top: 1.5vw; } }

/*------------------------------section 04 ここまで-----------------------------------*/




/*------------------------------section 05 ここから-----------------------------------*/
.sec05 {
	background-image: url("../assets/img/sec05_bg_pc.jpg");
	background-attachment: scroll;
	background-size: cover;
	background-repeat: no-repeat;
	padding:8vw 0;
}
@media screen and (max-width: 768px) {
	.sec05 {
		background-image: url("../assets/img/sec05_bg_sp.jpg");
		padding:18vw 0; } }

.sec05 .btn_2 {
	margin-top: 3.0vw;
	width: 40%;
}
@media screen and (max-width: 768px) {
	.sec05 .btn_2 {
		margin-top: 6.0vw;
		width: 100%; } }

/*------------------------------section 05 ここまで-----------------------------------*/



/*------------------------------section 06 ここから-----------------------------------*/
.sec06 {
	padding:8vw 0;
}
@media screen and (max-width: 768px) {
	.sec06 {
		padding:18vw 0; } }

.sec06 .review-block {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap:wrap;
	flex-direction: row;
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 3.0vw;
   }
@media screen and (max-width: 768px) {
	.sec06 .review-block {
		display: -webkit-block;
		display: block;
		margin-bottom: 6.0vw; } }

.sec06 .review-block li {
	box-sizing: border-box;
	background-color: #fff;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
	border: 1px solid #000;
	width: 49%;
	padding: 2.0vw; }

@media screen and (max-width: 768px) {
	.sec06 .review-block li {
		width: 100%;
		margin-bottom: 6.0vw;
		padding: 4.0vw; } 
	
	.sec06 .review-block li:last-child {
		margin-bottom: 0; } }


.sec06 .contents__btn {
	margin:0 auto 6.0vw;
	width: 50%;
}
@media screen and (max-width: 768px) {
	.sec06 .contents__btn {
		margin:0 auto  12.0vw;
		width: 100%; } }




.sec06 .review-block .sec06-under {
	margin-top: 1.5vw; }
@media screen and (max-width: 768px) {
	.sec06 .review-block .sec06-under {
		margin-top: 0; } }

.sec06 .review-block li .review-user {
	width: 20%; }
@media screen and (max-width: 768px) {
	.sec06 .review-block li .review-user {
	width: 18%; } }

.sec06 .review-block li .review-user img {
	width: 100%; }

.sec06 .review-block li .review-user p {
	font-size: 12px;
	line-height: 1.0;
    margin-top: 0.3vw; }
@media screen and (max-width: 768px) {
	.sec06 .review-block li .review-user p {
		font-size: 2.4vw;
		line-height: 1.2;
		margin-top: 2.0vw; } }

.sec06 .review-block li .review-comment {
	width: 76%; }
@media screen and (max-width: 768px) {
	.sec06 .review-block li .review-comment {
		width: 78%; } }

.sec06 .review-block li .review-comment .review-word {
	margin-top: 1.0vw;
	 }
@media screen and (max-width: 768px) {
	.sec06 .review-block li .review-comment .review-word {
		margin-top: 3.0vw; } }


.sec06 .review-block li .review-comment .star5:before {
    content: '★★★★★';
    font-size: 1.2rem;
    background: #cda85a;
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
   }
.sec06 .review-block li .review-comment .star4-5:before {
    content: '★★★★★';
    font-size: 1.2rem;
    background: linear-gradient(to right, #cda85a 90%, #d9d9d9 91%);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
   }
.sec06 .review-block li .review-comment .star4:before {
    content: '★★★★★';
    font-size: 1.2rem;
    background: linear-gradient(to right, #cda85a 80%, #d9d9d9 81%);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
   }
.sec06 .review-block li .review-comment .star3-5:before {
    content: '★★★★★';
    font-size: 1.2rem;
    background: linear-gradient(to right, #cda85a 70%, #d9d9d9 71%);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
   }
.sec06 .review-block li .review-comment .star3:before {
    content: '★★★★★';
    font-size: 1.2rem;
    background: linear-gradient(to right, #cda85a 60%, #d9d9d9 61%);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
   }


/* スライダーのwrapper */
.infinite-slider .swiper-wrapper {
  transition-timing-function: linear;
}

/* スライド */
.infinite-slider .swiper-slide {
  height: 290px !important; /* 高さを指定 */
  width: auto !important;
}

/* スライド内の画像 */
.infinite-slider .swiper-slide img {
  width: auto;
  height: 100%;
}

/*------------------------------section 06 ここまで-----------------------------------*/






/*------------------------------section 07 ここから-----------------------------------*/
.sec07 {
	background-image: url("../assets/img/sec07_bg_pc.jpg");
	background-attachment: scroll;
	background-size: cover;
	background-repeat: no-repeat;
	padding:8vw 0;
}
@media screen and (max-width: 768px) {
	.sec07 {
		background-image: url("../assets/img/sec07_bg_sp.jpg");
		padding:18vw 0; } }

.sec07 .contents__btn {
	margin:3.0vw auto 0;
	width: 50%;
}
@media screen and (max-width: 768px) {
	.sec07 .contents__btn {
		margin:6.0vw auto 0;
		width: 100%; } }

/*------------------------------section 07 ここまで-----------------------------------*/



/*------------------------------SNS ここから-----------------------------------*/
.sec-sns {
	width:100%;
	background-color: #000;
	padding: 2.0vw 0;
}
@media screen and (max-width: 768px) {
	.sec-sns {
		padding: 6.0vw 0; } }

/* ボタン全体の外枠指定 */
.sns-list {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
	align-items:center;
	max-width: 120px;/* 3つの場合200px spは260px ボタンを設置する場所の最大横幅 */
	margin: 0 auto;/* ボタンを中央へ */
}
@media screen and (max-width: 768px) {
	.sns-list {
		max-width: 180px; } }

/* ボタン同士の余白調整 */
.sns-list li {
	flex: 0 0 33%;/* ボタンを3つ並びへ */
	text-align: center!important;
}

/* ボタン全体 */
.flowbtn {
	position: relative;
	display: inline-block;
	width: 40px; /* 背景横幅 */
	height: 40px;/* 背景高さ */
	font-size: 20px;/* アイコンサイズ */
	border-radius: 4px;
	color: #fff;/* ボタン内カラー */
	transition: .5s;
	text-decoration: none;
	box-shadow: 0 1px 2px #999;
}
@media screen and (max-width: 768px) {
	.flowbtn {
		width: 60px;
		height: 60px;
		font-size: 30px; } }

.flowbtn i {
	position: relative;
	top: 10px; }
@media screen and (max-width: 768px) {
	.flowbtn i {
		top: 14px; } }


/* ボタンマウスホバー時少し浮き上がる */
.flowbtn:hover {
  -webkit-transform: translateY(-5px);
  -ms-transform: translateY(-5px);
  transform: translateY(-5px);
  text-decoration: none;
  cursor: pointer;
}

.sns_x {
	background: #fff; }
.sns_instagram {
	background: linear-gradient(45deg, rgba(254,212,117,1) 0%,rgba(229,61,93,1) 50%,rgba(194,49,134,1) 70%,rgba(156,56,187,1) 100%); }
.sns_line {
	background: #00b900; }

/*------------------------------SNS ここまで-----------------------------------*/


/*------------------------------contact ここから-----------------------------------*/
.contact {
    margin: 0 auto;
    padding: 8.0vw 0;
}
@media screen and (max-width: 768px) {
	.contact {
		margin: 0 auto;
		padding: 18.0vw 0; } }

.contact-ttl {
	font-family:"ヒラギノ明朝 Pro", 'Noto Serif JP', "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    margin-bottom: 40px;
    text-align: center;
}

.contact-table {
    width: 100%;
    margin: 20px 0;
    border: 1px solid #ccc; }

.contact-item,
.contact-body {
    padding: 20px;
    border: 1px solid #ccc; }

.contact-item {
    text-align: left;
    width: 30%;
    background-color: #eee; }


.form-detail .contact-item {
	position: relative;
	padding-left: 20px;
}
.form-detail .contact-item span {
	position: absolute;
	top:50%;
}

.contact-body {
    width: 70%; }

.form-text {
    width: 100%;
    padding: 10px;
	box-sizing: border-box;
    border-radius: 5px;
    border: 1px solid #ccc;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.form-height {
	display: block;
    height: 250px; }

.form-mini {
    max-width: 200px; }

.contact-sex + .contact-sex {
    margin-left: 10px; }

.contact-sex-txt {
    display: inline-block;
    margin-left: 5px; }

/*.form-select {
    width: 180px;
    height: 40px;
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 5px; }

.contact-skill {
    display: block; }

.contact-skill + .contact-skill {
    margin-top: 10px; }

.contact-skill-txt {
    display: inline-block;
    margin-left: 5px; }*/

.contact-btn {
    width: 250px;
    background-color: #333;
    color: #fff;
    font-weight: bold;
    display: block;
    margin: 0 auto;
    border: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
	transition: 0.5s;
	font-size: 14px;
	box-sizing: border-box;
	padding: 1vw;
}

@media screen and (max-width: 768px) {
	.contact-btn {
		width: 100%;
		padding: 4.0vw;
		font-size: 3.2vw; } }

.contact-btn:hover {
	opacity: 0.5; 
}
/*------------------------------contact ここまで-----------------------------------*/

.copyright {
	text-align: center;
	font-size: 10px;
	padding: 20px 0;
	background-color: #000;
	color: #FFF;
	text-transform: uppercase;
	font-weight: lighter;
	letter-spacing: 2px; }
  @media screen and (max-width: 768px) {
   .copyright {
      font-size: 2.4vw; } }






/*------------------------------下層 ここまで-----------------------------------*/
.under_btn {
	padding-bottom: 6.0vw;
}
.under_btn .btn_1 {
	width: 40%;
}
@media screen and (max-width: 768px) {
	.under_btn {
	padding-bottom: 12.0vw; }
	.under_btn .btn_1 {
		width: 100%; } }

.under_btn_2 .btn_1 {
	margin-bottom: 3.0vw;
	width: 40%;
}
@media screen and (max-width: 768px) {
	.under_btn_2 .btn_1 {
		margin-bottom: 6.0vw;
		width: 100%; } }




.nav_breadcrumb li a{
	color: #666;
}
.nav_breadcrumb li a:hover {
	opacity: 0.5; 
	text-decoration: underline;
}
.nav_breadcrumb {
	color: #666;
	font-size: 12px;
	margin-top: 10px;
}
@media screen and (max-width: 768px) {
	.nav_breadcrumb {
		font-size: 14px; } }

.nav_breadcrumb li {
	display: inline-block;
}
.nav_breadcrumb li::after {
	content: ">";
	height: 1em;
	padding: 0 0.5em;
	vertical-align: top;
	width: 1em;
}
.nav_breadcrumb .current::after{
	display: none;
}

.nav_under {
	padding-top: 10px; }
