@charset "UTF-8";
/* ====================================
          メインビジュアル
===================================== */
main {
	padding: 0 0 3rem 0;
	position: relative;
}
main a{
	transition: all 0.3s;
}
main a:hover{
	transition: all 0.3s;
	text-decoration: none;
}

.mainvisual {
	width: 100%;
	height: 470px;
	justify-content: center;
	background: url(./images/mainvisual.png) no-repeat center/cover;
	position: relative;
}

.title {
	max-width: 730px;
	margin: auto;
	padding-top: 20px;
}

.mvpart {
	max-width: 500px;
	margin: auto;
	position: absolute;
    bottom: 0;
    left: calc(50% - 270px);
}


@media screen and (max-width: 767px) {
	.mainvisual {
		background: url(./images/mainvisual_sp.png) no-repeat center/cover;
		height: 320px;
	}
	.title {
		max-width: 450px;
	}
	.mvpart {
		max-width: 230px;
		left: calc(50% - 130px);
	}

}



/* ====================================
          コンテンツ
===================================== */
.main_qa{
	background: url("images/bg.png") #f9f6ed repeat center/contain;
	padding: 0 0 100px;
}
.nav_box{
	position: sticky;
	top: 0;
	z-index: 1;
	width: 100%;
	background: #ffffffe6;
	box-shadow: 0 2px 5px #50463C44;
}
.nav_menu {
	display: flex;
	justify-content: flex-end;
}
.nav_menu li {
  width: auto;
  padding: 15px;
  text-align: center;
  font-size: 1.4rem;
  justify-content: center;
  align-items: center;
  display: flex;
}

.nav_menu li a:hover {
	color: #E65A3C;
}

.nav_menu li.current a {
	color: #E65A3C;
	font-weight: 500;
}

.content_box {
	background: #fff;
	width: 95%;
	margin: 10px auto ;
	border-radius: 30px;
	padding: 5rem;
	box-shadow: 0 2px 5px #00000055;
}

.content_box .img_box {
  width: 70%;
  margin: 0 auto;
}
.content_box h2 {
	text-align: center;
}
.content_box h2.question {
	font-size: 2.5rem;
	padding: 8px 30px;
	font-weight: 500;
	color: #50463C;
	background: #fff;
	border: 2px solid #50463C;
	border-radius: 100px;
	position: relative;
}
.content_box h2.question:before {
	content: '';
    display: inline-block;
    background-size: contain;
    vertical-align: middle;
    position: absolute;
    bottom: 0;
    background-repeat: no-repeat;
}

.content_box:nth-child(2n) h2.question:before {
    width: 110px;
    height: 90px;
    left: 40px;
	right: auto;
}

.content_box:nth-child(4n) h2.question:before {
    width: 118px;
    height: 90px;
	left: auto;
    right: 30px;
}
.content_box:nth-child(2) h2.question:before { background-image: url(images/subtitle_01.png); }
.content_box:nth-child(4) h2.question:before { background-image: url(images/subtitle_02.png); }
.content_box:nth-child(6) h2.question:before { background-image: url(images/subtitle_03.png); }
.content_box:nth-child(8) h2.question:before { background-image: url(images/subtitle_04.png); }
.content_box:nth-child(10) h2.question:before { background-image: url(images/subtitle_05.png); }

.content_box h2.answer {
	font-size: 3rem;
	font-weight: 500;
	color: #E65A3C;
	line-height: 1.3;
	margin: 4rem 0 3.2rem;
}

.cont_2col {
	display: block;
}
.cont_2col .cont_left {
	width: 50%;
	min-width: 400px;
	padding: 0 30px 30px 0;
	margin: 0 auto auto;
	float: left;
}
.cont_2col .cont_left img {
	border-radius: 15px;
}

.cont_right p a{
	text-decoration: underline;
}
.cont_right p a:hover{
	color: #E65A3C;
}

.content_box h3 {
	font-size: 1.8rem;
	font-weight: 500;
	color: #50463c;
}
.content_box h3:not(:first-child) {
	margin-top: 2rem;
}


