@charset "utf-8";

/*--------------------------------------------------
  reset
--------------------------------------------------*/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  font-weight:normal;/* Yutaka added */
  vertical-align: baseline;
}

body {
  line-height:1.8;
  /*min-width: 1100px;*/
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
font-weight: 500;
	font-size: 16px;
	color: #3d2b19;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Yutaka added */
table, tr, th, td, caption {
  vertical-align: middle;
  text-align:left;
}

img {
  vertical-align: top;
  font-size:0;
  line-height: 0;
}

.clearfix:after {
  
  content: "";
  clear: both;
  display: block;
}
img {
	display: block;
	width: 100%;
}
a {
	display: block;
	text-decoration: none;
	transition-property: all;
	transition: 0.3s linear;
}
a:hover{
	opacity: 0.6;
}

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


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

/*--------------------------------------------------
header 
--------------------------------------------------*/
#header .logo {
	width: 160px;
}
@media screen and (max-width: 1000px) {
	#header {
		padding: 0;
	}
	#header .logo {
	width: 16%;
}
}

@media screen and (max-width: 768px) {
	#header {
		padding:3% 0;
	}
	#header .logo {
		width: 95px;
}
}

/*--------------------------------------------------
ここから
--------------------------------------------------*/
.inner {
	width: 1000px;
	box-sizing: border-box;
	margin: auto;
}
.fl01 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.clr_pnk {
	color: #f5705e;
}
@media screen and (max-width: 1000px) {
.inner {
	width: 100%;
	box-sizing: border-box;
	margin: auto;
}
}
@media screen and (max-width: 768px) {
.inner {
	width: 90%;
	box-sizing: border-box;
	margin: auto;
}
}


/*--------------------------------------------------
mv
--------------------------------------------------*/
.mv {
	width: 100%;
	/* background: url(../images/mv-bg.jpg)center no-repeat; */
	background-size: 1920px 600px;
}

.mv .txt-box-wrap{
  position: relative;
}


.mv .txt-box {
	/* background: url(../images/mv-txtbox-bg.png);
	width: 543px;
	height: 600px;
	margin: auto;
	position: relative; */
  width: 600px;
  height: 550px;
  position: absolute;
  top: 18px;
  left: 50%;
  transform: translate(-50%, 0%);
}


.mv .txt-box-inner {
	position: absolute;
	top: 12%;
	width: 100%;
}

.mv-slide-list{
margin-top: 10px;
}

.mv-slide-list-item{
  width: 221px;
  height: 192px;
  margin-right: 10px;
}

.mv-slide01-list{
  margin-top: 0px;
}

.mv-slide03-list{
  margin-bottom: 20px;
}

.mv .box {
	width: 460px;
	margin: auto;
	border: 2px solid #eeda87;
	border-radius: 12px;
	position: relative;
	background: #fff;
}
.mv .box h4 {
	font-size: 19px;
	text-align: center;
	font-weight: bold;
	font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}
