@charset "UTF-8";


/*========================================

  indexページ

========================================*/

body {
	position:relative;
}

#logo {
	position:absolute;
	top:0;
	left:0;
	background-color:#fff;
	padding:30px 45px;
	z-index:2000;
}

@media screen and (max-width: 1250px) {
	#logo {
		display:none;
	}
}


/* hero */
#hero h1 {
	display:none;
}


/*
#hero .slider-pro {
	height: 100% !important;
}

#hero .sp-slide img {
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover;
}

#hero .sp-mask,
#hero .sp-slide,
#hero .sp-image-container {
	height: calc(100vh - 90px) !important;
}
	*/


@media screen and (max-width: 767px) {
	/*
	#hero .slider-pro {
		height: 100vw !important;
	}

	#hero .sp-slide img {
		width: 100vw !important;
		height: 100vw !important;
	}
		*/
}

/* 共通 */
.bg_y {
	background-image:url(../img/bg_03.png);
	background-repeat:repeat;
}

.bg_o {
	background-image:url(../img/bg_04.png);
	background-repeat:repeat;
}

.com_ttl.star {
	position:relative;
}

.com_ttl.star::before {
	position:absolute;
	content:"";
	top:-40px;
	left:0;
	right:0;
	margin:0 auto;
	display:block;
	width:105px;
	height:65px;
	background-image:url(../img/mrk_star.svg);
	background-size:contain;
	background-repeat:no-repeat;
}

.com_ttl.ill::after {
	position:absolute;
	content:"";
	top:-40px;
	left:0;
	right:0;
	margin:0 auto;
	display:block;
	width:1200px;
	height:170px;
	background-image:url(../img/mrk_illust.svg);
	background-size:contain;
	background-repeat:no-repeat;
}

.com_ttl strong {
	font-size:70px;
	font-family:"Racing Sans One", sans-serif;
	font-weight:400;
	font-style:normal;
	letter-spacing:4px;
}

.com_ttl h2 {
	color:#ea5504;
	font-size:22px;
	font-weight:bold;
	letter-spacing:3px;
	margin-top:-.5em;
}

.com_more a {
	display:inline-block;
	color:#fff;
	font-size:14px;
	background-color:#1eaa39;
	padding:.8em 1.5em;
}

.com_more a::after {
	content:"\f105";
	font-family:"Font Awesome 6 Free";
	font-weight:900;
	margin-left:1em;
}

.com_more a:hover {
	opacity:.7;
	transition:.3s;
}

@media screen and (max-width: 767px) {
	.com_ttl.star::before {
		display:none;
	}

	.com_ttl.ill::after {
		display:none;
	}

	.com_ttl strong {
		font-size:11vw;
		letter-spacing:2px;
	}

	.com_ttl h2 {
		font-size:4.5vw;
		letter-spacing:2px;
		margin-top:-.3em;
	}

	.com_more a {
		font-size:3.8vw;
		padding:1em 1.5em;
	}
}



/* sec001 */
#sec001 {
	padding-bottom:100px;
}

#sec001 .box {
	position:relative;
	height:770px;
	background-image:url(../img/img_01.jpg);
	background-repeat:no-repeat;
	background-size:50%;
}

#sec001 .box .txt {
	position:absolute;
	bottom:0;
	right:0;
	width:53%;
	text-align:left;
	background-image:url(../img/bg_01.jpg);
	background-size:cover;
	box-sizing:border-box;
	padding:60px 80px;
	overflow:hidden;
}

#sec001 .box .txt::before {
	position:absolute;
	content:"";
	top:35px;
	right:-25px;
	display:block;
	width:420px;
	height:410px;
	background-image:url(../img/img_02.png);
	background-size:contain;
	background-repeat:no-repeat;
}

#sec001 .box .txt .copy {
	color:#fff;
	font-size:22px;
	font-weight:bold;
	line-height:2em;
	margin-top:1.5em;
}

#sec001 .box .txt .copy span {
	display:block;
	font-size:30px;
	margin-top:1em;
}

#sec001 .box2 {
	margin-top:100px;
}

#sec001 .box2 .boxL {
	text-align:left;
}

