﻿@charset "UTF-8";

/* overwrite
=====================================*/
header {
	overflow: hidden;
	position: static;
	float: none;
	width: 100%;
	max-width: none;
	padding: 10px 0;
}
#site_title {
	border-bottom: none;
	overflow: hidden;
	height: auto;
	width: auto;
	text-align: center;
}
#site_title a {
	display: inline;
	background: none;
	height: auto;
	padding: 0;
}
#site_title img {
	height: 40px;
	width: auto;
}
#site_title a img {
	display: inline;
}
@media screen and (max-width: 768px) {
	header {
		padding: 5px 0;
	}
	#site_title img {
		height: 30px;
	}
}

footer {
	margin-top: 60px;
	border-top: solid 1px #ccc;
}
.footer_bottom {
	background: none;
}
.pagetop {
	background: none;
}
#copyright {
	padding: 0 0 15px 0;
	font-size: 10px;
	color: #AFAFAF;
	text-align: center;
}

#main {
	margin-top: 0;
	/*font-family: -apple-system,BlinkMacSystemFont,"Helvetica Neue","游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;*/
}
#main * {
	box-sizing: border-box;
}


/* contents
=====================================*/
.l-font_Josefin {
	font-family: 'Josefin Sans', sans-serif;
}

@media screen and (min-width: 768px) {
  .l-show_media {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .l-hide_media {
    display: none !important;
  }
}

.l-inner {
	max-width: calc(1000px + 30px * 2);
	margin-left: auto;
	margin-right: auto;
	padding-left: 30px;
	padding-right: 30px;
}

.l-hero {
	display: block;
	height: 470px;
	background: url(../img/hero_bg.jpg) no-repeat center center;
	background-size: cover;
}
.l-hero_inner {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}
.l-hero_title {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 570px;
	height: 350px;
	background: rgba(255, 255, 255, .85);
}
.l-hero_title img {
	width: 450px;
}
@media screen and (max-width: 768px) {
	.l-hero {
		height: 270px;
	}
	.l-hero_title {
		width: 300px;
		height: 185px;
	}
	.l-hero_title img {
		width: 245px;
	}
}

.l-heading {
	margin-top: 55px;
}
.l-heading_inner {}
.l-heading_head {
	display: flex;
	justify-content: center;
}
.l-heading_label {
	display: block;
	position: relative;
	padding-top: 75px;
	font-size: 22px;
	font-weight: 500;
	letter-spacing: .05em;
	line-height: 1.3;
	text-align: center;
}
.l-heading_label:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 1px;
	height: 60px;
	margin: auto;
	background: #000;;
}
.l-heading_title {
	display: block;
	margin-top: 20px;
	font-size: 34px;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.5;
	text-align: center;
}
.l-heading_lead {
	display: block;
	margin-top: 30px;
	font-size: 20px;
	font-weight: 400;
	letter-spacing: .05em;
	line-height: 2;
	text-align: center;
}
@media screen and (max-width: 768px) {
	.l-heading_head {}
	.l-heading_label {
		padding-top: 50px;
		font-size: 18px;
}
	.l-heading_label:before {
		height: 40px;
	}
	.l-heading_title {
		font-size: 28px;
	}
	.l-heading_lead {
		font-size: 18px;
	}
}

.l-textlink a {
	display: inline-block;
	position: relative;
	padding-left: 1em;
	text-decoration: underline;
}
.l-textlink a:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 8px;
	height: 8px;
	border: solid 2px transparent;
	border-top-color: #BC5137;
	border-left-color: #BC5137;
	transform: rotate(135deg) translate(0%, -50%);
	transform-origin: 0 50%;
}

.l-button {}
.l-button_box {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 420px;
	height: 60px;
	color: #fff;
	padding: 10px;
	background: #3C2A21;
	color: #fff;
	border-radius: 5px;
}
.l-button_box:after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 7px;
	height: 7px;
	border: solid 2px transparent;
	border-top-color: #fff;
	border-left-color: #fff;
	transform: rotate(135deg) translate(0%, 50%);
}
.l-button_name {
	display: block;
	color: #fff;
	font-size: 16px;
	letter-spacing: .05em;
	line-height: 1.5;
}

