@charset "UTF-8";

/*
* Theme Name: テンプレート02_01
* Author: Iscream Design
* Version: 1.5
* Description:
*/
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%;
	font-style: normal;
	font-weight: normal;
	vertical-align: baseline;
	background: transparent;
}

body {
	line-height: 1;
}

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

html,
body {
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
}

ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

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

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

/* change colours to suit your needs */
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

/* change colours to suit your needs */
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;
}

/* change border colour to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;
	margin: 0px;
	padding: 0;
	border-bottom: #333333 1px solid;
}

input,
select {
	vertical-align: middle;
}

img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: middle;
}

strong {
	font-weight: bold;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: inherit;
}

body {
	position: relative;
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-weight: 500;
	font-size: 15px;
	line-height: 2;
	color: #333333;
	min-width: 1054px;
	background: #FFFFFF;
}

a {
	color: #333;
	text-decoration: underline;
}

a:hover {
	color: #333;
	text-decoration: none;
}

.fade,
.fade a,
.fade a:hover {
	text-decoration: none;
}

.container {
	width: 1054px;
}

.container-fluid {
	max-width: 1230px;
}

.container02 {
	width: 100%;
}

.fade:hover {
	text-decoration: none;
}

@media only screen and (max-width: 800px) {
	body {
		min-width: 0px;
	}

	.container,
	.container-fluid,
	.container02 {
		width: 100%;
	}
}

/*------------------------------------------------------------
header_01
--------------------------------------------------------------*/
.header_01 {
	position: absolute;
	width: 100%;
	height: 100px;
	z-index: 999;
	background: rgba(255, 255, 255, 0.9);
	top: 0;
	left: 0;
}

.header_logo {
	padding: 0;
	margin: 0;
}

@media only screen and (max-width: 800px) {
	.header_01 {
		position: relative;
		height: auto;
	}

	.header_01 {
		padding-right: 40px;
		margin-bottom: 0;
		background: none !important;
	}

	.header_logo {
		margin: 0;
	}

	.header_logo img {
		max-height: 26px;
		margin: 12px 0;
	}
}

/*------------------------------------------------------------
gNavi
--------------------------------------------------------------*/
.gNavi > ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.gNavi > ul > li {
	padding: 0;
	margin: 0;
}

.gNavi > ul > li > a {
	display: block;
	text-decoration: none;
	color: #333333;
}

.gNavi > ul > li > a:hover {
	color: #d784bb;
}

.no-link:hover {
	color: #333333;
}

/*------------------------------------------------------------
navi_01
--------------------------------------------------------------*/
.navi_01 > ul {
	-ms-flex-pack: distribute;
	justify-content: flex-end;
}

.navi_01 > ul > li {
	width: auto;
	margin: 0 10px;
	white-space: nowrap;
}

.navi_01 > ul > li > a {
	padding: 10px 0;
}