#sec001 .box2 .boxL .com_ttl strong {
	font-size:50px;
	font-weight:600;
}

#sec001 .box2 .boxL .com_ttl h2 {
	font-size:16px;
}

#sec001 .box2 .boxL .com_more {
	margin-top:80px;
}

#sec001 .box2 .boxL .com_more a {
	display:block;
}

#sec001 .box2 ul {
	width:960px;
	text-align:left;
}

#sec001 .box2 ul li {
	list-style:none;
	border-bottom:1px solid #ccc;
	padding:1.2em;
}

#sec001 .box2 ul li:first-child {
	border-top:1px solid #ccc;
}

#sec001 .box2 ul li span {
	display:inline-block;
	color:#888;
	font-size:18px;
	letter-spacing:1px;
	margin-right:1.5em;
}

#sec001 .box2 ul li a {
	font-size:18px;
}

#sec001 .box2 .boxR {
	margin-top:30px;
}

#sec001 .box2 .boxR .sp_more {
	display:none;
}

@media screen and (max-width: 767px) {
	#sec001 {
		padding-top:0;
		padding-bottom:10vw;
	}

	#sec001 .box {
		position:relative;
		height:170vw;
		background-image:url(../img/img_01_sp.jpg);
		background-repeat:no-repeat;
		background-size:100%;
	}

	#sec001 .box .txt {
		position:absolute;
		bottom:0;
		right:0;
		left:0;
		width:90%;
		margin:0 auto;
		text-align:left;
		background-image:url(../img/bg_01.jpg);
		background-size:cover;
		box-sizing:border-box;
		padding:8vw 8vw;
		padding-right:0;
	}

	#sec001 .box .txt::before {
		position:absolute;
		content:"";
		top:5vw;
		right:-5vw;
		display:block;
		width:calc(42vw * 1.3);
		height:calc(41vw * 1.3);
		background-image:url(../img/img_02.png);
		background-size:contain;
		background-repeat:no-repeat;
	}

	#sec001 .box .txt h2 img {
		width:45vw;
	}

	#sec001 .box .txt .copy {
		font-size:4vw;
		line-height:1.8em;
	}

	#sec001 .box .txt .copy span {
		font-size:5.5vw;
		margin-top:1em;
		padding-bottom:.5em;
	}

	#sec001 .box2 {
		margin-top:7vw;
		align-items:center;
	}

	#sec001 .box2 .boxL {
		text-align:center;
	}

	#sec001 .box2 .boxL .com_ttl strong {
		font-size:11vw;
	}

	#sec001 .box2 .boxL .com_ttl h2 {
		font-size:4.5vw;
	}

	#sec001 .box2 .boxL .com_more {
		display:none;
	}

	#sec001 .box2 ul {
		width:100%;
		margin-top:8vw;
	}

	#sec001 .box2 ul li span {
		display:block;
		font-size:3.6vw;
		margin-right:0;
	}

	#sec001 .box2 ul li a {
		font-size:3.8vw;
		text-align:justify;
		text-justify:inter-ideograph;
	}

	#sec001 .box2 .boxR {
		width:100%;
		margin-top:0;
	}

	#sec001 .box2 .boxR .sp_more {
		display:block;
		margin-top:8vw;
		text-align:center;
	}
}



/* sec002 */
#sec002 {
	border-top:1px solid #ccc;
	padding-top:140px;
	padding-bottom:100px;
}

#sec002 .box {
	margin-top:50px;
	justify-content:center;
	gap:25px;
}

#sec002 .box .item {
	width:380px;
}

#sec002 .box .item img {
	width:380px;
	height:250px;
	object-fit:cover;
}

#sec002 .box .item h3 {
	font-size:20px;
	font-weight:bold;
	text-align:center;
	margin-top:.5em;
}

#sec002 .com_more {
	margin-top:50px;
}

@media screen and (max-width: 767px) {
	#sec002 {
		padding-top:10vw;
		padding-bottom:10vw;
	}

	#sec002 .box {
		margin-top:3vw;
		gap:0;
	}

	#sec002 .box .item {
		width:100%;
		margin-top:5vw;
		padding-bottom:3vw;
	}

	#sec002 .box .item img {
		width:80vw;
		height:45vw;
	}

	#sec002 .box .item h3 {
		font-size:4vw;
		margin-top:.5em;
	}

	#sec002 .com_more {
		margin-top:8vw;
	}
}