.mv .box .icon {
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(-20%,-20%);
	width: 84px;
}
.mv .box .icon .icon-bg {
	position: relative;
}
.mv .box .icon .icon-bg .r2{
		animation: r2 9s linear infinite;
}
@keyframes r2 {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.mv .box .icon .icon-bg .icon-main{
	position: absolute;
	top: 0;
	width: 100%;
}
.mv .txt-box .txt {
	position: relative;
}
.mv .txt-box .txt .end-txt {
	display: block;
	position: absolute;
	top: 36%;
	left: 0;
	right: 0;
	width: 100%;
	max-width: 463px;
	margin: 25px auto;
}
.sikiri {
	background: #d3341f;
}
.sikiri h3 {
	width: 100%;
}
@media screen and (max-width: 1000px) {
	.mv .txt-box-wrap {
		width: 100%;
		margin: auto;
	}
.mv .txt-box {
  width: 600px;
  height: 550px;
  position: absolute;
  top: 18px;
  left: 50%;
  transform: translate(-50%, 0%);
}



.mv .box {
	width: 84.7%;
	margin: auto;
	border: 2px solid #eeda87;
	border-radius: 12px;
	position: relative;
	background: #fff;
}

.mv .box .icon {
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(-20%,-20%);
	width: 18.2%;
}
.mv .txt-box .txt .end-txt {
	display: block;
	position: absolute;
	top: 36%;
	left: 0;
	right: 0;
	width: 85.267034%;
	max-width: 463px;
	margin: auto;
}
}
@media screen and (max-width: 768px) {
	.mv .txt-box {
    width: calc(600/750 * 100vw);
    height: calc(550/750 * 100vw);
    top: 50%;
    transform: translate(-50%, -50%);
	}
	.sp-mv .txt-box-inner {
		position: absolute;
		top: 11%;
		width: 100%;
		margin: auto;
	}
	.sp-mv .txt-box .txt {
	position: relative;
  padding-top: 4px;
}
.sp-mv .txt-box .txt .end-txt {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 80%;
	max-width: 463px;
	transform: translateY(-25%);
	margin: auto;
}
.mv-slide-list-item{
  width: calc(221/750 * 100vw);
  height: calc(192/750 * 100vw);
  margin-right: calc(10/750 * 100vw);
}
	.sp-mv .slider {
		margin-top: -16px;
	}
	.sp-mv .slider .img1,
	.sp-mv .slider .img2 {
		padding: 0px 5px;
		box-sizing: border-box;
	}
	
	.sp-mv .box {
		margin-top: -16px;
	}
	.sp-mv .box .inner {
		width: 92%;
		margin: auto;
		position: relative;
		padding: 2% 0;
	}
	.sp-mv .box .inner .icon {
		position: absolute;
		top: 0;
		left: 0;
		transform: translate(-17%,-62%);
		width: 13%;
	}
	.sp-mv .box .inner .icon .icon-bg {
	position: relative;
}
.sp-mv .box .inner .icon .icon-bg .r2{
		animation: r2 9s linear infinite;
}

.sp-mv .box .inner .icon .icon-bg .icon-main{
	position: absolute;
	top: 0;
	width: 100%;
}
	.sp-mv .box .inner .fl01 {
		align-items: center;
	}
	.sp-mv .box .t-box {
		width: 46%;
	}
	.sp-mv .box .i-box {
		width: 52%;
	}
	.sp-mv .box .t-box h4 {
		font-size: 3.6666666666666667vw;
		text-align: center;
		line-height: 1.4;
		font-weight: bold;
		font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
	}
	.sp-mv .box .t-box h4 span {
		font-weight: bold;
	}
	.sp-mv .box .t-box h4 .s-txt {
		font-size: 2.4666666666666665vw;
	}
	.sp-mv .slider .img1 {
	width: 100px;
}
	.sp-mv .slider .img2 {
	width: 155px;
}
	.sikiri {
	background: #d3341f;
		margin-top: 12px;
}
	.sikiri .inner {
		width: 90%;
		padding: 0;
	}
.sikiri h3 {
	width: 100%;
}
}

/*----------------sec01---------------*/
.sec01 {
  padding: 20px 0 90px;
}
.sec01 .link {
	width: 23.8%
}
.sec01 .link a {
	position: relative;
}
.sec01 .link a .hover {
	position: absolute;
	top: 0;
	width: 100%;
	opacity: 0;
}
.sec01 .link a:hover .hover {
	opacity: 1;
}
.sec01 .link a:hover {
	opacity: 1;
}
.sec01 .ttl-box {
	margin: 50px auto 40px;
	width: 146px;
}
.sec01 .fl01 {
	align-items: center;
}
.sec01 .t-box,
.sec01 .i-box {
	width: 50%;
}
.sec01 .t-box {
	box-sizing: border-box;
	padding-left: 30px;
}
.sec01 .t-box p {
	font-size: 16px;
	line-height: 2.5;
}
.sec01 .t-box p span {
	font-weight: bold;
}
.sec01-ttl-wrap {
	width: 612px;
	margin: auto;
}
.sec01-ttl {
	width: 100%;
	height: 0;
	margin: 80px auto 34px;
	background: url(../images/sec01-ttlbg.png) no-repeat;
	background-size: 100% auto;
	padding-top: 21.24183%;
	position: relative;
}
.sec01-ttl .sec01-ttl-inner {
	position: absolute;
	top: 60%;
	left: 0;
	right: 0;
	width: 78.267973%;
	margin: auto;
	transform: translateY(-50%);
}
.sec01-ttl .sec01-ttl-inner h3 {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}
.sec01-ttl .sec01-ttl-inner h3 span {
	color: #d3341f;
	font-size: 30px;
	font-weight: bold;
}
.sec01-ttl .sec01-ttl-inner h4 {
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	line-height: 1;
}
.sec01 .sl-txt {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	margin: 12px 0 0;
}


/*------- 200716追加　受賞者発表バナー↓ -----*/
.bnr-award{
  padding: 20px 0 30px;

}
.bnr-award a{
  margin: 0 auto;
  text-indent: -9999px;
  width: 1000px;
  height: 87px;
  background: url(../images/bnr-award.png) top center / 1000px 87px no-repeat;
}
.bnr-award-1{
  padding: 20px 0 30px;

}
.bnr-award-1 a{
  margin: 0 auto;
  text-indent: -9999px;
  width: 1000px;
  height: 87px;
  background: url(../images/bnr-award.png) top center / 1000px 87px no-repeat;
}

.bnr-award-1 a{
  background: url(../images/bnr-award-1.png) top center / 1000px 87px no-repeat;
}

.bnr-award a:hover{
  background: url(../images/bnr-award-hover.png) top center / 1000px 87px no-repeat;
}

.bnr-award-1 a:hover {
  background: url(../images/bnr-award-1-hover.png) top center / 1000px 87px no-repeat;
}

/*------- 200716追加　受賞者発表バナー↑ -----*/

.bnr-award-2{
	padding: 20px 0 30px;
  
  }
  .bnr-award-2 a{
	margin: 0 auto;
	text-indent: -9999px;
	width: 1000px;
	height: 87px;
	background: url(../images/bnr-award.png) top center / 1000px 87px no-repeat;
  }
  
  .bnr-award-2 a{
	background: url(../images/bnr-award-2.png) top center / 1000px 87px no-repeat;
  }
  
  .bnr-award a:hover{
	background: url(../images/bnr-award-hover.png) top center / 1000px 87px no-repeat;
  }
  
  .bnr-award-2 a:hover {
	background: url(../images/bnr-award-2-hover.png) top center / 1000px 87px no-repeat;
  }
  
/*------- 220309追加　受賞者発表バナー↑ -----*/

.anc-link{
  color: #3d2b19;
  text-decoration: underline;
  display: inline;
}

.anc-link:hover{
  color: #704f2d;
}

/*------- 200716追加　テキストアンカーリンク↑ -----*/

@media screen and (max-width: 768px) {
	.sec01 {
	padding: 6.5% 0 12%;
}
	.sec01 .link {
	width: 48%;
	margin-bottom: 20px;
}
	.sec01 .t-box,
.sec01 .i-box {
	width: 100%;
}
	.sec01 .t-box {
	box-sizing: border-box;
	padding-left: 0;
}
	.sec01 .i-box {
		margin: 2% auto 4%;
	}
	.sec01 .t-box p {
	font-size: 3.2vw;
	line-height: 2.2;
}
	.sec01 .sl-txt {
	/*font-size: 2.6666666666666665vw;*/
	font-size: 2.5vw;
	font-weight: bold;
	line-height: 1.5;
	margin: 12px 0 0;
}
	.sec01 .ttl-box {
	margin: 3% 0 2%;
}
	.sec01-ttl-wrap {
	width: 100%;
	margin: auto;
}
	.sec01-ttl {
	width: 100%;
	height: 0;
	margin: 2% auto 3%;
	background: url(../images/sec01-ttlbg.png) no-repeat;
	background-size: 100% auto;
	padding-top: 23.36601%;
	position: relative;
}
.sec01-ttl .sec01-ttl-inner {
	position: absolute;
	top: 55%;
	left: 0;
	right: 0;
	width: 81.791044%;
	margin: auto;
	transform: translateY(-50%);
}
.sec01-ttl .sec01-ttl-inner h3 {
	font-size: 3.7333333333333334vw;
	font-weight: bold;
	text-align: center;
}
.sec01-ttl .sec01-ttl-inner h3 span {
	color: #d3341f;
	font-size: 4.533333333333333vw;
	font-weight: bold;
}
	.sec01-ttl .sec01-ttl-inner h4 {
	font-size: 2.933333333333333vw;
	font-weight: bold;
	text-align: center;
	line-height: 1;
}

/*------- 200716追加　受賞者発表バナー↓ -----*/

.bnr-award.sp-bnr-before{
  width: 100%;
  padding: 0;
}

.bnr-award-1.sp-bnr-before{
  width: 100%;
  padding: 0;
}
.bnr-award.sp-bnr-after{
  width: 90%;
  padding-bottom: 20px;
  margin: 0 auto;
}
.bnr-award a{
  width: 100%;
  height: calc(130/750 * 100vw);
  background: url(../images/sp-bnr-award.png) top center / 100% auto no-repeat;
}

.bnr-award-1 a{
  width: 100%;
  height: calc(130/750 * 100vw);
  background: url(../images/sp-bnr-award-1.png) top center / 100% auto no-repeat;
}

.bnr-award-1 a:hover,
.bnr-award-1 a:active{
  background: url(../images/sp-bnr-award-1-hover.png) top center / 100% auto no-repeat!important;
}

/*------- 200716追加　受賞者発表バナー↑ -----*/

.bnr-award.sp-bnr-before{
	width: 100%;
	padding: 0;
  }
  
.bnr-award-2.sp-bnr-before{
width: 100%;
padding: 0;
}
.bnr-award.sp-bnr-after{
width: 90%;
padding-bottom: 20px;
margin: 0 auto;
}
.bnr-award a{
width: 100%;
height: calc(130/750 * 100vw);
background: url(../images/sp-bnr-award-2.png) top center / 100% auto no-repeat;
}

.bnr-award-2 a{
width: 100%;
height: calc(130/750 * 100vw);
background: url(../images/sp-bnr-award-2.png) top center / 100% auto no-repeat;
}

.bnr-award-2 a:hover,
.bnr-award-2 a:active{
background: url(../images/sp-bnr-award-2-hover.png) top center / 100% auto no-repeat!important;
}

/*------- 220309追加　受賞者発表バナー↑ -----*/

}

.sec02,.sec04 {
background-color: #f5f2eb;
background-image:-o-linear-gradient(left, #f5f2eb 50%, #f9f7f3 50%, #f9f7f3 75%, #f5f2eb 75%, #f5f2eb 75%,#f9f7f3 75%, #f9f7f3 );
background-image:-ms-linear-gradient(left, #f5f2eb 50%, #f9f7f3 50%, #f9f7f3 75%, #f5f2eb 75%, #f5f2eb 75%,#f9f7f3 75%, #f9f7f3 );
background-image:linear-gradient(90deg, #f5f2eb 50%, #f9f7f3 50%, #f9f7f3 75%, #f5f2eb 75%, #f5f2eb 75%,#f9f7f3 75%, #f9f7f3 );
-webkit-background-size: 10px;
	padding: 80px 0;
}
.sec05{
  padding: 80px 0;
}
.sec02 .inner {
	position: relative;
}
.sec02 .ttl-box {
	width: 146px;
	margin: auto;
}
.sec02 .inner .item01 {
	position: absolute;
	top: 0;
	right: 0;
}
.sec02 .inner .item02 {
	position: absolute;
	bottom: -30px;
	left: 0;
}
.sec02 .sub-ttl {
	font-size: 24px;
	text-align: center;
	font-weight: bold;
	margin: 20px 0 60px;
}
.sec02 .sub-ttl span{
	color: #d3341f;
	font-weight: bold;
	font-size: 30px;
}
.sec02 .fl01 {
	padding: 0 0 0;
}
.pr-box {
	width: 28.5%;
	border: 2px solid #d3341f;
	position: relative;
}
.pr-box-21 {
	width: 325px;
	position: relative;
  margin-bottom: 60px;
}
.pr-box-21-1 {
	width: 576px;
  margin: 0 auto 50px;
}
.pr-box-21-block{
  width: 700px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}


.pr-box img {
	position: relative;
	z-index: 10;
}
.pr-box::after {
	display: block;
	content: "";
	position: absolute;
	top: 10px;
	left: 10px;
	width: 100%;
	height: 100%;
	background: repeating-linear-gradient(
	45deg,     /* 角度の指定 */
	rgba(0,0,0,0),      /* 色A ... 開始 */
	rgba(0,0,0,0) 3px,  /* 色A ... 終了 */
	#d3341f 3px,      /* 色B ... 開始 */
	#d3341f 6px   /* 色B ... 終了 */
);
	z-index: 0;
}
.pr-box .icon {
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(-38%,-50%);
	z-index: 10;
}
.pr-box .pr-txt {
	position: absolute;
	top: 70%;
	width: 100%;
	text-align: center;
	line-height: 1.4;
	z-index: 10;
	font-size: 20px;
	font-weight: bold;
}
.pr-txt-balumuda{
  font-size: 18px!important;
  padding-top: 5px;
}
.sec02 .s-txt {
	text-align: right;
	margin: 30px 0 0;
}
@media screen and (max-width: 1020px) {
.sec02 .inner {
	position: relative;
	overflow: hidden;
}
}
@media screen and (max-width: 768px) {
	.sec02 {
		background: url(../images/sp-sec02-bg.jpg) center;
		background-size: cover;
		padding: 10% 0;
	}
	.sec02 .inner .item01 {
	display: none;
}
.sec02 .inner .item02 {
	display: none;
}
	.sec02 .sub-ttl {
	font-size: 3.7333333333333334vw;
	text-align: center;
	font-weight: bold;
	margin: 3% 0 11%;
	line-height: 1.4;
}
.sec02 .sub-ttl span{
	color: #d3341f;
	font-weight: bold;
	font-size: 4.533333333333333vw;
}
	.sec02 .fl01 {
	padding: 0 0 0;
}
	.pr-box {
	width: 43%;
	border: 2px solid #d3341f;
	position: relative;
}
	.pr-box::after {
	display: block;
	content: "";
	position: absolute;
	top: 4%;
	left: 4%;
	width: 100%;
	height: 100%;
	background: repeating-linear-gradient(
	45deg,     /* 角度の指定 */
	rgba(0,0,0,0),      /* 色A ... 開始 */
	rgba(0,0,0,0) 2px,  /* 色A ... 終了 */
	#d3341f 2px,      /* 色B ... 開始 */
	#d3341f 4px   /* 色B ... 終了 */
);
	z-index: 0;
}
	.pr-box:nth-child(2) {
		margin-right: 1%;
	}
	.pr-box:last-child {
		margin: 14% auto 2%;
	}
	.pr-box .icon {
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(-30%,-51%);
	z-index: 10;
	width: 45%;
}
	.pr-box .pr-txt {
	position: absolute;
	top: 70%;
	width: 100%;
	text-align: center;
	line-height: 1.4;
	z-index: 10;
	font-size: 2.8vw;
	font-weight: bold;
}
.pr-box .pr-txt-balumuda {
  font-size: 2.6vw!important;
  letter-spacing: -0.1em;
}

.pr-box-21 {
	width: 68%;
	position: relative;
  margin: 0 auto 8%;
}
.pr-box-21-1 {
	width: 90%;
  margin: 0 auto 8%;
}
.pr-box-21-block{
  width: 100%;
  flex-direction: column;
}


	.sec02 .s-txt {
	text-align: center;
	margin: 3% 0 0;
	font-size: 2.4vw;
}
}
.sec03 {
	padding: 80px 0 100px;
}
.sec03 .ttl-box {
	width: 163px;
	margin: auto;
}
.sec03 .sub-ttl {
	font-size: 24px;
	text-align: center;
	font-weight: bold;
	margin: 36px 0 0;
}
.sec03 .sub-txt {
	font-size: 16px;
	text-align: center;
	margin: 0 0 20px;
}
.sec03 .stp-txt {
	width: 23%;
	text-align: center;
	font-weight: bold;
	line-height: 1.6;
}
.sec03 .box .fl01 {
	background: #f5f5f5;
	padding: 20px 0;
	margin: 60px 0;
}
.sec03 .box .fl01 {
	justify-content: flex-start;
	align-items: center;
}
.sec03 .box .fl01 .l-box {
	border-right: 1px solid #111;
	margin-right: 60px;
}
.sec03-subttl-wrap {
	margin: 0 auto 30px;
	width: 473px;
}
.sec03-subttl {
	width: 100%;
	height: 0;
	margin: 0 auto 0;
	background: url(../images/sec03-sub-ttl.png);
	background-size: 100% auto;
	padding-top: 13.74207%;
	position: relative;
}
.sec03-subttl::after {
	display: block;
	content: "";
	position: absolute;
	right: 10%;
	top: 13%;
	background: url(../images/sec03-sub-ttl-item.png);
	width: 18px;
	height: 16px;
}
.sec03-subttl h4 {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	position: absolute;
	top: 50%;
	width: 100%;
	transform: translateY(-50%);
}
.sec03-subtxt{
  text-align: center;
  color: #3d2b19;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.8;
  padding-bottom: 40px;
}
.box-02 {
	width: 86%;
	margin: 0 auto 4%;
}
.txt-area {
	width: 42%;
}
.txt-area #copyTarget1,
.txt-area #copyTarget2,
.txt-area #copyTarget3 {
	width: 100%;
	box-sizing: border-box;
	font-size: 16px;
	padding: 16px 24px 16px;
	line-height: 1.8;
}
.btn-area {
	width: 52%;
}
.btn-area .btn {
	background: #456b96;
	border-bottom: 5px solid #2b4664;
	border-radius: 12px;
	padding: 16px 0;
	font-size: 20px;
	color: #fff;
	font-weight: bold;
	width: 100%;
	position: relative;
	line-height: 1.4;
}
.btn-area .btn:hover {
	cursor: pointer;
	opacity: 0.6;
}
.btn-area .btn::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 10%;
	background: url(../images/btn-item.png);
	width: 33px;
	height: 38px;
	transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
	
	.sec03 {
	padding: 9% 0 10%;
}
.sec03 .sub-ttl {
	font-size: 3.7333333333333334vw;
	text-align: center;
	font-weight: bold;
	margin: 4% 0 0;
}
.sec03 .sub-txt {
	font-size: 3.2vw;
	text-align: center;
	margin: 0 0 3%;
}
.sec03 .stp-txt {
	width: 100%;
	text-align: center;
	font-size: 3.466666666666667vw;
	font-weight: bold;
	margin: 1.5% 0 0;
	line-height: 1.4;
}
.sec03 .box {
	background: #f5f5f5;
}
.sec03 .box .fl01 {
	justify-content: flex-start;
		padding: 4% 0 7%;
	margin: 16% 0 10%;
}
.sec03 .box .fl01 .l-box {
	border-right: none;
	margin-right: 0;
	width: 100%;
}
	.sec03 .box .fl01 .r-box {
		width: 100%;
	}
	.sec03 .box .fl01 .r-box ul {
		margin: 1% 0 0;
	}
	.sec03 .box .fl01 .r-box li {
		font-size: 3.2vw;
		line-height: 2;
	}
	.sec03-subttl-wrap {
	margin: 5% auto 8%;
	width: 100%;
	}
.sec03-subttl {
	margin: 0 0 0;
	width: 100%;
	box-sizing: border-box;
}
.sec03-subttl h4 {
	font-size: 4.4vw;
	font-weight: bold;
	text-align: center;
}
	.sec03-subttl::after {
	display: block;
	content: "";
	position: absolute;
	right: 8%;
	top: 16%;
	background: url(../images/sec03-sub-ttl-item.png);
		background-size: cover;
	width: 12px;
	height: 10px;
}

.sec03-subtxt{
  font-size: 3.2vw;
  text-align: left;
}

.box-02 {
	width: 100%;
	margin: 0 auto 12%;
}
	.box-02 p {
		font-size: 3.4vw;
	}
.txt-area {
	width: 100%;
}
	.txt-area #copyTarget1,
  .txt-area #copyTarget2,
  .txt-area #copyTarget3 {
	width: 100%;
	box-sizing: border-box;
	font-size: 3.2vw;
	padding: 12px 12px 16px;
	line-height: 1.8;
}
.btn-area {
	width: 100%;
}
.btn-area .btn {
	background: #456b96;
	border-bottom: 5px solid #2b4664;
	border-radius: 10px;
	padding: 2% 0;
	margin: 0 0;
	font-size:3.7333333333333334vw;
	color: #fff;
	font-weight: bold;
	width: 100%;
	position: relative;
}
.btn-area .btn::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 5%;
	background: url(../images/sp-btn-item.png);
	background-size: cover;
	width: 31px;
	height: 35px;
	transform: translateY(-50%);
}
}
.sec04 {
	margin: 0 0 0px;
	padding: 0;
  position: relative;
}
.sec04 .inner {
	padding: 70px 0 56px;
	position: relative;
}
.sec04 h3 {
	text-align: center;
	font-weight: bold;
	font-size: 24px;
}
.sec04 .btn02 {
	width: 650px;
	margin: 20px auto;
}
.sec04 .qr {
	width: 263px;
	margin: auto;
}
.sec04 .end-box {
	position: absolute;
	top: 11%;
	left: 0;
	right: 0;
	width: 78%;
	min-width: 768px;
	height: 78%;
	margin: auto;
}
.sec04 .end-box .end-box-inner {
	background: rgba(255,255,255,0.9);
	height: 100%;
	width: 100%;
	border: 2px dotted #3a2b26;
	border-radius: 30px;
	position: relative;
}
.sec04 .end-box .end-box-inner .end-box-txt {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 39%;
}