/*------------------------------------------------------------
navi_02
--------------------------------------------------------------*/
.navi_02 > ul {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.navi_02 > ul > li > a {
	padding: 20px 0;
}

/*------------------------------------------------------------
dd
--------------------------------------------------------------*/
.gNavi .dd {
	position: relative;
	z-index: 999999;
}

.gNavi .dd ul {
	position: absolute;
	display: none;
	background: #27323d;
	left: 50%;
	text-align: left;
	transform: translateX(-50%);
	padding: 10px 0;
	width: auto;
}

.gNavi .dd ul li {
	font-size: 15px;
	line-height: 1em;
	text-align: center;
	padding: 0 20px;
	white-space: nowrap;
}

.gNavi .dd ul li:last-child {
	border-bottom: none;
}

.gNavi .dd ul li a {
	text-decoration: none;
	color: #FFFFFF;
	display: block;
	padding: 15px 10px;
}

.gNavi .dd ul li a:hover {
	color: #FFFFFF;
}

/*------------------------------------------------------------
dd_hol
--------------------------------------------------------------*/
.gNavi .dd_hol {
	position: relative;
	z-index: 999999;
}

.gNavi .dd_hol div {
	position: absolute;
	display: none;
	background: #27323d;
	left: 50%;
	text-align: center;
	transform: translateX(-50%);
	padding: 10px 0;
	width: 440px;
}

.gNavi .dd_hol ul {
	display: inline-block;
	text-align: left;
}

.gNavi .dd_hol ul li {
	font-size: 15px;
	line-height: 1em;
	padding: 0 20px;
	white-space: nowrap;
}

.gNavi .dd_hol ul li:last-child {
	border-bottom: none;
}

.gNavi .dd_hol ul li a {
	text-decoration: none;
	color: #FFFFFF;
	display: block;
	padding: 15px 10px;
}

.gNavi .dd_hol ul li a:hover {
	color: #FFFFFF;
}

/*------------------------------------------------------------
humberger
--------------------------------------------------------------*/
@media only screen and (max-width: 800px) {
	.humberger {
		background: #d784bb;
		cursor: pointer;
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		width: 50px;
		height: 50px;
		z-index: 10000;
	}

	.humberger span {
		background: #fff;
		position: absolute;
		left: 50%;
		width: 25px;
		height: 2px;
		transform: translateX(-50%);
		transition: 0.4s;
	}

	.humberger span:nth-of-type(1) {
		top: 15px;
	}

	.humberger span:nth-of-type(2) {
		top: 50%;
		transform: translate(-50%, -50%);
	}

	.humberger span:nth-of-type(3) {
		bottom: 15px;
	}

	.is-open .humberger span:nth-of-type(1) {
		transform: translate(-50%, 9px) rotate(-45deg);
	}

	.is-open .humberger span:nth-of-type(2) {
		opacity: 0;
	}

	.is-open .humberger span:nth-of-type(3) {
		transform: translate(-50%, -9px) rotate(45deg);
	}

	.overlay {
		background: transparent;
		position: fixed;
		pointer-events: none;
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
		z-index: 10;
		transition: 0.2s;
	}

	.is-open .overlay {
		background: rgba(0, 0, 0, 0.7);
		pointer-events: auto;
	}

	.sp-navi {
		-webkit-text-size-adjust: 100%;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 9999;
	}

	.sp-navi.is-open .sp-navi-inner {
		transform: translate3d(0, 0, 0);
	}

	.sp-navi .sp-navi-inner {
		background: #FFF;
		position: fixed;
		top: 0;
		right: 0;
		overflow: scroll;
		overflow-x: hidden;
		overflow-y: auto;
		padding: 50px 0;
		height: 100%;
		width: 100%;
		transition: .5s;
		transform: translate3d(100%, 0, 0);
		z-index: 10;
	}

	.sp-navi .sp-navi-inner .navi-main {
		margin: 0 0 30px;
	}

	.sp-navi .sp-navi-inner .navi-main > li {
		border-bottom: 1px solid #ddd;
		position: relative;
	}

	.sp-navi .sp-navi-inner .navi-main img {
		margin-bottom: 5px;
		margin-right: 10px;
	}

	.sp-navi .sp-navi-inner .navi-main > li:before {
		background: #d784bb;
		content: "";
		height: 3px;
		width: 8px;
		position: absolute;
		left: 10px;
		top: 23px;
	}

	.sp-navi .sp-navi-inner .navi-main > li:first-child {
		border-top: 1px solid #ddd;
	}

	.sp-navi .sp-navi-inner .navi-main > li > a {
		display: block;
		font-size: 14px;
		font-weight: 500;
		letter-spacing: 2.5px;
		padding: 15px 10px 15px 30px;
		overflow: hidden;
		line-height: 1.3em;
		text-decoration: none;
		color: #333;
	}

	.sp-navi .sp-navi-inner .navi-main > li > ul > li {
		border-top: 1px dashed #ddd;
		width: 100%;
	}

	.sp-navi .sp-navi-inner .navi-main > li > ul > li > a {
		display: block;
		font-size: 14px;
		line-height: 1.3em;
		padding: 10px 10px 10px 50px;
		position: relative;
		text-decoration: none;
		color: #333;
	}

	.sp-navi .sp-navi-inner .navi-main > li > ul > li > a:before {
		background: #d784bb;
		content: "";
		height: 1px;
		width: 10px;
		position: absolute;
		left: 26px;
		top: 19px;
	}

	.sp-navi .sp-navi-inner .navi-other {
		padding: 0 15px;
	}

	.sp-navi-inner .navi-main img {
		padding-left: 9px;
	}
}

/*追従navi*/
.fixed-navi {
	display: block;
}

.fixed-navi .h-info {
	display: table;
	margin: 0 auto 40px;
}

/* ボタン類 */
.fixed-navi-btns {
	background: #e5b0d0;
	position: fixed;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: flex-end;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 60px;
	z-index: 10000;
	border-top: 1px solid #e5b0d0;
}

.fixed-navi-btns .pagetop {
	width: 60px;
	right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	border-left: 1px solid #f7e7f1;
}

.fixed-navi-btns .item {
	width: calc(calc(100% - 60px) / 4);
}

.fixed-navi-btns .item + .item {
	border-left: 1px solid #f7e7f1;
}

.fixed-navi-btns .item a {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	text-decoration: none;
	height: 60px;
	text-align: center;
	flex-direction: column;
	padding: 0 10px;
}

.fixed-navi-btns .item a p {
	width: 100%;
}

@media only screen and (max-width: 800px) {
	.fixed-navi-tels {
		background: #fff;
		border-top: 3px solid #e5b0d0;
		position: fixed;
		bottom: 60px;
		padding: 18px 15px 3px;
		width: 100%;
		z-index: 9999;
		display: none;
	}
	.fixed-navi-tels .inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		flex-flow: row wrap;
	}
	.fixed-navi-tels a {
		display: block;
		margin-bottom: 15px;
	}
	.fixed-navi-tels a:nth-child(1) {
		margin-right: 5%;
		width: 40%;
	}
	.fixed-navi-tels a:nth-child(2) {
		width: 40%;
	}
	.fixed-navi-tels a:nth-child(3) {
		width: 50%;
	}

	.fixed-navi-btns .item {
		flex: 1;
		width: auto;
	}
	.fixed-navi-btns .item:nth-child(1) {
		background: url("images/shared/fix_tel.png") no-repeat;
		background-position: top 8px center;
		background-size: 20px;
	}
	.fixed-navi-btns .item:nth-child(2) {
		background: url("images/shared/fix_mail.png") no-repeat;
		background-position: top 8px center;
		background-size: 20px;
	}
	.fixed-navi-btns .item:nth-child(3) {
		background: url("images/shared/fix_rec.png") no-repeat;
		background-position: top 8px center;
		background-size: 20px;
	}
	.fixed-navi-btns .item:nth-child(4) {
		background: url("images/shared/fix_pagetop.png") no-repeat;
		background-position: top 8px center;
		background-size: 20px;
	}
	.fixed-navi-btns .item a , .fixed-navi-btns .item .txt {
		color: #fff;
		display: block;
		font-family: 'Pacifico', cursive;
		font-size: 15px;
		padding-top: 26px;
		text-align: center;
		height: 60px;
	}
}

/*------------------------------------------------------------
main
--------------------------------------------------------------*/
.mainimg img {
	object-fit: cover;
	min-height: 800px;
	width: 100%;
}