/* sec003 */
#sec003 {
	position:relative;
	width:100%;
	overflow:hidden;
}

#sec003 .wrap_innr {
	position:relative;
	width:100%;
	overflow:hidden;
	padding-top:140px;
	padding-bottom:100px;
}

#sec003 .wrap_innr:before,
#sec003 .wrap_innr:after,
#sec003:after {
	position:absolute;
	content:"";
	display:block;
	background-image:url(../img/bg_02.png);
	background-size:contain;
	background-repeat:no-repeat;
	width:2628px;
	height:736px;
}


#sec003 .wrap_innr:before {
	top:-80px;
	left:-350px;
}

#sec003 .wrap_innr:after {
	top:700px;
	left:-40px;
}

#sec003:after {
	bottom:50px;
	left:-850px;
}

#sec003 .box {
	position:relative;
	display:flex;
	flex-wrap:wrap;
	z-index:100;
}

#sec003 .box .item {
	position:relative;
	width:570px;
	background-color:#fff;
	margin-top:110px;
}

#sec003 .box .item:nth-child(odd) {
	margin-right:60px;
}

#sec003 .box .item strong {
	display:inline-block;
	color:#fff;
	font-size:26px;
	font-weight:bold;
	text-align:left;
	letter-spacing:2px;
	background-color:#ea5504;
	padding:.5em .8em;
}

#sec003 .box .item .s01 {
	position:absolute;
	top:-40px;
	left:-30px;
}

#sec003 .box .item .txt {
	text-align:left;
	padding:30px;
}

#sec003 .box .item .txt h3 {
	color:#ea5504;
	font-size:30px;
	font-weight:bold;
	letter-spacing:2px;
}

#sec003 .box .item .txt p {
	font-size:16px;
	text-align:justify;
	text-justify:inter-ideograph;
	margin-top:.5em;
}

#sec003 .box .item.end h4 {
	font-size:26px;
	font-weight:bold;
	text-align:center;
	border-top:2px solid #ea5504;
	border-bottom:2px solid #ea5504;
	padding:.5em 0;
	color:#ea5504;
}

#sec003 .box .item.end .txt .innr {
	display:flex;
	align-items:center;
	margin-top:35px;
}

#sec003 .box .item.end .txt .innr .boxL span img {
	width:160px;
	margin-right:30px;
}

#sec003 .box .item.end .txt .innr .boxR .p01 {
	display:inline-block;
	color:#fff;
	font-size:14px;
	letter-spacing:2px;
	background-color:#333;
	padding:.2em .5em;
}

#sec003 .box .item.end .txt .innr .boxR .p02 {
	display:block;
	font-size:16px;
	margin-top:.5em;
}

#sec003 .box .item.end .txt .innr .boxR .p03 {
	display:block;
	font-size:22px;
	font-weight:bold;
	letter-spacing:2px;
	margin-top:.5em;
}

#sec003 .box .item.end .txt p {
	margin-top:1.2em;
}

#sec003 .note {
	display:block;
	font-size:14px;
	text-align:left;
	margin-top:2em;
}