.content_box .cont_subbox {
	margin: 3rem;
	padding: 2rem;
	border: 2px solid #E65A3C;
	border-radius: 15px;
}

a.linkbtn,a.linkbtn-l {
	text-align: center;
	font-weight: 500;
	color: #fff;
	background: #E65A3C;
	border-radius: 100px;
	display: block;
	width: 80%;
	margin: 4rem auto 0;
}
a.linkbtn{
	font-size: 2rem;
	padding: 1rem 20px;
	box-shadow: 0 2px 1px #50463cbf;
}
a.linkbtn:hover {
	box-shadow: none;
	transform: translateY(2px);
	opacity: 0.8;
}

a.linkbtn-l{
	font-size: 2.2rem;
	padding: 1.2rem 1em;
	margin-top: 80px;
	background: #fff;
	color: #E65A3C;
	border: 2px solid #E65A3C;
	transition: all 0.3s;
}
a.linkbtn-l:hover {
	opacity: 0.8!important;
	transition: all 0.3s;
}

/*LINE UP*/
#lineup{
	padding-top: 100px;
}

#lineup h2{
	text-align: center;
	font-size: 3rem;
	font-weight: 500;
}

#lineup .cont_2col{
	display: flex;
	width: 90%;
	max-width: 1200px;
	margin: 100px auto;
}

#lineup .cont_2col:last-child{
	margin-bottom: 0;
}

#lineup h3{
	text-align: left;
    font-size: 2.5rem;
    font-weight: 300;
    position: relative;
    margin-bottom: 30px;
	display: inline-block;
}
#lineup .cont_right p{
	margin: 1em 0 0.25em;
	font-weight: 400;
}
a.prod{
	display: inline-block;
	margin: 0 2em 2px 0;
	text-decoration: underline;
}
a.prod:hover{
	opacity: 0.7;
	text-decoration: underline;
}
a.prod i{
	margin-right: 0.3em;
	color: #E65A3C;
}

#lineup .swiper-container{
	max-width: 400px;
	max-height: 400px;
	height: 100%;
	margin: 0 0 0 auto;
}
#lineup .swiper-container .swiper-slide{
	position: relative;
}
#lineup .swiper-container .swiper-slide p.swiper-cap{
	position:absolute;
	top: 0;
	right: 0;
	background: #ffffffcc;
	padding: 0.4em 0.8em;
	font-weight: 400;}
#lineup .swiper-pagination {
	display: flex;
	justify-content: center;
	width: 100%;
	padding: 20px 0 0;
	position: relative;
	max-width: 400px;
    margin-left: auto;
}

#lineup .swiper-pagination-bullet {
	width: 40px;
	height: 4px;
	margin: 0 5px;
	background: #E65A3C;
	border-radius: 0;
}

#lineup .swiper-pagination-bullet-active {
	background: #E65A3C;
}