@media only screen and (max-width: 800px) {
	.mainimg img {
		object-fit: scale-down;
		min-height: 0;
		width: 100%;
	}
}

/*------------------------------------------------------------
main-slider
--------------------------------------------------------------*/
.main-slider li {
	height: auto;
	width: 100%;
}

.main-slider img {
	width: 100%;
	min-height: 750px;
	object-fit: cover;
	height: auto;
	margin-bottom: -10px;
}

@media only screen and (max-width: 800px) {
	.main-slider img {
		width: 100%;
		min-height: 0;
		object-fit: fill;
		height: auto;
	}
}

/*------------------------------------------------------------
main
--------------------------------------------------------------*/
.text_box {
	text-align: center;
	width: 100%;
	margin: 0 auto;
	top: 50%;
	left: 0;
	right: 0;
	transform: translate(0, -50%);
}

.text_box .maintext01 {
	font-size: 43px;
}

@media only screen and (max-width: 800px) {
	.text_box .maintext01 {
		font-size: 4.8vw;
		width: auto;
	}
}

/*------------------------------------------------------------
contents
--------------------------------------------------------------*/
.contents {
	float: left;
	width: 730px;
}

@media only screen and (max-width: 800px) {
	.contents {
		float: none;
		width: auto;
	}
}

/*------------------------------------------------------------
heading
--------------------------------------------------------------*/
.heading {
	padding-top: 40px;
	margin-top: -40px;
}

.pagettl {
	font-family: "FP-ヒラギノUD角ゴ StdN W6", "FP-HiraginoUDSansStdN-W6", sans-serif;
	font-size: 43px;
	line-height: 1.1;
	text-align: center;
	background: url("images/shared/h2.png") no-repeat center center;
	background-size: cover;
	padding: 260px 0 150px;
	color: #fff;
	margin-bottom: 30px;
}

.heading_img {
	text-align: center;
	margin-bottom: 40px;
	font-family: "FP-ヒラギノUD角ゴ StdN W6", "FP-HiraginoUDSansStdN-W6", sans-serif;
	font-size: 30px;
	line-height: 1.4;
	color: #333333;
}

.heading_btmline,
.postdata h4 {
	font-family: "FP-ヒラギノUD角ゴ StdN W6", "FP-HiraginoUDSansStdN-W6", sans-serif;
	font-size: 20px;
	line-height: 1.6;
	color: #d784bb;
	margin-bottom: 25px;
	border-bottom: #dddddd 1px solid;
	padding-bottom: 5px;
	position: relative;
}

.heading_leftcircle,
.postdata h5 {
	font-family: "FP-ヒラギノUD角ゴ StdN W6", "FP-HiraginoUDSansStdN-W6", sans-serif;
	font-size: 16px;
	line-height: 1.4;
	margin-bottom: 5px;
	position: relative;
	padding-left: 23px;
}

.heading_leftcircle::before,
.postdata h5::before {
	position: absolute;
	content: '';
	width: 13px;
	height: 13px;
	background: #d784bb;
	border-radius: 12px;
	left: 0;
	top: 0.3em;
}

@media only screen and (max-width: 800px) {
	.heading {
		padding-top: 0px;
		margin-top: 0px;
	}

	.pagettl {
		font-size: 24px;
		padding: 40px 15px;
	}

	.heading_img {
		margin-bottom: 20px;
		font-size: 23px;
	}

	.heading_btmline,
	.postdata h4 {
		font-size: 20px;
		margin-bottom: 20px;
	}

	.heading_leftcircle,
	.postdata h5 {
		font-size: 18px;
		margin-bottom: 10px;
	}
}

/*------------------------------------------------------------
footer
--------------------------------------------------------------*/

.footer_01.ring {
	background: url("images/shared/footer_ring.png") center top no-repeat;
	margin-bottom: 60px;
}

.footer_nav01 li {
	display: inline-block;
}

.footer_nav01 li::after {
	content: "｜"
}

.footer_nav01 li:last-child::after {
	content: ""
}

.footer_nav01 li a {
	text-decoration: none;
	color: #333333;
}

.footer_nav01 li a:hover {
	text-decoration: underline;
}

@media only screen and (max-width: 800px) {

	.footer_nav01 {
		vertical-align: top;
		column-count: 2;
	}
	.footer_nav01.fo15 {
		font-size: 12px !important;
	}
	.footer_nav01 li {
		display: block;
		padding-left: 10px;
		margin: 0 0 5px!important;
		text-align: left;
		position: relative;
	}
	.footer_nav01 li::before {
		content: '';
		position: absolute;
		background: #d784bb;
		border-radius: 50%;
		width: 5px;
		height: 5px;
		left: 0;
		top:8px;
	}
	.footer_nav01 li::after{
		content: none;
	}
}

/*------------------------------------------------------------------------------------------------------------------------
Parts
--------------------------------------------------------------------------------------------------------------------------*/
.top_art01 {
	background: url("images/top_01_ribbon.png") center top 36px no-repeat, url("images/top_01_bg.png") center top / cover no-repeat;
	padding: 150px 0;
}

.top_art01 h2 {
	letter-spacing: 0.15em;
}

.top_art02 {
	position: relative;
	overflow: hidden;
}

.top_art02 .ring.locate01 {
	position: absolute;
	top: 105px;
	left: calc(50% - 700px);
	width: 230px;
}

.top_art02 .ring.locate02 {
	position: absolute;
	top: 340px;
	left: calc(50% + 500px);
	width: 278px;
}

.top_art02 .ring.locate03 {
	position: absolute;
	top: 1310px;
	left: calc(50% - 950px);
	width: 278px;
}

