@charset "UTF-8";
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
		outline: 0;
		font-size: 100%;
		vertical-align: baseline;
		background: transparent;
}

body {
		line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
		display: block;
}

blockquote, q {
		quotes: none;
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
		font-weight: inherit;
}

a {
		margin: 0;
		padding: 0;
		font-size: 100%;
		vertical-align: baseline;
		background: transparent;
}

ins {
		background-color: #ff9;
		color: #000;
		text-decoration: none;
}

mark {
		background-color: #ff9;
		color: #000;
		font-style: italic;
		font-weight: bold;
}

del {
		text-decoration: line-through;
}

abbr[title], dfn[title] {
		border-bottom: 1px dotted;
		cursor: help;
}

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

th {
		text-align: left;
		vertical-align: top;
		font-weight: normal;
}

td {
		text-align: left;
		vertical-align: top;
}

hr {
		display: block;
		height: 1px;
		border: 0;
		border-top: 1px solid #ccc;
		margin: 1em 0;
		padding: 0;
}

input, select, textarea, img {
		vertical-align: middle;
}

ul, dl, ol {
		list-style: none;
}

em {
		font-style: normal;
}

* {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
		box-sizing: border-box;
}

/* ========================================
    ■ 必須設定
======================================== */
/* 関数
----------------------------- */
.kenten, .kenten_half {
		/* 圏点 */
		padding: 0.35em 0;
		background-repeat: repeat-x;
		background-size: 1em 0.5em;
		background-position: top left;
		background-image: radial-gradient(0.4rem 0.4rem at center center, #646464 50%, transparent 50%);
		font-feature-settings: normal;
}

.kenten_half {
		background-size: 0.65em 0.5em;
}

/* utility class
----------------------------- */
.wrap {
		position: relative;
		width: 1080px;
		margin: 0 auto;
}

.wrap2 {
		position: relative;
		width: 935px;
		margin: 0 auto;
}

.clearfix {
		overflow: hidden;
		zoom: 1;
}

.clearfix:after {
		content: "";
		display: block;
		clear: both;
}

.hover:hover {
		opacity: 0.9;
		transition: 0.2s ease;
}

.scrollbar::-webkit-scrollbar {
		background: #ccc;
		width: 10px;
}

.scrollbar::-webkit-scrollbar-thumb {
		background: #aaa;
}

table.tbl-block, table.tbl-block tbody, table.tbl-block tr, table.tbl-block th, table.tbl-block td {
		display: block;
		text-align: left;
}

/* 文字色 */
.font-color01 {
		color: #232323;
}

.font-color02 {
		color: #3B96F4;
}

.font-color03 {
		color: #F0DDBD;
}

.font-color04 {
		color: #FE9227;
}

.font-color05 {
		color: #A9CAC2;
}

/* マーカー */
/* ・リスト */
.list-dot > li {
		position: relative;
		padding-left: 1em;
}

.list-dot > li::before {
		content: '・';
		display: inline-block;
		position: absolute;
		left: 0;
		top: 0.7em;
}

.u_sp {
		display: none;
}

.u_pc {
		display: block;
}

@media screen and (max-width: 768px) {
		.wrap, .wrap2 {
				position: relative;
				width: 100%;
				max-width: 768px;
				margin: 0 auto;
				padding-left: 39px;
				padding-right: 39px;
		}
		.wrap2 {
				max-width: 384px;
		}
		.u_sp {
				display: block;
		}
		.u_pc {
				display: none;
		}
}

/* ========================================
    ■ General
======================================== */
html {
		font-size: 16px;
}

body {
		font-family: "a-otf-futo-go-b101-pr6n", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", YuGothic, "Yu Gothic", "メイリオ", Meiryo, sans-serif;
		color: #646464;
		line-height: 1.6;
		background: #fff;
		-webkit-text-size-adjust: 100%;
		font-feature-settings: "palt" 1;
		letter-spacing: 0.025em;
		/* IEハック用 */
}

@media all and (-ms-high-contrast: none) {
		body {
				font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
		}
}

a {
		color: #0033cc;
		text-decoration: underline;
		transition: 0.2s ease;
}

a::before, a::after {
		transition: 0.2s ease;
}

a:hover {
		text-decoration: none;
		transition: 0.2s ease;
}

a:hover::before, a:hover::after {
		transition: 0.2s ease;
}

img,
video,
object {
		max-width: 100%;
		height: auto;
		vertical-align: bottom;
		border: none;
}

/* ========================================
    ■ ページトップボタン
======================================== */
#page-top {
		position: fixed;
		right: 20px;
}

#page-top a {
		display: block;
		width: 44px;
		height: 44px;
		color: #fff;
		text-align: center;
		line-height: 44px;
		background: rgba(0, 0, 0, 0.25);
		border-radius: 50%;
}

#page-top a:hover {
		background: rgba(0, 0, 0, 0.5);
}