.sec04-end{
  width: 650px;
  margin: 0 auto -50px;
}

@media screen and (max-width: 768px) {
	.sec04 {
		padding:0;
	}
	.sec04 .inner {
	padding: 9% 0;
	position: relative;
}
	.sec04 h3 {
	text-align: center;
	font-weight: bold;
	font-size: 3.7333333333333334vw;
}
	.sec04 .btn02 {
	width: 100%;
	margin: 2% auto 1%;
		
}
.sec04 .end-box {
	position: absolute;
	top: 11%;
	left: 0;
	right: 0;
	width: 100%;
	min-width: 100%;
	height: 78%;
	margin: auto;
}
.sec04 .end-box .end-box-inner {
	background: rgba(255,255,255,0.9);
	height: 100%;
	width: 100%;
	border: 2px dotted #3a2b26;
	border-radius: 15px;
	position: relative;
}
.sec04 .end-box .end-box-inner .end-box-txt {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 39%;
}

.sec04-end{
  width: calc(600/750 * 100vw);
  margin: 0 auto calc(-50/750 * 100vw);
}
}
.sec05 .ttl-box {
	width: 146px;
	margin: auto;
}
.sec05 .tp-txt {
	text-align: center;
	font-size: 16px;
	line-height: 48px;
	color: #3d2b19;
	margin: 24px 0;
}
.sec05 .tp-txt .s-txt {
	font-size: 14px;
}
.sec05 .inner {
	background: url(../images/sec05-bg.jpg)center;
	background-size: cover;
	padding: 90px 0 110px;
}
.sec05 .inner .i-logo {
	width: 72px;
	margin: auto;
}
.sec05 .inner .txt {
	font-size: 26px;
	text-align: center;
	font-weight: bold;
	color: #fff;
	margin: 20px 0;
}
.sec05 .inner .btn {
	width: 380px;
	margin: auto;
}
.sec05 .inner .btn a {
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	position: relative;
	border: 2px solid #fff;
	line-height: 48px;
}
.sec05 .inner .btn a::after {
	display: block;
	content: "";
	position: absolute;
	top: 46%;
	right: 6%;
	width: 8px;
	height: 8px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg);
	
}
@media screen and (max-width: 768px) {
	.sec05 {
		padding: 9% 0;
	}
	.sec05 .ttl-box {
	width: 100%;
	margin: auto;
}
	.sec05 .inner {
	background: url(../images/sec05-bg.jpg)center;
	background-size: cover;
	padding: 10% 0;
	position: relative;
	z-index: 1;
}
.sec05 .inner .i-logo {
	width:10%;
	margin: auto;
}
.sec05 .inner .txt {
	font-size: 3.2vw;
	text-align: center;
	font-weight: bold;
	color: #fff;
	margin: 2% 0;
}
.sec05 .inner .btn {
	width: 60%;
	margin: auto;
}
.sec05 .inner .btn a {
	font-size: 2.4vw;
	font-weight: bold;
	color: #fff;
	text-align: center;
	position: relative;
	border: 1px solid #fff;
	line-height: 3;
}
.sec05 .inner .btn a::after {
	display: block;
	content: "";
	position: absolute;
	top: 40%;
	right: 6%;
	width: 4px;
	height: 4px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
	
}
.sec05 .tp-txt {
	text-align: center;
	font-size: 3.2vw;
	line-height: 2.25;
	color: #3d2b19;
	margin: 24px 0;
}
.sec05 .tp-txt .s-txt {
	font-size: 2.4vw;
}
}
.sec06 {
	padding: 90px 0 100px;
}
.sec06 .ttl-box {
	width: 267px;
	margin: auto;
}
.sec06 .table01 {
	width: 100%;
	margin: 30px auto 0;
	border: 1px solid #3d2b19;
}
.sec06 .table01 tr th {
	width: 22%;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	background: #f5f2eb;
	border-right: 1px solid #3d2b19;
}
.sec06 .table01 tr td {
	line-height: 2;
	padding: 24px 30px;
	box-sizing: border-box;
	width: 78%;
}
.sec06 .table01 tr+tr {
	border-top: 1px solid #3d2b19;
}
.sec06 .dot-list {
	list-style: disc;
	padding-left: 24px;
	margin: 2% 0;
}
@media screen and (max-width: 768px) {
	
	.sec06 {
	padding: 12% 0 10%;
}

.sec06 .table01 {
	width: 100%;
	margin: 5% auto 3%;
	border: 1px solid #3d2b19;
}
.sec06 .table01 tr th {
	width: 34%;
	text-align: center;
	font-size: 2.933333333333333vw;
	font-weight: bold;
	background: #f5f2eb;
	border-right: 1px solid #3d2b19;
	line-height: 1.4;
}
.sec06 .table01 tr td {
	line-height: 1.8;
	padding: 2% 4%;
	box-sizing: border-box;
	width: 66%;
	font-size: 2.6666666666666665vw;
	
}
	.sec06 .table01 tr td span {
		display: inline-block!important;
	}
.sec06 .table01 tr+tr {
	border-top: 1px solid #3d2b19;
}
	.sec06 .dot-list {
	list-style: disc;
	padding-left: 6%;
	margin: 2% 0;
}
}