.top_art02 .ring.locate04 {
	position: absolute;
	top: 1880px;
	left: calc(50% + 730px);
	width: 228px;
}

.top_art02 .ring.locate05 {
	position: absolute;
	top: 2340px;
	left: calc(50% - 730px);
	width: 228px;
	z-index: -1;
}

.top_art02 .box {
	background: url("images/top_02_ribbon.png") center top 20px no-repeat #e5b0d0;
	border-radius: 25px;
	padding: 65px 40px;
	color: #fff;
	width: 460px;
}

.top_art02 .sec01 {
	background: url("images/top_02_01.png") center bottom no-repeat;
	padding-bottom: 237px;
	margin-bottom: 120px;
}

.top_art02 .sec02 {
	background: url("images/top_02_02.png") center bottom no-repeat;
	padding-bottom: 237px;
	margin-bottom: 120px;
}

.top_art02 .sec03 {
	background: url("images/top_02_03.png") center bottom no-repeat;
	padding-bottom: 237px;
}

.top_art03 {
	background: url("images/top_03_bg_btm01.png") center bottom no-repeat, url("images/top_03_bg_btm02.png") center bottom repeat-x;
}

.top_art03 .blog_img {
	background: url("images/top_03_bg.png") center top / cover no-repeat;
	height: 500px;
	margin-bottom: -300px;
}

.top_art03 .eye_c img {
	border-radius: 15px;
	box-shadow: 0 10px 15px rgba(0, 0, 0, .2);
}

.top_art04 {
	background: url("images/top_04_bg_top.png") center top no-repeat, url("images/top_04_bg_btm.png") center bottom no-repeat, url("images/top_04_bg.png");
	position: relative;
	overflow: hidden;
}

.top_art04 .ring.locate01 {
	position: absolute;
	top: 450px;
	left: calc(50% + 520px);
	width: 228px;
}

.item_b {
	position: relative;
	margin-bottom: 120px;
}

.item_b .inner {
	border-radius: 30px;
	overflow: hidden;
}

.item_b .step {
	position: absolute;
	background: url("images/shared/step_ring.png") center center no-repeat;
	width: 96px;
	height: 97px;
	line-height: 97px;
	text-align: center;
	left: -10px;
	top: -70px;
}

.item_b .txt {
	background: #e5b0d0;
	padding: 25px 50px;
}

.item_c .check li {
	background: url("images/shared/check.png") left top 5px no-repeat;
	padding-left: 25px;
	margin-bottom: 5px;
}

.item_c .ilbmid40 > li {
	margin-bottom: 5px;
}

.item_d a {
	font-family: "FP-ヒラギノUD角ゴ StdN W6", "FP-HiraginoUDSansStdN-W6", sans-serif;
	font-size: 16px;
	line-height: 1;
	color: #d784bb;
	background: #ffffff;
	padding: 15px 20px 15px;
	text-decoration: none;
	display: inline-block;
	transition: .5s ease;
	position: relative;
	text-align: center;
	width: 100%;
	border-radius: 2em;
}

.item_d a:hover {
	opacity: 0.7;
}

.item_f {
	border-radius: 25px;
	overflow: hidden;
	width: 32%;
	margin-bottom: 40px;
}

.item_f .txt {
	flex-direction: column;
	display: flex;
}

.item_f .item_d {
	margin-top: auto;
}

.item_f .txt {
	padding: 20px;
	background: url("images/shared/item_f_bg.png") center top 12px no-repeat;
}

.item_g {
	position: relative;
	background: #f0f0f0;
	border-radius: 25px;
}

.item_g::before {
	content: "";
	position: absolute;
	top: 100px;
	left: 100%;
	margin-top: -15px;
	border: 15px solid transparent;
	border-left: 15px solid #f0f0f0;
}

.item_h h3 {
	background: url("images/shared/item_h_ribbon.png") center center no-repeat;
	padding: 30px 0;
}

.post_img img {
	width: 350px;
	height: 200px;
	object-fit: cover;
}

@media only screen and (max-width: 800px) {
	.top_art01 {
		background: url("images/top_01_bg_sp.jpg") center top / contain no-repeat;
		padding-top: 70%;
		padding-bottom: 30px;
	}

	.top_art02 .box {
		padding: 40px 20px;
		border-radius: 0;
		width: 100%;
	}

	.top_art02 .sec01,
	.top_art02 .sec02,
	.top_art02 .sec03 {
		background: none;
		padding: 0;
		margin-bottom: 30px;
	}

	.top_art03 {
		background: url("images/top_03_bg.png") center top / contain no-repeat;
	}

	.top_art03 .blog_img {
		background: none;
		height: 0;
		margin: 0;
	}

	.item_f {
		width: 100%;
	}

	.item_g::before {
		content: "";
		position: absolute;
		top: -30px;
		left: 50%;
		margin-left: -15px;
		margin-top: 0;
		border: 15px solid transparent;
		border-bottom: 15px solid #f0f0f0;
	}
}

/*------------------------------------------------------------
table
--------------------------------------------------------------*/
.table-bordered {
	border-collapse: collapse;
	border-top: solid 1px #dddddd;
	width: 100%;
	background: #fff;
}

.table-bordered th,
.table-bordered td {
	border-bottom: solid 1px #dddddd;
	padding: 10px 15px;
	vertical-align: middle;
	color: #333333;
}

.table-bordered th {
	font-family: "FP-ヒラギノUD角ゴ StdN W6", "FP-HiraginoUDSansStdN-W6", sans-serif;
	text-align: center;
	background: #f0f0f0;
	color: #333;
	width: 20%;
}

.table-bordered02 {
	border-collapse: collapse;
	width: 100%;
	background: #fff;
}