/* ========================================
    ■ form
======================================== */
#form {
		/* placeholder */
		/* Google Chrome, Safari, Opera 15+, Android, iOS */
		/* Firefox 18- */
		/* Firefox 19+ */
		/* IE 10+ */
		/* ラジオボタン */
		/* チェックボックス */
		/* セレクトボックス */
		/* テキスト入力 */
		/* IE用フォント設定 */
		/* IEハック用 */
		/* 数字入力 */
		/* mailform pro reset */
}

#form :placeholder-shown {
		color: #ccc;
}

#form ::-webkit-input-placeholder {
		color: #ccc;
}

#form :-moz-placeholder {
		color: #ccc;
		opacity: 1;
}

#form ::-moz-placeholder {
		color: #ccc;
		opacity: 1;
}

#form :-ms-input-placeholder {
		color: #ccc;
}

#form input[type='radio'] {
		display: none;
}

#form input[type='radio'] + label {
		display: flex;
		align-items: center;
		margin: 0;
		border-radius: 0;
		cursor: pointer;
		position: relative;
}

#form input[type='radio'] + label::before {
		content: '';
		display: block;
		background: url(images/form_radio01.webp) no-repeat center top/100% auto;
		width: 10px;
		height: 10px;
		margin-right: 20px;
}

#form input[type='radio']:checked + label::before {
		background-position: center bottom;
}

#form input[type='checkbox'] {
		display: none;
}

#form input[type='checkbox'] + label {
		display: block;
		margin: 0;
		text-align: center;
		border-radius: 0;
		cursor: pointer;
		position: relative;
}

#form input[type='checkbox'] + label::before {
		content: '';
		display: inline-block;
		background: url(images/form_check01.webp) no-repeat center top/100% auto;
		width: 10px;
		height: 10px;
		margin-right: 20px;
}

#form input[type='checkbox']:checked + label::before {
		background-position: center bottom;
}

#form select {
		-moz-appearance: none;
		-webkit-appearance: none;
		appearance: none;
		font-family: "a-otf-futo-go-b101-pr6n", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", YuGothic, "Yu Gothic", "メイリオ", Meiryo, sans-serif;
		font-size: 1rem;
}

#form select::-ms-expand {
		display: none;
}

#form input[type='text'], #form textarea,
#form input[type='tel'],
#form input[type='email'] {
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 5px 10px;
		font-family: "a-otf-futo-go-b101-pr6n", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", YuGothic, "Yu Gothic", "メイリオ", Meiryo, sans-serif;
		font-size: 1rem;
		border: solid 1px #b2b2b2;
		box-shadow: none;
}

#form textarea {
		width: 100% !important;
		max-width: none;
		min-height: 100px;
}

@media all and (-ms-high-contrast: none) {
		#form select, #form input[type='text'], #form textarea,
		#form input[type='tel'],
		#form input[type='email'],
		#form textarea {
				font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
		}
}

#form input[type="number"] {
		-moz-appearance: textfield;
}

#form input[type="number"]::-webkit-outer-spin-button, #form input[type="number"]::-webkit-inner-spin-button {
		-webkit-appearance: none;
		margin: 0;
}

#form .must {
		display: inline-block;
		margin: 0;
		padding: 0;
		font-size: 1em;
		text-shadow: none;
		float: none;
		border: none;
		border-radius: 0;
		box-shadow: none;
}

#form div.mfp_err {
		background: none;
		margin: 0;
		padding: 0;
}

#form *[type='submit'] {
		background: none;
		margin: 0;
		padding: 0;
		text-shadow: none;
		border: none;
		cursor: pointer;
}

#form *[type='submit']:hover {
		box-shadow: none;
}

.l-container {
		overflow: hidden;
		margin: 0 auto;
		min-width: 1080px;
}

@media screen and (max-width: 768px) {
		.l-container {
				min-width: 375px;
		}
}

/* ========================================
    ■ header
======================================== */
.g-header {
		background: #f1eedd;
		overflow: hidden;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		height: 100px;
		z-index: 10;
}

.g-header .h_logo {
		width: 278px;
		display: inline-block;
		margin: 32px 0 32px 120px;
}

.g-header .h_container {
		float: right;
		overflow: hidden;
		width: 160px;
		position: absolute;
		right: 144px;
		top: 25px;
		z-index: 10;
}

.g-header .h_map {
		width: 56px;
		display: inline-block;
		margin-right: 42px;
}

.g-header .h_menu {
		width: 56px;
		display: inline-block;
}

.g-header .h_tel {
		position: fixed;
		top: 142px;
		right: 0;
		width: 238px;
}

.g-header .h_tel .pc {
		display: block;
}

.g-header .h_tel .sp {
		display: none;
}