.sec07 {
	background: #f3f3f3;
	padding: 80px 0;
}
.sec07 .ttl-box {
	width: 288px;
	margin: auto;
}
.sec07 .txt {
	text-align: center;
	margin: 20px 0 0;
	font-size: 16px;
}
.sec07 .txt span {
	font-size: 20px;
	font-weight: bold;
}
.sec07 .s-txt {
	font-size: 14px;
	text-align: center;
	margin: 24px 0 0;
}
@media screen and (max-width: 768px) {
	.sec01 .ttl-box,
	.sec02 .ttl-box,
	.sec03 .ttl-box,
	.sec06 .ttl-box,
	.sec07 .ttl-box {
	width: 100%;
}
	.sec07 {
	background: #f3f3f3;
	padding: 10% 0;
}
.sec07 .txt {
	text-align: center;
	margin: 6% 0;
	font-size: 2.933333333333333vw;
	
}
.sec07 .txt span {
	font-size: 3.466666666666667vw;
	font-weight: bold;
}
	.sec07 .s-txt {
		font-size: 2.4vw;
		text-align: center;
	}
}
.foot {
	padding: 40px 0 60px;
}
.foot .logo {
	width: 160px;
	margin: 0 auto 16px;
}
.copy {
	text-align: center;
}
@media screen and (max-width: 768px) {
	.foot {
	padding: 13% 0 10%;
}
.foot .logo {
	width: 30%;
	margin: 0 auto 2%;
}
.copy {
	text-align: center;
	font-size: 2.6666666666666665vw;
}
}