/* ====================================
          コンテンツ SP版
===================================== */
@media screen and (max-width: 767px) {
	
	.main_qa{
		background: #f9f6ed;
		padding: 0 0 100px;
	}

	.base-width-sp, .base-width {
		padding-left: 3%;
		padding-right: 3%;
	}
	.nav_menu li {
		font-size: 1.6rem;
		padding: 5px;
	}
	.nav_menu li a {
		padding: 5px;
		line-height: 1.2;
	}

	  .content_box {
		width: 100%;
		padding: 3rem 2rem;
		margin: 60px auto 30px;
		border-radius: 15px;
	  }
	  .content_box h2 {
		text-align: center;
	  }
	  .content_box h2.question {
		font-size: 1.8rem;
	  }
	  .content_box h2.answer {
		font-size: 2rem;
	  }
	  .img_box {
		width: 100%;
		margin: 0 auto;
	  }


	.main_qa .content_box:nth-child(2n) h2.question:before {
		width: 130px;
		height: 90px;
		top: -92px;
		left: calc(50% - 55px);
	}

	.main_qa .content_box:nth-child(4n) h2.question:before {
		width: 142px;
		height: 90px;
		top: -92px;
		right: calc(50% - 59px);
	}

	.cont_2col{
		display: flex;
		flex-direction: column;
	}

	.cont_2col .cont_left,.cont_2col .cont_right {
		width: 100%;
	}
	.cont_2col .cont_left {
		padding: 0 0 2rem;
		min-width: auto;
	}

	.content_box p{
		font-size: 1.4rem;
	}

	.content_box h3 {
		font-size: 1.6rem;
		font-weight: 500;
		color: #50463c;
		margin-top: 2rem;
	}
	.content_box h3:first-child {
		margin-top: 0;
	}

	.content_box .cont_subbox {
		margin: 2rem 0;
		padding: 1rem;
		border: 2px solid #E65A3C;
		border-radius: 8px;
	}
	
	/* lineup */
	#lineup h3{
		text-align: center;
		font-size: 2.2rem;
		margin: 0 0 30px;
		display: block;
	}
	
	#lineup h3:before{
		width: 100px;
		left: calc(50% - 50px);
	}
	
	#lineup .cont_right{
		width: 90%;
		margin: 0 auto;
	}
	#lineup .swiper-container,#lineup .swiper-pagination {
		max-width: 600px;
		max-height: 600px;
		margin: 0 auto;
	}
	
	#lineup .lineup_list{
		width: 100%;
		justify-content: flex-start;
	}
	
	ul.lineup_list li {
    	width: calc(50% - 2rem);
		max-width: none;
		text-align: center;
		margin: 0 auto;
	}
	a.linkbtn {
		font-size: 1.5rem;
		width: 95%;
		padding: 1rem 20px;
	}

	a.linkbtn-l {
		width: 100%;
		font-size: 1.8rem;

	}

}

/* ====================================
          アニメーション
===================================== */

/* title */ 
.poyopoyo {
  animation: poyopoyo 2s ease-out;
  opacity: 1;
}
@keyframes poyopoyo {
  0%, 40%, 60%, 80% { transform: scale(1.0); }
  50%, 70% { transform: scale(0.95); }
}
 
/* 吹き出し */
.fuwafuwa {
  animation: fuwafuwa 4s infinite ease-in-out alternate;
  transition: 1s ease-in-out;
}
@keyframes fuwafuwa {
  0% { transform:translate(0, 0); }
  50% { transform:translate(0, -8px); }
  100% { transform:translate(0, 0); }
}

/* fadein */
.fadein {
  opacity: 0;
  visibility: hidden;
  transition: .8s;
  transform: translateY(30px);
}
.fadein.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* zoomin */
.zoomin {
  opacity: 0;
  visibility: hidden;
  transition: 1s;
}
.zoomin.active {
  opacity: 1;
  visibility: visible;
  animation: zoomIn 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
@keyframes zoomIn {
  0% { transform: scale(0.9); opacity: 0; }
  100% { opacity: 1; transform: scale(1); }
}

/* answer */
.answer {
  opacity: 0;
  visibility: hidden;
  transition: .6s;
	transition-delay: .8s;
}
.active .answer.active  {
  opacity: 1;
  visibility: visible;

}

/* ====================================
          scroll
===================================== */
.h100{ height: 100px; }

@media screen and (max-width: 767px) {
	.h100{ height: 40px; }
}

/* ====================================
          汎用
===================================== */
.tac {
  text-align: center;
}
.fwb {
  font-weight: 600;
}
.mts {
  margin-top: 4rem!important;
}
.mbs {
  margin-bottom: 4rem!important;
}

strong {
	color: #E65A3C;
}
.note {
	display: block;
	font-size: 1.2rem;
	margin-top: 1rem;
}
.note:before {
	content: '※ ';
	color: #00a0e9;
}
.cap {
	display: block;
	font-size: 1.2rem;
	text-align: center;
	margin-top: 1rem;
}
.inline-block{
  display: inline-block;
}
.clearfix::after {
	content: "";
    display: block;
    clear: both;
}

/*表示制御*/
.sponly { display: none; }
.pconly { display: block; }

@media screen and (max-width: 767px) {
	/*表示制御*/
  .sponly { display: block; }
  .pconly { display: none; }
}