@media screen and (max-width: 768px) {
		.g-header {
				height: 60px;
		}
		.g-header .h_logo {
				width: 139px;
				display: inline-block;
				margin: 15px 0 15px 14px;
		}
		.g-header .h_container {
				width: 80px;
				right: 21px;
				top: 15px;
		}
		.g-header .h_map {
				width: 32px;
				margin-right: 11px;
		}
		.g-header .h_menu {
				width: 31px;
		}
		.g-header .h_tel {
				width: 65px;
				height: 65px;
				bottom: 24px;
				top: auto;
				right: 24px;
				left: auto;
				z-index: 50;
		}
}

.fluffy {
		-webkit-animation: fluffy 2s linear 0s 1;
		animation: fluffy 2s linear 0s 1;
		animation-delay: 1s;
		animation-iteration-count: infinite;
}

@-webkit-keyframes fluffy {
		0% {
				-webkit-transform: scale(1, 1) translate(0%, 0%);
		}
		8% {
				-webkit-transform: scale(0.9, 0.9) translate(0%, 5%);
		}
		15% {
				-webkit-transform: scale(1.3, 0.8) translate(0%, 10%);
		}
		25% {
				-webkit-transform: scale(0.8, 1.3) translate(0%, -10%);
		}
		35% {
				-webkit-transform: scale(1.1, 0.9) translate(0%, 5%);
		}
		50% {
				-webkit-transform: scale(1, 1) translate(0%, 0%);
		}
		100% {
				-webkit-transform: scale(1, 1) translate(0%, 0%);
		}
}

@keyframes fluffy {
		0% {
				transform: scale(1, 1) translate(0%, 0%);
		}
		8% {
				transform: scale(0.9, 0.9) translate(0%, 5%);
		}
		15% {
				transform: scale(1.3, 0.8) translate(0%, 10%);
		}
		25% {
				transform: scale(0.8, 1.3) translate(0%, -10%);
		}
		35% {
				transform: scale(1.1, 0.9) translate(0%, 5%);
		}
		50% {
				transform: scale(1, 1) translate(0%, 0%);
		}
		100% {
				transform: scale(1, 1) translate(0%, 0%);
		}
}

.modal {
		display: none;
		height: 100vh;
		position: fixed;
		width: 100%;
		z-index: 100;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
}

.modal_bg {
		background: rgba(255, 255, 255, 0.5);
		height: 100vh;
		position: absolute;
		width: 100%;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
}

.modal_content {
		background: rgba(60, 60, 60, 0.9);
		left: 50%;
		position: fixed;
		top: 50%;
		transform: translate(-50%, -50%);
		width: 936px;
		padding: 90px 70px 77px 70px;
		overflow: hidden;
}

.modal_content.map {
		padding: 52px;
}

.modal_content.menu {
		padding: 90px 70px 77px 70px;
}

.modal_content.tel {
		padding: 85px 50px 40px 50px;
}

.modal_content.cast {
		background: #fff;
		min-height: 670px;
		padding: 42px 54px 48px 42px;
		box-shadow: 0 0 18px rgba(0, 0, 0, 0.4);
}

.modal_map_container {
		width: 440px;
		height: 380px;
		float: left;
}

.modal_map_container iframe {
		width: 100%;
		height: 100%;
}

.modal_map_link {
		width: 354px;
		float: right;
		font-size: 20px;
}

.modal_map_link .ttl {
		color: #fff;
		font-size: 20px;
		text-align: center;
		margin: 80px 0 20px;
}

.modal_map_list {
		width: 100%;
}

.modal_map_item {
		overflow: hidden;
}

.modal_map_btn {
		width: 162px;
		display: inline-block;
		float: left;
		margin-bottom: 23px;
}

.modal_map_btn:last-of-type {
		float: right;
}

.modal_menu_list {
		overflow: hidden;
}

.modal_menu_item {
		float: left;
		width: 356px;
		box-sizing: border-box;
}

.modal_menu_item:last-of-type {
		float: right;
}

.modal_menu_btn {
		color: #fff;
		display: block;
		padding-bottom: 10px;
		margin-bottom: 30px;
		border-bottom: 2px solid #fff;
		text-decoration: none;
		font-size: 23px;
		padding-left: 23px;
}

.modal_menu_btn:hover {
		text-decoration: none;
		opacity: 0.6;
}

.modal_cta_list {
		overflow: hidden;
		margin-top: 60px;
}

.modal_cta_item {
		width: 176px;
		display: inline-block;
		margin-right: 12px;
		margin-bottom: 12px;
}

.modal_cta_item:last-of-type {
		margin-right: 0;
}

.modal_tel_list {
		overflow: hidden;
}

.modal_tel_item {
		width: 397px;
		display: inline-block;
		margin-right: 36px;
		margin-bottom: 44px;
}

.modal_tel_item:nth-of-type(2n) {
		margin-right: 0;
}

.modal_cast_pic {
		float: left;
		width: 490px;
}

.modal_cast_info {
		float: right;
		width: 324px;
}

.modal_cast_item {
		font-size: 20px;
		border-bottom: 2px solid #646464;
		padding-top: 14px;
		font-family: "a-otf-midashi-go-mb31-pr6n", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", YuGothic, "Yu Gothic", "メイリオ", Meiryo, sans-serif;
}