@media screen and (max-width: 767px) {
	#sec003 .wrap_innr {
		padding-top:10vw;
		padding-bottom:10vw;
	}

	#sec003 .wrap_innr:before,
	#sec003 .wrap_innr:after,
	#sec003:after {
		background-size:cover;
		width:calc(262vw * 1.2);
		height:calc(73vw * 1.2);
	}


	#sec003 .wrap_innr:before {
		top:-17vw;
		left:-30vw;
	}

	#sec003 .wrap_innr:after {
		top:220vw;
		left:-50vw;
	}

	#sec003:after {
		bottom:160vw;
		left:-30vw;
	}

	#sec003 .box {
		flex-direction:column;
	}

	#sec003 .box .item {
		width:100%;
		margin-top:15vw;
	}

	#sec003 .box .item:nth-child(odd) {
		margin-right:0;
	}

	#sec003 .box .item strong {
		font-size:4.4vw;
		padding:.6em .8em;
		letter-spacing:0;
	}

	#sec003 .box .item .s01 {
		position:absolute;
		top:-8vw;
		left:-3vw;
	}

	#sec003 .box .item .txt {
		padding:5vw 7vw;
	}

	#sec003 .box .item .txt h3 {
		font-size:4.5vw;
		letter-spacing:0;
	}

	#sec003 .box .item .txt p {
		font-size:3.3vw;
		width:98%;
		margin-left:auto;
		margin-right:auto;
	}

	#sec003 .box .item.end h4 {
		font-size:4.2vw;
		padding:.5em 0;
	}

	#sec003 .box .item.end .txt .innr {
		flex-direction:column;
		margin-top:5vw;
	}

	#sec003 .box .item.end .txt .innr .boxL,
	#sec003 .box .item.end .txt .innr .boxR {
		width:90%;
	}

	#sec003 .box .item.end .txt .innr .boxL span img {
		width:100%;
		margin-right:0;
	}

	#sec003 .box .item.end .txt .innr .boxR {
		margin-top:3vw;
	}

	#sec003 .box .item.end .txt .innr .boxR .p01 {
		font-size:3.4vw;
		padding:.2em .5em;
	}

	#sec003 .box .item.end .txt .innr .boxR .p02 {
		font-size:3.4vw;
		margin-top:.5em;
	}

	#sec003 .box .item.end .txt .innr .boxR .p03 {
		font-size:4vw;
		margin-top:.5em;
	}

	#sec003 .note {
		font-size:3.2vw;
	}
}



/* sec004 */
#sec004 {
	padding-top:140px;
	padding-bottom:100px;
}

#sec004 .use {
	display:flex;
	align-items:center;
	border-radius:10px;
	border:1px solid #ccc;
	margin:0;
	margin-top:50px;
	padding:30px 0;
}

#sec004 .use dt {
	font-size:20px;
	font-weight:bold;
	margin:0 30px;
}

#sec004 .use dd {
	border-left:1px solid #ccc;
}

#sec004 .use dd ul li {
	font-size:16px;
	list-style:none;
	text-align:left;
	margin-left:30px;
	padding:.3em 0;
	padding-left:1em;
	text-indent:-1em;
}

#sec004 h3 {
	position:relative;
	font-size:30px;
	font-weight:bold;
	text-align:left;
	margin-top:80px;
	padding-left:60px;
}

#sec004 h3 small {
	font-size:18px;
	font-weight:bold;
	margin-left:2em;
}

#sec004 .headline {
	display:flex;
	justify-content:space-between;
	margin-top:80px;
}

#sec004 .headline h3 {
	margin-top:0;
}

#sec004 .headline small {
	font-size:16px;
	text-align:right;
	margin-top:1em;
}

#sec004 h3::before {
	position:absolute;
	content:"";
	top:-5px;
	left:0;
	display:block;
	width:48px;
	height:48px;
	background-image:url(../img/mrk_star2.svg);
	background-size:contain;
	background-repeat:no-repeat;
}

#sec004 table {
	width:1200px;
	margin-top:30px;
}

#sec004 table th,
#sec004 table td {
	white-space:nowrap;
}

#sec004 table td {
	font-size:20px;
	padding:1em 2em;
}

#sec004 table td.tc {
	text-align:left;
}

#sec004 table .t1 td {
	font-size:18px;
	border-top:2px solid #ea5504;
	border-bottom:1px solid #1eaa39;
}

#sec004 table td {
	border-bottom:1px solid #ccc;
}

#sec004 .note {
	font-size:14px;
	margin-top:1.3em;
	text-align:left;
}

#sec004 .note span {
	display:block;
	padding-left:1em;
	text-indent:-1em;
	margin-top:.5em;
}