.table-bordered02 th,
.table-bordered02 td {
	padding: 20px 15px;
	vertical-align: middle;
	background: #f5f8ff;
	border-bottom: #FFFFFF solid 20px;
}

.table-bordered02 th {
	font-family: "FP-ヒラギノUD角ゴ StdN W6", "FP-HiraginoUDSansStdN-W6", sans-serif;
	text-align: center;
	background-color: #0a73bc;
	color: #FFFFFF;
}

.table-bordered02 td {
	padding: 20px 30px;
}

.table-bordered03 {
	border-collapse: collapse;
	width: 100%;
	background: #fff;
}

.table-bordered03 th,
.table-bordered03 td {
	padding: 20px 10px;
	vertical-align: middle;
	background: #f5f8ff;
	border-bottom: #FFFFFF solid 20px;
}

.table-bordered03 th {
	font-family: "FP-ヒラギノUD角ゴ StdN W6", "FP-HiraginoUDSansStdN-W6", sans-serif;
	text-align: center;
	background-color: #0a73bc;
	color: #FFFFFF;
}

.table-bordered03 td {
	width: 29%;
}

.th20 th {
	width: 20%;
}

.th25 th {
	width: 25%;
}

th.ttl {
	min-width: 110px;
}

.th30 th {
	width: 30%;
}

.th40 th {
	width: 40%;
}

.th50 th {
	width: 50%;
}

.scroll table {
	width: 100%;
}

.scroll {
	overflow: auto;
	white-space: nowrap;
}

.scroll::-webkit-scrollbar {
	height: 5px;
}

.scroll::-webkit-scrollbar-track {
	background: #F1F1F1;
}

.scroll::-webkit-scrollbar-thumb {
	background: #BCBCBC;
}

.scroll .table-bordered,
.scroll .table-bordered th,
.scroll .table-bordered td {
	border: 1px solid #ddd;
}

.table-bordered .back-purple {
	color: #fff;
}

@media only screen and (max-width: 800px) {
	.table-bordered tr {
		border-bottom: #c8ae8b dotted 1px;
	}

	.table-bordered02 tr {
		border-bottom: #c8ae8b dotted 1px;
	}
}

@media only screen and (max-width: 800px) {
	.sp-sc {
		width: 100%;
		overflow: auto;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}

	.sp-sc table {
		width: 100%;
	}

	.sp-listlayout {
		border: none !important;
	}

	.sp-listlayout tr {
		display: block;
	}

	.sp-listlayout th {
		border: none !important;
		display: list-item;
		list-style: none;
		width: 100% !important;
	}

	.sp-listlayout td {
		border: none !important;
		display: list-item;
		list-style: none;
		width: 100% !important;
	}

	.sp-listlayout {
		table-layout: fixed;
	}

	.sp-listlayout * {
		word-wrap: break-word;
	}
}

/*------------------------------------------------------------
more-btn
--------------------------------------------------------------*/
.more-btn a {
	font-family: "FP-ヒラギノUD角ゴ StdN W6", "FP-HiraginoUDSansStdN-W6", sans-serif;
	font-size: 16px;
	line-height: 1;
	color: #fff;
	background: #d784bb;
	padding: 15px 40px 15px 40px;
	text-decoration: none;
	display: inline-block;
	transition: .5s ease;
	position: relative;
	text-align: center;
	min-width: 230px;
	border-radius: 2em;
	box-shadow: 0 10px 15px rgba(0, 0, 0, .2);
}

.more-btn_w a {
	font-family: "FP-ヒラギノUD角ゴ StdN W6", "FP-HiraginoUDSansStdN-W6", sans-serif;
	font-size: 16px;
	line-height: 1;
	color: #d784bb;
	background: #ffffff;
	padding: 15px 40px 15px 40px;
	text-decoration: none;
	display: inline-block;
	transition: .5s ease;
	position: relative;
	text-align: center;
	min-width: 320px;
	border-radius: 2em;
}
.more-btn.big a,.more-btn_w.big a{
	font-size: 21px;
}
.more-btn.mini a {
	padding: 5px 25px 5px 15px;
	min-width: inherit;
	width: 100%;
	font-size: 15px;
}

.more-btn.mini a:after {
	content: url("images/shared/ico_arrow.png");
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
}

.more-btn.white a {
	border: #FFFFFF 1px solid;
}

.more-btn02 {
	line-height: 1.2em;
	display: inline-block;
	margin-right: 20px;
	border-right: 1px #FFFFFF solid;
	padding-right: 20px;
}

.more-btn02:last-child {
	margin-right: 0;
	border-right: none;
	padding-right: 0;
}

.more-btn02 a {
	font-family: "FP-ヒラギノUD角ゴ StdN W6", "FP-HiraginoUDSansStdN-W6", sans-serif;
	font-size: 16px;
	line-height: 1;
	color: #FFFFFF;
	padding: 0 25px 0 0;
	text-decoration: none;
	transition: .5s ease;
	position: relative;
	border-radius: 7px;
}

.more-btn02 a:after {
	content: url("images/shared/ico_arrow_btm.png");
	position: absolute;
	right: 0;
	top: 0.5em;
	transform: translateY(-50%);
}

.more-btn03 a {
	font-family: "FP-ヒラギノUD角ゴ StdN W6", "FP-HiraginoUDSansStdN-W6", sans-serif;
	font-size: 17px;
	line-height: 1;
	color: #FFFFFF;
	background: #7ec997;
	padding: 15px 20px;
	text-decoration: none;
	display: inline-block;
	transition: .5s ease;
	position: relative;
	text-align: center;
	border-radius: 10px;
	width: 100%;
}