.modal_cast_item.name {
		font-size: 36px;
		letter-spacing: 0.03em;
		border-bottom: 0;
		padding-top: 100px;
		font-family: "a-otf-futo-go-b101-pr6n", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", YuGothic, "Yu Gothic", "メイリオ", Meiryo, sans-serif;
}

.modal_cast_item.name_e {
		font-size: 26px;
		letter-spacing: 0.1em;
		border-bottom: 0;
		padding-top: 0;
		font-family: "a-otf-futo-go-b101-pr6n", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", YuGothic, "Yu Gothic", "メイリオ", Meiryo, sans-serif;
}

.modal_cast_item .mi {
		display: inline-block;
		width: 100px;
		font-size: 16px;
		font-family: "a-otf-futo-go-b101-pr6n", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", YuGothic, "Yu Gothic", "メイリオ", Meiryo, sans-serif;
}

.modal_cast_tag {
		padding-top: 22px;
		max-width: 495px;
		clear: both;
}

.modal_cast_tag .hash {
		font-size: 13px;
		border-radius: 12px;
		border: 1px solid #646464;
		padding: 1px 24px;
		margin-right: 5px;
		margin-bottom: 8px;
		display: inline-block;
}

.modal_cast_btn {
		position: absolute;
		right: 130px;
		bottom: 50px;
}

.modal_cast_btn a {
		display: block;
}

.modal_close {
		position: absolute;
		right: 11px;
		top: 11px;
		width: 35px;
		height: 35px;
}

@media screen and (max-width: 768px) {
		.modal {
				height: 120%;
				height: 120vh;
		}
		.modal_bg {
				height: 120vh;
		}
		.modal_content.map {
				padding: 26px 20px 10px;
				width: 335px;
		}
		.modal_content.tel {
				padding: 36px 30px;
				width: 307px;
		}
		.modal_content.menu {
				padding: 60px 20px 30px 15px;
				width: 280px;
				top: 60px;
				right: 0;
				transform: none;
				left: auto;
		}
		.modal_content.cast {
				padding: 36px 21px 15px 21px;
				width: 350px;
				min-height: auto;
				margin: auto;
				box-shadow: 0 0 9px rgba(0, 0, 0, 0.4);
		}
		.modal_map_container {
				width: 100%;
				height: 340px;
				float: none;
		}
		.modal_map_link {
				width: 100%;
				float: none;
				font-size: 20px;
		}
		.modal_map_link .ttl {
				font-size: 13px;
				margin: 12px 0 14px;
		}
		.modal_map_btn {
				width: 140px;
				margin-bottom: 16px;
		}
		.modal_menu_item {
				float: none;
				width: 100%;
		}
		.modal_menu_item:last-of-type {
				float: none;
		}
		.modal_menu_btn {
				padding-bottom: 6px;
				margin-bottom: 20px;
				border-bottom: 1px solid #fff;
				font-size: 14px;
				padding-left: 14px;
		}
		.modal_cta_list {
				margin-top: 30px;
		}
		.modal_cta_item {
				width: 114px;
				margin-right: 11px;
				margin-bottom: 15px;
		}
		.modal_cta_item:nth-of-type(2n) {
				margin-right: 0;
		}
		.modal_cta_item:last-of-type {
				margin-right: 0;
		}
		.modal_tel_item {
				width: 248px;
				margin-right: 0;
				margin-bottom: 27px;
		}
		.modal_tel_item:last-of-type {
				margin-bottom: 0;
		}
		.modal_cast_container {
				float: none;
				width: 100%;
		}
		.modal_cast_pic {
				width: 100%;
				float: none;
		}
		.modal_cast_tag {
				padding-top: 10px;
				line-height: 1;
		}
		.modal_cast_tag .hash {
				font-size: 8px;
				border-radius: 10px;
				padding: 2px 15px;
				margin-bottom: 4px;
				margin-right: 2px;
		}
		.modal_cast_btn {
				width: 90px;
				height: 90px;
				bottom: auto;
				top: 416px;
				right: 20px;
		}
		.modal_cast_info {
				float: none;
				width: 100%;
		}
		.modal_cast_item {
				font-size: 13px;
				border-bottom: 1px solid #646464;
				padding-top: 10px;
				clear: both;
				width: 202px;
		}
		.modal_cast_item.name {
				font-size: 22px;
				padding-top: 10px;
				float: left;
				clear: none;
				margin-right: 15px;
				width: auto;
		}
		.modal_cast_item.name_e {
				font-size: 16px;
				letter-spacing: 0.03em;
				clear: none;
				padding-top: 18px;
				width: auto;
		}
		.modal_cast_item .mi {
				width: 70px;
				font-size: 10px;
		}
		.modal_close {
				position: absolute;
				right: 6px;
				top: 6px;
				width: 22px;
				height: 22px;
		}
}