/*------------------------------------------------------------
   slider  slick
------------------------------------------------------------*/
.slider-wrop {
	position: relative;
	min-width: 980px;
}
.slider {
	width: 100%;
	height: auto;
}

.slider .photo {
	position: relative;
}
.slider02 .photo {
	position: relative;
	width: 312px;
	box-sizing: border-box;
	padding: 20px 18px 24px;
	border: 2px solid #cbcbcb;
}
.slider img {
	width: 100%;
	height: auto;
}

button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.slide-arrow {
  position: absolute;
	top: 46%;
	cursor: pointer;
	z-index: 1000;
}

.prev-arrow {
	width: 38px;
	height: 38px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	position: absolute;
	left: 50px;
	margin-top: -19px;
}

.next-arrow {
	width: 38px;
	height: 38px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	right: 50px;
	margin-top: -19px;
}
/*------------------------------------------------------------
   slider  slick
------------------------------------------------------------*/
.slider img {
	width: 100%;
	height: auto;
}

button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.slide-arrow {
  position: absolute;
	top: 50%;
	cursor: pointer;
	z-index: 1000;
}

.prev-arrow {
	width: 79px;
	height: 79px;
	background: url(../images/mv-item01.png);
	background-size: cover;
	border-top: none;
	border-right: none;
	-webkit-transform: rotate(-0deg);
	transform: rotate(-0deg);
	position: absolute;
	left: 12.8%;
	margin-top: 0;
}