.more-btn a:hover,
.more-btn02 a:hover,
.more-btn03 a:hover,
.more-btn_w a:hover {
	opacity: 0.7;
}

@media only screen and (max-width: 800px) {
	.more-btn a {
		padding: 15px 30px 15px 30px;
		min-width: 230px;
		font-size: 13px;
	}
	.more-btn.big a,.more-btn_w.big a{
		font-size: 13px;
	}
	.more-btn.mini a {
		font-size: 13px;
	}
}

/*------------------------------------------------------------
iframe_wrap
--------------------------------------------------------------*/
.iframe_wrap {
	position: relative;
	width: 100%;
	padding-top: 58%;
	/* 高さ÷幅 */
}

.iframe_wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

/*------------------------------------------------------------
archive_list
--------------------------------------------------------------*/
.archive_list a {
	text-decoration: none !important;
}

.archive_list li:nth-child(3n + 1) {
	clear: both;
}

.archive_list img {
	max-height: 350px;
	width: auto;
}

/*------------------------------------------------------------
line
--------------------------------------------------------------*/
.line {
	position: relative;
}

.line::before {
	content: "";
	position: absolute;
	background: url("images/line.png") no-repeat center right;
	width: 373px;
	height: 1px;
	top: 50%;
	right: 100%;
	transform: translate(-30px, -50%);
}

.line::after {
	content: "";
	position: absolute;
	background: url("images/line.png") no-repeat center left;
	width: 373px;
	height: 1px;
	top: 50%;
	transform: translate(30px, -50%);
	left: 100%;
}

@media only screen and (max-width: 800px) {
	.line::before {
		content: "";
		position: absolute;
		background: url("images/line.png") no-repeat center left;
		width: 31px;
		height: 23px;
		top: 50%;
		transform: translate(-30px, -50%);
		left: 0;
	}

	.line::after {
		content: "";
		position: absolute;
		background: url("images/line.png") no-repeat center right;
		width: 31px;
		height: 23px;
		top: 50%;
		transform: translate(30px, -50%);
		right: 0;
	}
}

/*------------------------------------------------------------
top_map
--------------------------------------------------------------*/
.top_map .mapbox {
	position: absolute;
	right: 60px;
	top: 50%;
	transform: translateY(-50%);
}

@media only screen and (max-width: 800px) {
	.top_map .mapbox {
		position: static;
	}
}

/*------------------------------------------------------------
topics
--------------------------------------------------------------*/
.topicsbox {
	width: 1024px;
	bottom: 60px;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
	position: absolute;
	left: 0;
	right: 0;
	padding: 20px 0;
	border-radius: 15px;
}

.topicsbox .ttl {
	width: 200px;
	text-align: center;
}

.topicsbox .conto {
	width: 730px;
}

.topicsbox dl:first-child {
	margin-bottom: 10px;
}

.topicsbox dt,
.topicsbox dd {
	display: table-cell;
	vertical-align: middle;
	line-height: 1.4;
}

.topicsbox dt {
	width: 108px;
	text-align: left;
}

.topicsbox dd {
	text-align: left;
	padding-left: 20px;
}

.topicsbox dd a {
	text-decoration: none;
}

.topicsbox dd a:hover {
	text-decoration: underline;
}

.topicsbox .link {
	width: 176px;
	background: #dddddd;
}

@media only screen and (max-width: 800px) {
	.topicsbox {
		position: static !important;
	}

	.topicsbox {
		width: auto;
		display: block;
		padding: 10px;
		left: auto;
		transform: none;
	}

	.topicsbox h2 {
		width: 100%;
		padding: 15px;
	}

	.topicsbox .conto {
		width: 100%;
	}

	.topicsbox dl {
		width: auto;
		margin: 10px;
	}

	.topicsbox dt,
	.topicsbox dd {
		display: block;
		vertical-align: top;
		line-height: 1.6;
		width: 100%;
	}

	.topicsbox dd {
		text-align: left;
		padding-left: 0;
	}

	.topicsbox div.text-center {
		width: 100%;
		padding: 0px 10px 10px;
	}
}

/*------------------------------------------------------------
newsbox
--------------------------------------------------------------*/
.newsbox dt,
.newsbox dd {
	display: table-cell;
	vertical-align: middle;
}

.newsbox dt {
	padding-right: 30px;
}

.newsbox dt img {
	max-width: 150px;
}

@media only screen and (max-width: 800px) {
	.newsbox dt {
		display: block;
		width: 100%;
		padding-right: 0;
		text-align: center;
		margin-bottom: 20px;
	}

	.newsbox dt img {
		max-width: 100%;
	}
}

/*------------------------------------------------------------
newsinbox01
--------------------------------------------------------------*/
.newsinbox01 > li {
	display: table-cell;
	vertical-align: middle;
}

.newsinbox01 > li:first-child {
	padding-right: 30px;
}

.newsinbox01 > li:nth-child(2) {
	padding-right: 30px;
}

.newsinbox01 > li:nth-child(2) > div > ul {
	width: 12em;
}

.newsinbox01 > li:nth-child(3) {
	width: auto;
}

.newsinbox01 > li:nth-child(4) {
	display: block;
	width: 100%;
	margin-top: 5px;
}

@media only screen and (max-width: 800px) {
	.newsinbox01 > li:first-child {
		padding-right: 20px;
	}

	.newsinbox01 > li:nth-child(2) {
		padding-right: 0;
	}

	.newsinbox01 > li:nth-child(2) > div > ul {
		width: auto;
	}

	.newsinbox01 > li:nth-child(3) {
		margin-top: 10px;
		display: block;
		width: auto;
	}

	.newsinbox01 > li:last-child {
		display: block;
		width: 100%;
		margin-top: 10px;
	}
}