.modal2 {
		display: none;
		height: 100vh;
		position: fixed;
		width: 100%;
		z-index: 500;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
}

.modal2_content {
		background: #000;
		color: #fff;
		font-size: 20px;
		text-align: center;
		left: 50%;
		position: fixed;
		top: 50%;
		transform: translate(-50%, -50%);
		width: 500px;
		padding: 90px 0 40px;
		overflow: hidden;
		text-align: center;
}

.modal2_tel_item {
		width: 195px;
		margin: 40px auto;
}

@media screen and (max-width: 768px) {
		.modal2_content {
				font-size: 16px;
				width: 290px;
				padding: 60px 0 20px;
		}
}

/* ========================================
    ■ kv
======================================== */
.kv_slide {
		margin-top: 100px;
		width: 100%;
}

.kv_slide:after {
		content: '';
		position: absolute;
		top: 40%;
		left: 0;
		right: 0;
		display: block;
		width: 100%;
		max-width: 937px;
		height: 90px;
		margin: 0 auto;
		background: url("../images/kv_txt.webp") center right no-repeat;
}

.kv_slide_item {
		background-repeat: no-repeat;
		background-size: cover;
		background-position: left center;
		height: 820px;
		height: calc(100vh - 100px);
		margin: 0;
}

.kv_slide_item.n01 {
		background-image: url("../images/kv_slide01.webp");
}

.kv_slide_item.n02 {
		background-image: url("../images/kv_slide02.webp");
}

.kv_slide_item.n03 {
		background-image: url("../images/kv_slide03.webp");
}

.kv_slide_item.n04 {
		background-image: url("../images/kv_slide04.webp");
		
}
.kv_slide_item.n05 {
		background-image: url("../images/kv_slide05.webp");
}
.kv_slide_item.n06 {
		background-image: url("../images/kv_slide06.webp");
}

@media screen and (max-width: 768px) {
		.kv_slide {
				margin-top: 60px;
		}
		.kv_slide:before {
				content: '';
				position: absolute;
				bottom: 18px;
				left: 0;
				right: 0;
				display: block;
				width: 30px;
				height: 25px;
				margin: 0 auto;
				z-index: 1;
				background: url("../images/kv_scroll.webp") center center/30px no-repeat;
		}
		.kv_slide:after {
				content: '';
				position: absolute;
				top: 58%;
				left: 0;
				right: 0;
				display: block;
				width: 100%;
				height: 75px;
				margin: 0 auto;
				background: rgba(255, 255, 255, 0.75) url("../images/kv_txt.webp") center center/308px no-repeat;
		}
		.kv_slide_item {
				background-position: center center;
				height: 1135px;
				height: calc(100vh - 50px);
				margin: 0;
		}
		.kv_slide_item.n01 {
				background-image: url("../images/kv_slide01_sp.webp");
		}
		.kv_slide_item.n02 {
				background-image: url("../images/kv_slide02_sp.webp");
		}
		.kv_slide_item.n03 {
				background-image: url("../images/kv_slide03_sp.webp");
		}
		.kv_slide_item.n04 {
				background-image: url("../images/kv_slide04_sp.webp");
		}
		.kv_slide_item.n05 {
				background-image: url("../images/kv_slide05_sp.webp");
		}
		.kv_slide_item.n06 {
				background-image: url("../images/kv_slide06_sp.webp");
		}
}

/* ========================================
    ■ sec
======================================== */
.c_h2 {
		color: #008842;
		letter-spacing: 0.1em;
		font-size: 40px;
		line-height: 1.625;
		font-family: "a-otf-midashi-go-mb31-pr6n", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", YuGothic, "Yu Gothic", "メイリオ", Meiryo, sans-serif;
		text-align: center;
}

.c_h2 .cp {
		font-size: 23px;
		color: #4a4a4a;
}

.c_h2 .num {
		font-size: 24px;
}

.c_h2_txt {
		color: #008842;
		text-align: center;
		font-size: 23px;
		line-height: 1.652;
}

.c_h2 + .txt {
		text-align: center;
		font-size: 25px;
		letter-spacing: 0.1em;
		line-height: 1.52;
		margin: 30px auto 40px;
}

@media screen and (max-width: 768px) {
		.c_h2 {
				letter-spacing: 0.07em;
				font-size: 22px;
				line-height: 1.477;
		}
		.c_h2 .cp {
				font-size: 14px;
				color: #4a4a4a;
		}
		.c_h2 .num {
				font-size: 15px;
		}
		.c_h2 .ncg {
				font-size: 25px;
				display: inline-block;
		}
		.c_h2 .bar {
				font-size: 28px;
				display: inline-block;
				margin-bottom: 14px;
		}
		.c_h2_txt {
				font-size: 14px;
				line-height: 1.428;
				margin-top: 10px;
		}
}

/* ========================================
    ■ sec01
======================================== */
.section01 {
		padding-top: 40px;
		padding-bottom: 100px;
}