.next-arrow {
	width: 79px;
	height: 79px;
	background: url(../images/mv-item02.png);
	background-size: cover;
	border-top: none;
	border-right: none;
	-webkit-transform: rotate(-0deg);
	transform: rotate(-0deg);
	position: absolute;
	right: 12.8%;
	margin-top: 0;
}
.slider02 .photo {
	margin: 0 14px;
}
.slider02 .prev-arrow {
    left: 50%;
	transform: translateY(-50%);
    /*left: 15px;*/
    z-index: 100;
	width: 50px;
	height: 50px;
	background: none;
	margin-left: -425px;
}
.slider02 .next-arrow {
    right:  50%;
	transform: translateY(-50%);
    /*right: 15px;*/
    z-index: 99;
	width: 50px;
	height: 50px;
	background: none;
	margin-right: -425px;
}



@media screen and (max-width: 768px) {
/*------------------------------------------------------------
slider  slick
------------------------------------------------------------*/
	.slider {
		width: 100%;
	}
.slider .photo {
	height: auto;
}
	.slider02 .photo {
	position: relative;
	width: 170px;
	box-sizing: border-box;
	padding: 20px 10px 24px;
	border: 2px solid #cbcbcb;
		margin: 0 5px;
}

	.slide-arrow {
		position: absolute;
	top: 44%;
		transform: translateY(-50%);
	cursor: pointer;
	z-index: 1000;
	}
	.slider03 .prev-arrow {
		display: block;
		position: absolute;
    left: 10%;
    z-index: 1000;
	width: 23px;
	height: 43px;
	background: url(../images/pr-arrow.png);
		background-size: cover;
}
.slider03 .next-arrow {
	display: block;
	position: absolute;
    right:  10%;
    z-index: 1000;
	width: 23px;
	height: 43px;
	background: url(../images/next-arrow.png);
	background-size: cover;
}
}