/*------------------------------------------------------------
view
--------------------------------------------------------------*/
.view {
	margin-bottom: 30px;
	text-align: center;
}

.view .slick-slide img {
	text-align: center;
	margin: 0 auto;
}

.view .view-ttl {
	font-size: 19px;
	letter-spacing: 0.05em;
	margin-bottom: 5px;
}

.thumb {
	margin: 0 auto;
	padding: 0px 50px;
}

.thumb .slick-prev,
.thumb .slick-next {
	width: 20px;
	height: 20px;
}

.thumb .slick-slide {
	cursor: pointer;
	margin: 3px 5px;
	opacity: .5;
	-webkit-transition: .3s ease;
	transition: .3s ease;
	text-align: center;
}

.thumb .slick-slide img {
	-o-object-fit: cover;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	height: 120px;
	width: 120px;
	-webkit-transition: .2s;
	transition: .2s;
	margin: 0 auto;
}

.thumb .slick-slide.slick-current {
	opacity: 1;
}

.thumb .slick-slide.slick-current img {
	border: 2px solid #404040;
}

.thumb .slick-slide:hover {
	opacity: 1;
}

.thumb.slick-dotted {
	margin-bottom: 120px;
}

@media only screen and (max-width: 800px) {
	.view {
		margin-bottom: 20px;
	}

	.view .slick-slide img {
		max-width: none;
		width: 100%;
		height: auto;
	}

	.view .view-ttl {
		font-size: 17px;
		margin-bottom: 10px;
	}

	.thumb {
		margin: 0 auto;
		padding: 0;
	}

	.thumb .slick-prev,
	.thumb .slick-next {
		width: 30px;
		height: 30px;
	}

	.thumb .slick-slide {
		cursor: pointer;
		margin: 5px;
		opacity: .5;
		-webkit-transition: .3s ease;
		transition: .3s ease;
	}

	.thumb .slick-slide img {
		height: 21vw;
		width: 100%;
	}

	.thumb.slick-dotted {
		margin-bottom: 60px;
	}

	.slide-view03.slick-dotted {
		margin-bottom: 60px;
	}
}

/*------------------------------------------------------------
fixed-men
--------------------------------------------------------------*/
.fixed-menu {
	position: fixed;
	bottom: 0;
	width: 100%;
	z-index: 99999;
}

.fixed-menu .sp {
	display: flex;
	background: #fbf9f4;
}

.fixed-menu .sp li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 38%;
	text-align: center;
	padding: 15px 0;
	background: #303e4a;
}

.fixed-menu .sp li:nth-child(2) {
	background: #71b842;
}

.fixed-menu .sp li:last-child {
	width: 24%;
}

.fixed-menu .sp li figure {
	width: 70%;
	margin: 0 auto;
}

.fixed-menu .sp li:last-child figure {
	width: 40%;
}

.fixed-menu .sp li a {
	text-decoration: none;
	color: #502b10;
	font-size: 1.7vw;
	width: 100%;
	line-height: 2em;
}

.fixed-menu .sp li:last-child p {
	color: #FFFFFF;
}

@media only screen and (max-width: 800px) {
	body > .pos-rel:first-child {
		padding-bottom: 70px;
	}
}

/*------------------------------------------------------------
fix_btn
--------------------------------------------------------------*/
.fix_btn {
	position: fixed;
	top: 300px;
	right: 0;
}

/*------------------------------------------------------------
accordion
--------------------------------------------------------------*/
.accordion {
	width: 100%;
}

.accordion {
	border-top: 1px dotted #ddd;
}

.accordion:last-of-type {
	border-bottom: 1px dotted #ddd;
	margin-bottom: 40px;
}

.accordion th {
	width: 20px;
}

.accordion td {
	padding-left: 20px;
	vertical-align: middle;
}

.accordion dt {
	cursor: pointer;
	background-image: url(images/plus.png);
	background-repeat: no-repeat;
	background-position: right 20px center;
	padding-top: 30px;
	padding-bottom: 30px;
	padding-right: 60px;
}

.accordion dd {
	display: none;
	line-height: 1.8em;
	color: #666666;
	padding-top: 10px;
	padding-bottom: 10px;
}

.accordion dd td p {
	padding-right: 60px;
}

.accordion dt.active {
	background-image: url(images/minus.png);
}

.accordion dt.over {}

@media only screen and (max-width: 800px) {
	.accordion dt {
		padding-right: 50px;
	}
}

/*------------------------------------------------------------
tab
--------------------------------------------------------------*/
.tab li {
	color: #FFFFFF;
	background: #a2a2a2;
	display: inline-block;
	margin: 0 5px;
	padding: 10px 80px;
	cursor: pointer;
	list-style: none;
	transition: .3s;
}

.tab li.active {
	background: #1cb57b;
	cursor: auto;
}

.area .tabcont {
	display: none;
}

.area .tabcont.show {
	display: block;
}

@media only screen and (max-width: 800px) {
	.tab {
		text-align: center;
	}

	.tab li {
		width: 100%;
		margin: 0;
	}

	.tab li.active::before {
		content: '';
		position: absolute;
		display: block;
		width: 0;
		height: 0;
		left: 50%;
		transform: translateX(-50%);
		bottom: 0;
		border-top: 0 solid #c8ae8b;
		border-right: 0 solid transparent;
		border-left: 0 solid transparent;
	}
}

/*------------------------------------------------------------
faq_sec
--------------------------------------------------------------*/
.faq_sec dl {
	display: table;
	width: 100%;
}

.faq_sec dt,
.faq_sec dd {
	display: table-cell;
	vertical-align: text-bottom;
}

.faq_sec dt {
	width: 60px;
}