.section01 .sec01_list {
		overflow: hidden;
		margin-top: 47px;
}

.section01 .sec01_item {
		float: left;
		width: 360px;
		font-size: 36px;
		text-align: center;
}

@media screen and (max-width: 768px) {
		.section01 {
				padding-top: 24px;
				padding-bottom: 0;
		}
		.section01 .sec01_list {
				margin-top: 0;
		}
		.section01 .sec01_item {
				float: none;
				width: 300px;
				margin: 0 auto 37px;
		}
}

/* ========================================
    ■ sec02
======================================== */
.section02 {
		padding-top: 60px;
		padding-bottom: 120px;
		background: #fff url("../images/sec02_bg.webp") top center repeat-x;
}

.section02 .sec02_arrow {
		margin: 30px auto;
		width: 31px;
}

.section02 .sec02_list {
		overflow: hidden;
}

.section02 .sec02_item {
		float: left;
		width: 20%;
		font-size: 36px;
		text-align: center;
		position: relative;
}

.section02 .btn_cast {
		position: absolute;
		right: 14px;
		bottom: 14px;
}

@media screen and (max-width: 768px) {
		.section02 {
				padding-top: 30px;
				padding-bottom: 50px;
		}
		.section02 .sec02_arrow {
				width: 16px;
				margin: 18px auto;
		}
		.section02 .sec02_item {
				width: 33.33%;
		}
		.section02 .btn_cast {
				right: 5px;
				bottom: 5px;
				width: 30px;
				height: 30px;
		}
}

/* ========================================
    ■ sec03
======================================== */
.section03 {
		padding-top: 56px;
		padding-bottom: 66px;
		background: #fff url("../images/sec02_bg.webp") top center repeat-x;
		overflow: hidden;
}

.section03 .shop_slide {
		margin-top: 60px;
		padding: 30px 0 70px;
		background: #f1eedd;
		clear: both;
}

.section03 .sec03_slide_item {
		padding: 0 20px;
		width: 100%;
		max-width: 718px;
}

.section03 .prev-arrow {
		position: absolute;
		top: 48%;
		top: calc(50% - 32px);
		left: 20%;
		left: calc(50% - 364px);
		width: 13px;
		height: 24px;
		z-index: 1;
}

.section03 .next-arrow {
		position: absolute;
		top: 48%;
		top: calc(50% - 32px);
		right: 20%;
		right: calc(50% - 364px);
		width: 13px;
		height: 24px;
		z-index: 1;
}

.section03 .slick-dots {
		text-align: center;
		bottom: 33px;
}

.section03 .slick-dots li {
		width: 12px;
		height: 12px;
		margin: 0 6px;
}

.section03 .slick-dots li button {
		width: 12px;
		height: 12px;
		border-radius: 6px;
		padding: 0;
		background: #fff;
		border: 1px solid #3c3c3c;
}

.section03 .slick-dots li button:before {
		content: '';
		width: 12px;
		height: 12px;
}

.section03 .slick-dots li.slick-active button {
		background: #3c3c3c;
}

.section03 .sec03_container {
		float: left;
		width: 430px;
}

.section03 .sec03_logo {
		width: 430px;
		height: 180px;
}

.section03 .sec03_info1_list {
		overflow: hidden;
		margin-top: 28px;
}

.section03 .sec03_info1_item {
		width: 207px;
		float: left;
		text-align: center;
		font-size: 25px;
}

.section03 .sec03_info1_item:last-of-type {
		float: right;
}

.section03 .sec03_info1 .mi {
		font-size: 21px;
		letter-spacing: 0.13em;
		display: block;
		padding: 4px 0;
		color: #fff;
		background: #646464;
}

.section03 .sec03_map {
		float: right;
		width: 430px;
		text-align: center;
		font-size: 17px;
}

.section03 .sec03_map .map {
		width: 430px;
		height: 217px;
}

.section03 .sec03_map .map iframe {
		width: 100%;
		height: 100%;
}

.section03 .sec03_map .mi {
		font-size: 15px;
		letter-spacing: 0.13em;
		text-align: center;
		display: block;
		padding: 3px 0;
		color: #fff;
		background: #646464;
}

.section03 .sec03_map .address {
		font-size: 17px;
		margin-top: 10px;
}

.section03 .sec03_map .sub {
		font-size: 16px;
}

.section03 .sec03_root {
		float: right;
		width: 430px;
		clear: both;
		margin-top: 24px;
}

.section03 .sec03_info2 {
		float: left;
		width: 430px;
		margin-top: 24px;
		margin-bottom: 144px;
}

.section03 .sec03_info2_list {
		overflow: hidden;
}

.section03 .sec03_info2_item {
		width: 195px;
		float: left;
}

.section03 .sec03_info2_item:last-of-type {
		float: right;
}