@media screen and (max-width: 767px) {
	#sec004 {
		padding-top:10vw;
		padding-bottom:10vw;
	}

	#sec004 .use {
		flex-direction:column;
		border-radius:3vw;
		margin-top:7vw;
		padding:7vw 7vw;
	}

	#sec004 .use dt {
		font-size:4.2vw;
		margin:0 0;
		margin-bottom:5vw;
	}

	#sec004 .use dd {
		border-left:none;
		border-top:1px solid #ccc;
		padding-top:1em;
		padding-left:.5em;
	}

	#sec004 .use dd ul li {
		font-size:3.4vw;
		text-align:justify;
		text-justify:inter-ideograph;
		padding-left:1em;
		text-indent:-1em;
		margin-left:0;
		padding:.5em 0;
	}

	#sec004 h3 {
		font-size:5vw;
		margin-top:8vw;
		padding-left:10vw;
	}

	#sec004 h3 small {
		display:block;
		font-size:3.4vw;
		margin-left:0;
		margin-top:.5em;
	}

	#sec004 .headline {
		flex-direction:column-reverse;
		justify-content:flex-start;
		margin-top:8vw;
	}

	#sec004 .headline h3 {
		margin-top:8vw;
	}

	#sec004 .headline small {
		font-size:3.2vw;
		text-align:center;
		margin-top:0;
	}


	#sec004 h3::before {
		position:absolute;
		content:"";
		top:-1vw;
		left:0;
		display:block;
		width:8vw;
		height:8vw;
		background-image:url(../img/mrk_star2.svg);
		background-size:contain;
		background-repeat:no-repeat;
	}

	#sec004 .table {
		overflow-x:scroll;
		width:92.5vw;
	}

	#sec004 table {
		width:100vw;
		margin-top:5vw;
	}


	#sec004 table td {
		font-size:3.8vw;
		padding:1em .5em;
	}

	#sec004 table .t1 td {
		font-size:3.6vw;
	}

	#sec004 .note {
		font-size:3.2vw;
	}
}



/* sec005 */
#sec005 {
	padding-top:140px;
	padding-bottom:100px;
}

#sec005 .flex_box {
	margin-top:50px;
}

#sec005 .flex_box .item {
	width:380px;
	border-radius:10px;
	background-color:#fff;
	padding:40px 35px;
}

#sec005 .flex_box .item strong {
	display:block;
	font-size:24px;
	font-weight:bold;
	letter-spacing:2px;
}

#sec005 .flex_box .item span {
	display:block;
	color:#1eaa39;
	font-size:16px;
	font-weight:bold;
	margin-top:.3em;
}

#sec005 .flex_box .item p {
	font-size:16px;
	text-align:justify;
	text-justify:inter-ideograph;
	margin-top:1.5em;
}

@media screen and (max-width: 767px) {
	#sec005 {
		padding-top:10vw;
		padding-bottom:10vw;
	}

	#sec005 .flex_box {
		margin-top:3vw;
	}

	#sec005 .flex_box .item {
		width:100%;
		border-radius:3vw;
		padding:7vw;
		margin-top:5vw;
	}

	#sec005 .flex_box .item strong {
		font-size:5vw;
	}

	#sec005 .flex_box .item span {
		font-size:4.2vw;
	}

	#sec005 .flex_box .item p {
		font-size:3.6vw;
		margin-top:1em;
	}
}



/* sec006 */
#sec006 {
	padding-top:80px;
	padding-bottom:100px;
}

#sec006 .com_ttl strong {
	color:#fff;
}

#sec006 .box {
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	margin-top:50px;
	gap:25px;
}

#sec006 .box div {
	position:relative;
	width:280px;
}

#sec006 .box div a {
	display:block;
}

#sec006 .box img {
	width:280px;
	height:calc(280px / 4 * 5);
	object-fit:cover;
}

#sec006 .box .insta-icon {
	display:none;
	position:absolute;
	top:8px;
	right:10px;
	color:#fff;
	font-size:14px;
}

#sec006 .com_more {
	margin-top:50px;
}

#sec006 .com_more a {
	background-color:#00000;
	border:2px solid #fff;
	padding:1.2em 1.5em;
	font-weight:bold;
	font-size:16px;
}

#sec006 .com_more a:after {
	display:none;
}

#sec006 .com_more a::before {
	content:"\f16d";
	font-family:"Font Awesome 6 Brands";
	margin-right:.5em;
}