.faq_sec dt p {
	width: 49px;
	height: 49px;
	border-radius: 49px;
	line-height: 49px;
}

.faq_sec dd {
	padding-top: 5px
}

.faq_sec dd.ico {
	width: 153px;
}

/*------------------------------------------------------------
flow_arr
--------------------------------------------------------------*/
.flow_arr > li {
	padding-bottom: 40px;
	margin-bottom: 40px;
	background: url("images/shared/flow_arr.png") no-repeat center bottom;
}

.flow_arr > li:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	background: none;
}

/*------------------------------------------------------------
flow01_sec
--------------------------------------------------------------*/
.flow01_sec dl {
	display: table;
	width: 100%;
}

.flow01_sec dt,
.flow01_sec dd {
	display: table-cell;
	vertical-align: top;
}

.flow01_sec dt {
	width: 120px;
	padding-top: 2px;
}

.flow01_sec dt .font02 {
	width: 5em;
	height: 30px;
	line-height: 30px;
	position: relative;
}

.flow01_sec dt .font02::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 100%;
	margin-top: -15px;
	border: 15px solid transparent;
	border-left: 15px solid #ff9921;
}

.flow01_sec dd {}

.flow01_sec dd.ico {
	width: 153px;
}

/*------------------------------------------------------------
flow02_sec
--------------------------------------------------------------*/
.flow02_sec li {
	position: relative;
}

.flow02_sec li::after {
	position: absolute;
	content: url("images/ico_flow_arrow.png");
	top: 50%;
	right: 0;
	transform: translate(50%, -50%)
}

.flow02_sec li:last-child::after {
	content: none;
}

@media only screen and (max-width: 800px) {
	.flow02_sec li {
		margin-bottom: 50px;
	}

	.flow02_sec li::after {
		top: auto;
		right: auto;
		bottom: 0;
		left: 50%;
		transform: translate(-50%, 120%) rotate(90deg);
	}
}

/*------------------------------------------------------------
leaf_box
--------------------------------------------------------------*/
.leaf_box li {
	margin-bottom: 10px;
	line-height: 1.6;
	padding-left: 30px;
	position: relative;
}

.leaf_box li::before {
	position: absolute;
	content: url("images/ico_check.png");
	left: 0;
	top: 0.2em;
}

.leaf_box02 li {
	margin-bottom: 10px;
	line-height: 1.6;
	background: url("images/ico_check02.png") no-repeat left 0.7em;
	padding-left: 15px;
}

/*------------------------------------------------------------
list-modal
--------------------------------------------------------------*/
.list-modal li {
	cursor: pointer;
}

body.is-hidden {
	overflow: hidden;
}

.modal-contents {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 99999;
}

.modal-container {
	background: #fff;
	padding: 50px;
	width: 900px;
	position: relative;
}

.modal-layout {
	display: flex;
}

.modal-layout .l-img {
	width: 350px;
	margin-right: 80px;
}

.modal-layout .l-desc {
	flex: 1;
	margin: -7px 0 0;
}

.modal-layout .l-ttl {
	font-weight: bold;
	font-size: 25px;
	margin-bottom: 10px;
}

.modal-layout .l-txt {
	color: #6c757d;
	font-size: 13px;
	line-height: 1.7;
	margin-bottom: 30px;
}

.modal-layout .l-dl {
	display: flex;
	flex-wrap: wrap;
}

.modal-layout .l-dl dt {
	border-bottom: 1px dashed #ccc;
	font-weight: bold;
	padding: 5px 0;
	width: 25%;
}

.modal-layout .l-dl dd {
	border-bottom: 1px dashed #ccc;
	text-align: right;
	padding: 5px 0;
	width: 75%;
}

.modal-close {
	cursor: pointer;
	position: absolute;
	right: -70px;
	top: -70px;
	width: 50px;
	height: 50px;
	z-index: 10;
}

.modal-close::before,
.modal-close::after {
	background: #fff;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	top: 50%;
	left: 50%;
	transition: .5s;
}

.modal-close::before {
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	transform: translate(-50%, -50%) rotate(45deg);
}

.modal-close::after {
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	transform: translate(-50%, -50%) rotate(-45deg);
}

.modal-close:hover::before,
.modal-close:hover::after {
	background: rgba(255, 255, 255, 0.5);
}

.modal-overlay {
	display: none;
	cursor: pointer;
	background-color: #333;
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	opacity: .8;
	cursor: pointer;
	z-index: 200;
}

.modal-overlay.is-on {
	opacity: .8;
}

@media only screen and (max-width: 800px) {
	.modal-contents {
		display: none;
		position: fixed;
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}

	.modal-container {
		overflow: auto;
		padding: 25px 5% 100px;
		height: 100%;
		max-width: 100%;
		width: 100%;
	}

	.modal-layout {
		display: block;
	}

	.modal-layout .l-img {
		width: 100%;
		margin: 0 0 30px;
	}

	.modal-layout .l-desc {
		margin: 0;
	}

	.modal-layout .l-ttl {
		font-size: 20px;
	}

	.modal-layout .l-dl {
		display: flex;
		flex-wrap: wrap;
		font-size: 12px;
	}

	.modal-layout .l-dl dt {
		border-bottom: 1px dashed #ccc;
		font-weight: bold;
		width: 25%;
	}

	.modal-layout .l-dl dd {
		border-bottom: 1px dashed #ccc;
		width: 75%;
	}

	.modal-close {
		background: #333;
		border-radius: 50px;
		width: 35px;
		height: 35px;
		position: fixed;
		right: 10px;
		top: 10px;
	}

	.modal-close::before,
	.modal-close::after {
		width: 40%;
	}

	.modal-overlay {
		display: none;
	}
}