@media screen and (max-width: 768px) {
		.section03 {
				padding-top: 26px;
				padding-bottom: 0;
		}
		.section03 .shop_slide {
				margin-top: 35px;
				padding: 15px 0 30px;
				margin-bottom: 15px;
		}
		.section03 .sec03_slide_item {
				padding: 0 10px;
				width: 100%;
				max-width: 327px;
		}
		.section03 .prev-arrow {
				top: calc(50% - 18px);
				left: calc(50% - 167px);
				width: 9px;
				height: 15px;
		}
		.section03 .next-arrow {
				top: calc(50% - 18px);
				right: calc(50% - 167px);
				width: 9px;
				height: 15px;
		}
		.section03 .slick-dots {
				bottom: 9px;
		}
		.section03 .slick-dots li {
				width: 8px;
				height: 8px;
				margin: 0 3px;
		}
		.section03 .slick-dots li button {
				width: 8px;
				height: 8px;
				border-radius: 4px;
		}
		.section03 .slick-dots li button:before {
				width: 8px;
				height: 8px;
		}
		.section03 .slick-dotted.slick-slider {
				margin-bottom: 0;
		}
		.section03 .sec03_container {
				float: none;
				width: 100%;
				margin: auto;
		}
		.section03 .sec03_logo {
				width: 100%;
				height: auto;
		}
		.section03 .sec03_info1_list {
				margin-top: 0;
		}
		.section03 .sec03_info1_item {
				width: 148px;
				font-size: 16px;
		}
		.section03 .sec03_info1 .mi {
				font-size: 15px;
				padding: 2px 0;
		}
		.section03 .sec03_map {
				float: none;
				width: 100%;
				font-size: 12px;
				margin-top: 18px;
		}
		.section03 .sec03_map .map {
				width: 100%;
				height: 155px;
		}
		.section03 .sec03_map .mi {
				font-size: 11px;
				padding: 3px 0;
		}
		.section03 .sec03_map .address {
				font-size: 12px;
		}
		.section03 .sec03_map .sub {
				font-size: 11px;
		}
		.section03 .sec03_root {
				float: none;
				width: 100%;
				margin-top: 18px;
		}
		.section03 .sec03_info2 {
				float: none;
				width: 100%;
				margin-top: 17px;
				margin-bottom: 76px;
		}
		.section03 .sec03_info2_item {
				width: 139px;
		}
}

/* ========================================
    ■ sec04
======================================== */
.section04 {
		clear: both;
		padding-top: 50px;
		padding-bottom: 110px;
		background: #fff url("../images/sec02_bg.webp") top center repeat-x;
}

.section04 .sec04_contents {
		overflow: hidden;
		letter-spacing: 0.05em;
		margin-bottom: 10px;
}

.section04 .sec04_contents_mi {
		float: left;
		width: 304px;
		text-align: center;
		margin-right: 6px;
		font-family: "a-otf-midashi-go-mb31-pr6n", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", YuGothic, "Yu Gothic", "メイリオ", Meiryo, sans-serif;
		font-size: 24px;
		color: #fff;
}

.section04 .sec04_contents_mi.n01 {
		background: #008842;
				padding: 9px 0;
}

.section04 .sec04_contents_mi.n02 {
		background: #0cb860;
				padding: 28px 0;
}

.section04 .sec04_contents .sub {
		font-size: 21px;
}

.section04 .sec04_contents_info {
		background: rgba(0, 0, 0, 0.07);
		width: 620px;
		float: right;
		padding: 22px 50px 28px;
}

.section04 .sec04_info_list {
		float: left;
		width: 242px;
}

.section04 .sec04_info_list:nth-of-type(2n) {
		float: right;
}

.section04 .sec04_info_item {
		padding: 5px 0 2px;
		border-bottom: 1px solid #545454;
		font-size: 21px;
}

.section04 .sec04_info_item .mi {
		display: inline-block;
		width: 60%;
}

.section04 .sec04_info_item .pay {
		display: inline-block;
		width: 40%;
		text-align: right;
}

.section04 .sec04_txt {
		font-size: 20px;
		text-align: center;
		margin-top: 30px;
}