@media screen and (max-width: 767px) {
	#sec006 {
		padding-top:10vw;
		padding-bottom:10vw;
	}

	#sec006 .box {
		margin-top:4vw;
		gap:4%;
	}

	#sec006 .box div {
		width:45%;
		margin-top:4%;
	}

	#sec006 .box img {
		width:38vw;
		height:calc(38vw / 4 * 5);
	}


	#sec006 .com_more {
		margin-top:8vw;
	}

	#sec006 .com_more a {
		background-color:#00000;
		border:1px solid #fff;
		padding:.6em 1em;
	}
}



/* sec007 */
#sec007 {
	padding-top:80px;
}

#sec007 .sec_innr {
	width:1100px;
	margin:0 auto;
}

#sec007 .sns {
	display:flex;
	justify-content:center;
	margin:0;
	padding:0;
}

#sec007 .sns li {
	list-style:none;
}

#sec007 .sns li a img {
	width:50px;
	margin:0 10px;
}

#sec007 .p01 a {
	display:block;
	font-size:16px;
	text-decoration:underline;
	margin-top:1em;
}

#sec007 h4 {
	font-size:20px;
	letter-spacing:2px;
	border-top:2px solid #ea5504;
	border-bottom:1px solid #1eaa39;
	padding:1em 0;
	margin-top:50px;
}

#sec007 strong {
	display:block;
	font-size:20px;
	font-weight:bold;
	margin-top:1em;
}

#sec007 .p02 {
	font-size:16px;
	margin-top:1em;
}

#sec007 .p02 a {
	text-decoration:underline;
}

#sec007 .p02 a:hover {
	opacity:.7;
}

#sec007 .logo {
	display:flex;
	justify-content:space-between;
	align-items:center;
	width:570px;
	margin:0 auto;
	margin-top:30px;
	transform:translateX(-50px);
}

#sec007 .logo li {
	position:relative;
	list-style:none;
}

#sec007 .logo li::after {
	position:absolute;
	content:"";
	top:0;
	bottom:0;
	margin:auto 0;
	right:-60px;
	display:block;
	width:26px;
	height:26px;
	background-image:url(../img/txt_05.png);
	background-size:contain;
	background-repeat:no-repeat;
}

#sec007 .logo li:last-child::after {
	display:none;
}

#sec007 .logo .i01 a img {
	width:170px;
}

#sec007 .logo .i02 a img {
	width:90px;
}

#sec007 .logo .i03 a img {
	width:90px;
}

#sec007 .p03 {
	display:block;
	margin-top:30px;
}

#sec007 .p03 img {
	width:250px;
}

@media screen and (max-width: 767px) {
	#sec007 {
		padding-top:10vw;
		padding-bottom:10vw;
	}

	#sec007 .sec_innr {
		width:85%;
		margin:0 auto;
	}

	#sec007 .sns li a img {
		width:12vw;
		margin:0 2vw;
	}

	#sec007 .p01 a {
		font-size:3.6vw;
	}

	#sec007 h4 {
		font-size:5vw;
		margin-top:8vw;
	}

	#sec007 strong {
		font-size:4.2vw;
	}

	#sec007 .p02 {
		font-size:3.2vw;
	}

	#sec007 .logo {
		flex-direction:column;
		width:100%;
		margin:0 auto;
		margin-top:8vw;
		transform:translateX(0);
	}

	#sec007 .logo li {
		margin-top:6vw;
	}

	#sec007 .logo li:first-child {
		margin-top:0;
	}

	#sec007 .logo li::after {
		position:absolute;
		content:"";
		top:auto;
		bottom:-9vw;
		right:0;
		left:0;
		margin:auto auto;
		display:block;
		width:5vw;
		height:5vw;
		background-image:url(../img/txt_05.png);
		background-size:contain;
		background-repeat:no-repeat;
		display:none;
	}

	#sec007 .logo .i01 a img {
		width:47vw;
	}

	#sec007 .logo .i02 a img {
		width:25vw;
	}

	#sec007 .logo .i03 a img {
		width:25vw;
	}

	#sec007 .p03 {
		margin-top:5vw;
	}

	#sec007 .p03 img {
		width:40vw;
	}
}