/*--------------------------------------------------
追加要素
--------------------------------------------------*/
.tuika {
	width: 1000px;
	box-sizing: border-box;
	margin: auto;
}
.gp-name {
	font-size: 20px;
	font-weight: bold;
	color: #3d2b19;
	letter-spacing: 0.06em;
	text-align: center;
}
.tuika .ttl-box {
	width: 452px;
	margin: 0 auto 40px;
}
/*box01*/
.tuika .box01 {
	margin: 90px 0 100px;
}
.tuika .box01 .l-box {
	width: 59.7%;
}
.tuika .box01 .r-box {
	width: 37.4%;
	position: relative;
	border: 4px dotted #bd8d0d;
	background: #fff;
	box-sizing: border-box;
  border-radius: 10px;
	/*margin-right: 3px;*/
	/*margin-top: 3px;*/
  box-shadow: 0 0 0 5px #fff;
	z-index: 1;
}
/*.tuika .box01 .r-box::after {
	display: block;
	content: "";
	position: absolute;
	top: -6px;
	left: -6px;
	width: 100%;
	height: 100%;
	padding: 3px;
	border-radius: 10px;
	border: 3px solid #FFF;
	z-index: 0;
	
}*/
.tuika .box01 .r-box .icon {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	transform: translateY(-60%);
	width: 15%;
	z-index: 1;
}
.tuika .box01 .r-box .r-box-inner {
	background: #fff;
	border-radius: 10px;
	width: 83%;
	margin: auto;
}
.tuika .box01 .r-box .r-box-inner .gp-name {
	line-height: 3;
	border-bottom: 2px solid #3d2b19;
	margin: 8% 0 5%;
}
.tuika .box01 .r-box .r-box-inner .txt {
	font-size: 16px;
	font-weight: bold;
	line-height: 2.1;
	letter-spacing: 0.08em;
	margin-bottom: 3%;
}

.cmt-box-container{
  display: flex;
  justify-content: space-between;
}

.cmt-box {
	position: relative;
	border: 2px solid #3d2b19;
	margin: 60px 0 0;
	color: #3d2b19;
	padding: 3% 0 2%;
}

.cmt-box-double{
  width: 48%;
}

.cmt-box .cmt-ttl {
	font-size: 22px;
	font-weight: bold;
	line-height: 1;
	padding: 0 0.5em;
	position: absolute;
	top: 0;
	left: 50%;
	display: table;
	transform: translate(-50%,-50%);
  background-color: #fff;
  /* background-color: #f5f2eb;
  background-image: -webkit-gradient(linear, 0 0, 100% 0, color-stop(.5, #f9f7f3), color-stop(.5, transparent), to(transparent));
  -webkit-background-size: 10px; */
}

.cmt-box-double .cmt-ttl{
  font-size: 20px;
}

.cmt-box .cmt-txt {
	font-size: 16px;
	/*text-align: center;*/
	line-height: 2.1;
	width: 94%;
	margin: auto;
}
/*box02*/
.tuika .box02 {
	margin: 90px 0 100px;
}
.tuika .box02 .gp-box-48 {
	width: 48%;
}
.tuika .box02 .gp-box-33 {
	width: 33%;
}