@media screen and (max-width: 768px) {
		.section04 {
				clear: both;
				padding-top: 25px;
				padding-bottom: 60px;
		}
		.section04 .sec04_tab_list {
				margin-top: 30px;
				height: 58px;
				background: transparent;
		}
		.section04 .sec04_tab_item {
				float: left;
				width: 50%;
				text-align: center;
				position: relative;
				line-height: 1;
		}
		.section04 .sec04_tab_item .sub {
				font-size: 10px;
		}
		.section04 .sec04_tab_item .name {
				font-size: 12px;
		}
		.section04 .sec04_tab_item .switch {
				display: block;
				background: #57bb87;
				text-decoration: none;
				color: #fff;
				padding: 6px 0;
				position: relative;
				height:60px;
		}
		.section04 .sec04_tab_item .switch.current {
				display: block;
				background: #008842;
		}
		.section04 .sec04_tab_item .switch.current:before {
				content: '';
				position: absolute;
				bottom: -15px;
				left: 0;
				right: 0;
				margin: auto;
				width: 0;
				height: 0;
				border-style: solid;
				border-width: 15px 5px 0 5px;
				border-color: #008842 transparent transparent transparent;
		}
		.section04 .sec04_tab_contents {
				padding: 25px 35px 30px;
				background: rgba(0, 0, 39, 0.07);
		}
		.section04 .sec04_tab_contents .txt {
				font-size: 14px;
				text-align: center;
				line-height: 1.429;
		}
		.section04 .sec04_info_list {
				width: 200px;
				margin: 10px auto 0;
				float: none;
		}
		.section04 .sec04_info_list:nth-of-type(2n) {
				float: none;
		}
		.section04 .sec04_info_item {
				padding: 4px 4px 2px;
				font-size: 14px;
		}
		.section04 .sec04_info_item .mi {
				width: 50%;
		}
		.section04 .sec04_info_item .pay {
				width: 50%;
		}
		.section04 .sec04_info_notes {
				margin-top: 15px;
				padding: 12px 19px;
				font-size: 10px;
				background: #fff;
		}
}

/* ========================================
    ■ sec05
======================================== */
.section05 {
		clear: both;
		padding-top: 60px;
		padding-bottom: 50px;
		background: #fff url("../images/sec02_bg.webp") top center repeat-x;
}

.section05 .sec05_list {
		overflow: hidden;
		width: 935px;
		margin: 60px auto 0;
}

.section05 .sec05_item {
		width: 434px;
		float: left;
		margin-bottom: 60px;
}

.section05 .sec05_item iframe {
		width: 434px !important;
}

.section05 .sec05_item:nth-of-type(2n) {
		float: right;
}

.section05 .sec05_item:nth-of-type(2n+1) {
		clear: both;
}

@media screen and (max-width: 768px) {
		.section05 {
				clear: both;
				padding-top: 30px;
				padding-bottom: 40px;
				background: #fff url("../images/sec02_bg.webp") top center repeat-x;
		}
		.section05 .sec05_list {
				margin-top: 30px;
				width: 100%;
				overflow: auto;
		}
		.section05 .sec05_item {
				width: 326px;
				float: none;
				margin-bottom: 40px;
				margin-left: auto;
				margin-right: auto;
		}
		.section05 .sec05_item iframe {
				width: 326px !important;
		}
		.section05 .sec05_item:nth-of-type(2n) {
				float: none;
				clear: both;
		}
}

/* ========================================
    ■ sec06
======================================== */
.section06 {
		clear: both;
		padding-top: 50px;
		background: #fff url("../images/sec02_bg.webp") top center repeat-x;
}

.section06 .sec06_img {
		max-width: 510px;
		margin: 73px auto 57px;
}

.section06 .sec06_txt {
		text-align: center;
		font-size: 23px;
		line-height: 2.826;
		letter-spacing: 0.1em;
}

.section06 .sec06_cta_list {
		overflow: hidden;
		clear: both;
		margin-top: 160px;
}

.section06 .sec06_cta_item {
		width: 212px;
		margin: 9px;
		float: left;
}

.section06 .sec06_cta_item:last-of-type {
		margin-right: 0;
}

.section06 .sec06_cta_logo {
		width: 100%;
		max-width: 404px;
		margin: 70px auto 0;
}

.section06 .sec06_cta_bnr {
		width: 100%;
		max-width: 404px;
		margin: 30px auto 95px;
		display: block;
		border: 2px solid #008846;
		color: #008846;
		font-size: 19px;
		letter-spacing: 0.08em;
		text-align: center;
		text-decoration: none;
		padding: 9px 0;
}

@media screen and (max-width: 768px) {
		.section06 {
				padding-top: 30px;
		}
		.section06 .sec06_img {
				margin: 35px auto 25px;
		}
		.section06 .sec06_txt {
				font-size: 15px;
				line-height: 2;
				text-align: left;
		}
		.section06 .sec06_cta_list {
				margin-top: 60px;
		}
		.section06 .sec06_cta_item {
				width: 139px;
				margin-right: 0;
				margin-bottom: 18px;
		}
		.section06 .sec06_cta_item:nth-of-type(2n) {
				float: right;
		}
		.section06 .sec06_cta_logo {
				margin: 19px auto 0;
		}
		.section06 .sec06_cta_bnr {
				margin: 20px auto 45px;
				border: 1px solid #008846;
				font-size: 15px;
				padding: 7px 0;
		}
}

/* ========================================
    ■ footer
======================================== */
.footer {
		background: #3c3c3c;
}

.footer .copy {
		text-align: center;
		color: #fff;
		font-size: 15px;
		letter-spacing: 0.07em;
		padding: 14px 0;
}

@media screen and (max-width: 768px) {
		.footer .copy {
				font-size: 10px;
				padding: 5px 0;
		}
}