.l-section {
	margin-top: 100px;
}
.l-section_block {
	position: relative;
	margin-top: 90px;
}
.l-section_block:nth-child(2) {
	margin-top: 60px;
}
.l-section_inner {
	display: flex;
	align-items: center;
	height: 500px;
}
.l-section_block:nth-child(odd) .l-section_inner {
	justify-content: flex-end;
}
.l-section_block:nth-child(even) .l-section_inner {
	justify-content: flex-start;
}
.l-section_block:nth-child(1) .l-section_inner {
	align-items: flex-start;
	justify-content: space-between;
	height: auto;
}
.l-section_visual {
	display: block;
	position: absolute;
}
.l-section_block:nth-child(odd) .l-section_visual {
	right: 50%;
	margin-right: -25px;
}
.l-section_block:nth-child(even) .l-section_visual {
	left: 50%;
	margin-left: -25px;
}
.l-section_block:nth-child(1) .l-section_visual {
	position: static;
	margin-right: 0;
}
.l-section_figure {
	text-align: center;
}
.l-section_block:nth-child(1) .l-section_figure {
	max-width: 50vw;
}
.l-section_figure img {
	width: 705px;
	max-width: none;
}
.l-section_block:nth-child(1) .l-section_figure img {
	width: 575px;
	max-width: 100%;
}
.l-section_body {
	position: relative;
	width: 430px;
	max-width: calc(50% - 70px);
}
.l-section_block:nth-child(1) .l-section_body {
	width: 370px;
	padding-top: 50px;
}
.l-section_copy {
	display: block;
	position: absolute;
	top: -10px;
	left: 70px;
	color: #F5F5F5;
	font-size: 96px;
	font-weight: 500;
	letter-spacing: .05em;
	line-height: 1;
	white-space: nowrap;
	z-index: -1;
}
.l-section_title {
	display: block;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.5;
}
.l-section_title2 {
	display: block;
	margin-top: 10px;
	color: #aaa;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: .05em;
	line-height: 1.5;
}
.l-section_lead {
	display: block;
	margin-top: 30px;
	font-size: 16px;
	letter-spacing: .05em;
	line-height: 2;
	text-align: justify;
}
.l-section_lead:first-child {
	margin-top: 0;
}
.l-section_marker {
	background: linear-gradient(transparent 0%, #FFFA93 0%);
}

@media screen and (max-width: 768px) {
	.l-section {
		margin-top: 60px;
	}
	.l-section_block {
		margin-top: 70px;
	}
	.l-section_block:nth-child(1) {
		margin-top: 0;
	}
	.l-section_inner {
		display: block;
		height: auto;
	}
	.l-section_block:nth-child(odd) .l-section_inner {}
	.l-section_block:nth-child(even) .l-section_inner {}
	.l-section_block:nth-child(1) .l-section_inner {}
	.l-section_visual {
		position: static;
	}
	.l-section_block:nth-child(odd) .l-section_visual {
		margin-left: -30px;
		margin-right: auto;
	}
	.l-section_block:nth-child(even) .l-section_visual {
		margin-left: auto;
		margin-right: -30px;
	}
	.l-section_block:nth-child(1) .l-section_visual {
		margin-right: -30px;
	}
	.l-section_figure {}
	.l-section_block:nth-child(1) .l-section_figure {
		max-width: none;
	}
	.l-section_figure img {
		width: 100%;
		max-width: 100%;
	}
	.l-section_block:nth-child(1) .l-section_figure img {
		width: 100%;
	}
	.l-section_body {
		position: relative;
		width: auto;
		max-width: none;
		margin-top: 50px;
	}
	.l-section_block:nth-child(1) .l-section_body {
		width: auto;
		padding-top: 0;
	}
	.l-section_copy {
		top: -30px;
		left: 60px;
		font-size: 56px;
	}
	.l-section_title {
		font-size: 24px;
	}
	.l-section_title2 {
		font-size: 12px;
	}
	.l-section_lead {
		margin-top: 20px;
	}
	.l-section_lead:first-child {}
	.l-section_marker {}
}

.l-type {
	margin-top: 100px;
	padding-top: 20px;
}
.l-type_inner {}
.l-type_content {
	display: block;
	position: relative;
	padding: 40px 30px;
	background: #FFFCE0;
}
.l-type_catch {
	display: flex;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.l-type_voice {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 260px;
	padding: 7.5px 10px;
	background: #D3473B;
	text-align: center;
	border-radius: 7px;
	transform: translateY(-50%);
}
.l-type_voice:after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 7px;
	height: 20px;
	margin: auto;
	background: #D3473B;
	border-radius: 7px;
	transform: rotate(30deg) translate(0%, 50%);
	transform-origin: 50% 50%;
	z-index: 1;
}
.l-type_voice_name {
	display: block;
	position: relative;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.3;
	z-index: 2;
}
.l-type_head {
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 2;
}
.l-type_title {
	display: block;
	position: relative;
	padding: 0 50px;
	color: #D3473B;
	font-size: 28px;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.5;
	text-align: center;
}
.l-type_title:before,
.l-type_title:after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	width: 38px;
	height: 62px;
	background: url(../img/line_dot_red.svg) no-repeat 0 0;
	background-size: 100% auto;
}
.l-type_title:before {
	left: 0;
}
.l-type_title:after {
	right: 0;
	transform: scale(-1, 1);
}
.l-type_banner {
	display: block;
	margin-top: 20px;
	text-align: center;
}
.l-type_banner a {
	display: inline-block;
}
.l-type_banner img {
	width: 822px;
}
@media screen and (max-width: 768px) {
	.l-type {
		margin-top: 50px;
	}
	.l-type_inner {}
	.l-type_content {
		margin-left: -30px;
		margin-right: -30px;
		padding-top: 35px;
		padding-bottom: 30px;
	}
	.l-type_catch {}
	.l-type_voice {}
	.l-type_voice_name {
		font-size: 15px;
	}
	.l-type_head {}
	.l-type_title {
		font-size: 18px;
		padding-left: 30px;
		padding-right: 30px;
	}
	.l-type_title:before,
	.l-type_title:after {
		width: 25px;
		height: 40px;
	}
	.l-type_banner {
		margin-top: 15px;
	}
	.l-type_banner a {}
	.l-type_banner img {}
}

.l-banner {
	margin-top: 100px;
}
.l-banner_inner {}
.l-banner_link {
	display: flex;
	justify-content: center;
	margin-bottom: 60px;
	text-align: center;
}
.l-banner_list {}
.l-banner_items {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: -6.5px;
}
.l-banner_item {
	display: block;
	width: 25%;
	/*width: calc(240px + 7.5px * 2);*/
	padding: 6.5px;
}
.l-banner_item a {}
.l-banner_item img {
	width: 100%;
}
@media screen and (max-width: 768px) {
	.l-banner {
		margin-top: 50px;
	}
	.l-banner_inner {}
	.l-banner_link {
		margin-bottom: 30px;
	}
	.l-banner_list {}
	.l-banner_items {}
	.l-banner_item {
		width: 50%;
	}
	.l-banner_item a {}
	.l-banner_item img {}
}