@media screen and (max-width: 768px) {
  .cmt-box-double-1 {
    order: 1;
  }
  .cmt-box-double-2{
    order: 3;
  }
  .cmt-box-double-3{
    order: 2;
  }
  .cmt-box-double-4{
    order: 4;
  }
}
/*box03*/
.tuika .box03 {
	margin: 90px 0 0px;
}
.tuika .box03 .gp-box {
	width: 23.5%;
	margin-bottom: 60px;
}

.tuika .box03 .clm3 .gp-box {
	width: 32%;
	margin-bottom: 60px;
}

.tuika .box03 .gp-name {
	font-size: 18px;
  letter-spacing: -0.2px;
}

.name-small{
  font-size: 16px!important;
}
@media screen and (max-width: 1000px) {
.tuika {
	width: 100%;
	box-sizing: border-box;
	margin: auto;
}
}

@media screen and (max-width: 768px) {
.tuika {
	width: 90%;
	box-sizing: border-box;
	margin: auto;
}
.tuika .ttl-box {
	width: 80%;
	margin: 0 auto 20px;
}
	.gp-name {
	font-size: 3.74vw;
	font-weight: bold;
	color: #3d2b19;
	letter-spacing: 0.06em;
	text-align: center;
		display: table;
		margin: auto;
}
/*box01*/
.tuika .box01 {
	margin: 10% 0 10%;
}
.tuika .box01 .l-box {
	width: 100%;
}
.tuika .box01 .r-box {
	width: 100%;
	position: relative;
	box-sizing: border-box;
	border: 3px dotted #bd8d0d;
	background: #fff;
	border-radius: 10px;
	margin-right: 0px;
	z-index: 1;
	margin-top: 8%;
}
.tuika .box01 .r-box::after {
	display: block;
	content: "";
	position: absolute;
	top: -6px;
	left: -6px;
	width: 100%;
	height: 100%;
	padding: 3px;
	border-radius: 10px;
	border: 3px solid #FFF;
	z-index: 0;
	
}
.tuika .box01 .r-box .icon {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	transform: translateY(-60%);
	width: 10%;
	z-index: 1;
}
.tuika .box01 .r-box .r-box-inner {
	background: #fff;
	border-radius: 10px;
	width: 90%;
	margin: auto;
}
.tuika .box01 .r-box .r-box-inner .gp-name {
	line-height: 2.1;
	border-bottom: 2px solid #3d2b19;
	margin: 6% auto 2%;
}
.tuika .box01 .r-box .r-box-inner .txt {
	font-size: 3.2vw;
	font-weight: bold;
	line-height: 2.1;
	letter-spacing: 0.08em;
	margin-bottom: 5%;
}
.cmt-box {
	position: relative;
	border: 2px solid #3d2b19;
	margin: 30px 0 0;
	color: #3d2b19;
	padding: 5% 0 4%;
}
.cmt-box .cmt-ttl {
	font-size: 3.74vw;
	font-weight: bold;
	line-height: 1;
	padding: 0 0.5em;
	position: absolute;
	top: 0;
	left: 50%;
	display: table;
	transform: translate(-50%,-50%);
  background-color: #fff;
	/* background-color: #f5f2eb;
background-image: -webkit-gradient(linear, 0 0, 100% 0, color-stop(.5, #f9f7f3), color-stop(.5, transparent), to(transparent));
-webkit-background-size: 10px; */
}
.cmt-box .cmt-txt {
	font-size: 3.2vw;
	text-align: left;
	line-height: 2.1;
	width: 90%;
	margin: auto;
}
/*box02*/
.tuika .box02 {
	margin: 14% 0 10%;
}
.tuika .box02 .gp-box {
	width: 48%;
}
.tuika .box02 .gp-box:last-child {
		margin: 8% auto 0;
  }
.tuika .box02 .gp-box-48 {
  width: 100%;
  }
.cmt-box-double {
  width: 100%;
  margin: 30px 0 40px;
}

/*box03*/
.tuika .box03 {
	margin: 16% 0 10%;
}
.tuika .box03 .gp-box {
	width: 48%;
	margin-bottom: 35px;
}
.tuika .box03 .clm3 .gp-box {
	width: 48%;
	margin-bottom: 45px;
}
.tuika .box03 .gp-name {
	font-size: 3.2vw;
}
}

.red-zone{
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
}

.red-zone span{
  font-weight: bold;
  font-size: 28px;
  color: #fff;
}
.red-zone img{
  width: 294px;
  font-size: 0;
  margin-right: 10px;
  padding-top: 8px;
}

@media screen and (max-width: 768px) {
  .red-zone{
    height: calc(80 / 750 * 100vw);
  }
  .red-zone span{
    font-size: 4vw;
  }
  .red-zone img {
    width: calc(294 / 750 * 100vw);
    margin-right: calc(10 / 750 * 100vw);
    padding-top:calc(8 / 750 * 100vw);
  }
}


/*--------------------------------------------------
スクロールで出現
--------------------------------------------------*/

.sa {
  opacity: 0;
  transition: all .8s ease;
}
.sa.show {
  opacity: 1;
  transform: none;
}
.sa--lr {
  transform: translate(-100px, 0);
}
.sa--rl {
  transform: translate(100px, 0);
}
.sa--up {
  transform: translate(0, 100px);
}
.sa--down {
  transform: translate(0, -100px);
}
.txt img{
 margin-top: 17px; 
}
@media screen and (max-width: 768px) {
	.txt img{
  width: 80%;
  margin: 0 auto;
  }
}
