@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rochester&family=Zen+Maru+Gothic:wght@700&display=swap');
/*------------------------------------------------------

	リセット

------------------------------------------------------*/

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;
}
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;
	border-top: 1px solid #cccccc;
	margin: 0;
	padding: 0;
}
input, select {
	vertical-align: middle;
}
img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: top;
	-webkit-backface-visibility: hidden;
}
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
*:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


/*------------------------------------------------------

	グローバル

------------------------------------------------------*/

body {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 500;
	color: #333333;
	font-size: 1em;
	line-height: 1.6;
	position: relative;
	min-width: 1030px;
}

/* 2024/02/21 フォント変更対応 STA */
/* .fo_shuei { font-family: dnp-shuei-mgothic-std, sans-serif;} */
.fo_shuei {
	font-family: "Zen Maru Gothic", serif;
	font-weight: 700;
	font-style: normal;
}
/* .fo_roche { font-family: rochester-pro, sans-serif;} */
.fo_roche {
	font-family: "Rochester", cursive;
	font-weight: 400;
	font-style: normal;
}
/* 2024/02/21 フォント変更対応 END */

p { margin-bottom: 25px;}
p:last-child { margin-bottom: 0px;}

a { color: #cd4d85;}
a:hover, a:active { color: #e085b1; text-decoration: none;}

/* 文字装飾 */
.fo06 { font-size: 0.6em !important;}
.fo07 { font-size: 0.7em !important;}
.fo075 { font-size: 0.75em !important;}
.fo08 { font-size: 0.8em !important;}
.fo085 { font-size: 0.85em !important;}
.fo09 { font-size: 0.9em !important;}
.fo11 { font-size: 1.1em !important;}
.fo12 { font-size: 1.2em !important;}
.fo125 { font-size: 1.25em !important;}
.fo13 { font-size: 1.3em !important;}
.fo14 { font-size: 1.4em !important;}
.fo15 { font-size: 1.5em !important;}
.fo16 { font-size: 1.6em !important;}
.fo17 { font-size: 1.7em !important;}
.fo19 { font-size: 1.9em !important;}
.fo21 { font-size: 2.1em !important;}
.fo25 { font-size: 2.5em !important;}

.lh12 { line-height: 1.2;}
.lh14 { line-height: 1.4;}
.lh18 { line-height: 1.8;}
.lh20 { line-height: 2;}

.fo_white { color: #FFFFFF;}
.fo_pink { color: #cd4d85;}
.fo_gray { color: #919191;}
.fo_blue { color: #2a4a6f;}
.fo_brown { color: #977a24;}

/* ボックス */
.container { max-width: 1030px; padding: 0px 15px; margin: 0px auto;}

.left { float: left;}
.right { float: right;}

.pos_rel { position: relative;}
.pos_ab { position: absolute;}

.bold { font-weight: bold;}

.ta_center { text-align: center;}
.ta_right { text-align: right;}
.ta_left { text-align: left;}
.ta_right-s_center { text-align: right;}
.ta_left-s_center { text-align: left;}
.ta_center-s_left { text-align: center;}

.back_white { background-color: #fff !important;}
.back_pink { background-color: #fea0a8 !important;}
.back_pink02 { background-color: #cd4d85 !important;}
.back_green { background-color: #66bab7 !important;}

.back_image { background: url("../images/common/bg01.jpg");}

@media (min-width: 861px) {
	.hidden_l { display: none !important;}
}

/* リスト */
ol { padding-left: 2em;}
ol li { list-style: outside decimal;}

.list_indent { padding-left: 1em;}
.list_indent li { text-indent: -1em;}

.list_disc { padding-left: 1em;}
.list_disc li { list-style: outside disc;}

/* margin */
.mb00 { margin-bottom: 0px !important;}
.mb05 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb50 { margin-bottom: 50px !important;}
.mb60 { margin-bottom: 60px !important;}
.mb80 { margin-bottom: 80px !important;}

.mb40-20 { margin-bottom: 40px !important;}
.mb60-30 { margin-bottom: 60px !important;}
.mb80-40 { margin-bottom: 80px !important;}
.mb100-60 { margin-bottom: 100px !important;}

/* clearFix */
.clearFix { zoom: 100%;}
.clearFix:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

/* ------------------------
	ヘッダー
------------------------ */

.header { display: flex; justify-content: space-between; align-items: center; height: 60px; box-shadow: 0px 2px 10px rgba(0,0,0,0.2); position: relative; z-index: 500;}
.header h1 { width: 222px; margin-left: 8px;}

.header .btn_area { display: flex;}
.header .btn_area li { width: 60px;}

.header .sns_area { display: flex;}
.header .sns_area li { width: 40px; margin-left: 10px;}
.header .sns_area li:nth-of-type(5) { margin-right: 10px;}

/* ------------------------
	グローバルナビ
------------------------ */

.gn { width: calc(100% - 342px); padding-right: 15px;}
.gn > li { display: inline-block; position: relative;}
.gn > li:not(:last-child):after { content: " / "; font-family: "Zen Maru Gothic", serif;}
.gn > li > a, .gn > li > span { font-family: "Zen Maru Gothic", serif; position: relative; text-decoration: none; color: #333; cursor: pointer;}
.gn > li > a:hover, .gn > li > span:hover { color: #cd4d85;}

.gn .dd div { position: absolute; left: 50%; transform: translateX(-50%); padding-top: 17px; display: none;}
.gn .dd div ul { position: relative; background: rgba(51,51,51,0.85); padding: 0px 5px; width: 195px; font-size: 0.85em; text-align: left;}
.gn li.dd:nth-child(6) div ul { width: 260px;}
.gn .dd div ul:before {
	content: "";
	position: absolute;
	top: -11px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 7px 11px 7px;
	border-color: transparent transparent #cd4d85 transparent;
}
.gn .dd div a { display: block; text-decoration: none; color: #fff; background: url("../images/common/nav_arrow01.png") no-repeat 13px 50%; padding: 10px 0px 10px 30px;}
.gn .dd div a:hover { color: #cbaf28;}
.gn .dd div li:not(:last-child) a { border-bottom: dashed 1px #fff;}


/* ------------------------
	フッター
------------------------ */

.footer .bg01 { background: #333333; padding: 20px 0px;}
.footer .bg01:before { content: ""; position: absolute; width: 100%; background: url("../images/common/footer_bg01.png") repeat-x left bottom; height: 9px; left: 0px; top: -9px; z-index: 100;}

.footer_nav { max-width: 1220px; margin: auto; display: flex; justify-content: space-between; padding: 0px 15px;}
.footer_nav a { color: #fff; text-decoration: none;}
.footer_nav a:hover { color: #cbaf28;}
.footer_nav > li { background: url("../images/common/nav_arrow01.png") no-repeat left 0.5em; padding-left: 15px;}
.footer_nav > li ul { margin-top: 5px;}
.footer_nav > li li { background: url("../images/common/nav_arrow02.png") no-repeat left 0.5em; padding-left: 10px; font-size: 0.8em; margin-bottom: 5px;}

.footer .bg02 { background: url("../images/common/footer_bg02.jpg") no-repeat center center; background-size: cover; padding: 40px 0px;}
.footer .bg02 h2 { width: 322px;}
.footer .bg02 .box { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap;}
.footer .bg02 .list01 li { display: inline-block; vertical-align: middle; margin-left: 12px;}

.pagetop {
	display: none;
	position: fixed;
	right: 10px;
	bottom: 0px;
	padding-bottom: 30px;
	z-index: 9999;
}

/*------------------------------------------------------

	トップページ

------------------------------------------------------*/

.viewer { margin: 0 auto; width: 100%; position: relative; overflow: hidden;}
.viewer ul { width: 100%; overflow: hidden; position: relative;}
.viewer ul li { top: 0; left: 0; width: 100%; position: absolute;}
.viewer ul li img { width: 100%;}

.top_bg { background: url("../images/top/top_sec01_bg.jpg") no-repeat center center; background-size: cover; }

.top_sec01 { background: linear-gradient(45deg, rgba(246,164,171,0.6) 0%,rgba(254,120,131,0.6) 100%); margin: -20px 0px; z-index: 500; padding: 20px 0px;}
.top_sec01 .box_inner { background: linear-gradient(45deg, rgba(246,164,171,0.6) 0%,rgba(254,120,131,0.6) 100%); padding: 30px 0px;}
.top_sec01 h2 { font-size: 2em;}
.top_sec01 hr { border: none; background: url("../images/top/top_sec01_line01.png") no-repeat center center; background-size: auto 100%; height: 49px;}
.top_sec01 .container:after { content: ""; position: absolute; background: url("../images/top/top_sec01_logo.png") no-repeat center bottom; background-size: 100% auto; width: 339px; height: 144px; bottom: -70px; right: -120px;}

.top_sec02 { padding: 70px 0px 60px;}

.top_sec03 { background: url("../images/top/top_sec02_bg01.png") no-repeat left 40px, url("../images/top/top_sec02_bg02.png") no-repeat right 40px, url("../images/common/bg01.jpg"); padding: 60px 0px;}

.top_sec03 ul { display: flex; justify-content: space-between;}
.top_sec03 li { width: 319px; border-top-left-radius: 320px; border-top-right-radius: 320px; background: #fff; padding: 135px 25px 30px;}
.top_sec03 li:before { content: ""; position: absolute; left: 50%; transform: translateX(-50%); background-repeat: no-repeat; background-position: center bottom; background-size: 100% auto;}
.top_sec03 li:nth-child(1):before { top: -73px; background-image: url("../images/top/top_sec02_icon01.png"); width: 143px; height: 196px;}
.top_sec03 li:nth-child(2):before { top: 15px; background-image: url("../images/top/top_sec02_icon02.png"); width: 245px; height: 100px;}
.top_sec03 li:nth-child(3):before { top: -65px; background-image: url("../images/top/top_sec02_icon03.png"); width: 138px; height: 183px;}
.top_sec03 h3 { font-size: 1.45em; margin: auto -10px;}

/* 2024/02/21 追加対応 STA */
.top_sec03 > div > h2:nth-of-type(2){font-size: 2.0em;align-items: center;display: flex;justify-content: center;}
.top_sec03 > div > h2:nth-of-type(2)::before,.top_sec03 > div > h2:nth-of-type(2)::after{background-color: black;border-radius: 10px;content: "";height: 3px;width: 35px;}
.top_sec03 > div > h2:nth-of-type(2)::before{margin-right: 10px;transform: rotate(60deg);}
.top_sec03 > div > h2:nth-of-type(2)::after{margin-left: 10px;transform: rotate(-60deg);}
.top_sec03 > div > div{display: flex;justify-content: space-between;width: 75%;margin-left: auto;margin-right: auto;margin-bottom: 20px;}
.top_sec03 > div > div > div:nth-of-type(2){width: 60%;}
.top_sec03 > div > div > div:nth-of-type(2) > h3{font-size: 1.5em;}
/* 2024/02/21 追加対応 END */

.top_sec04 { padding: 60px 0px;}
.top_sec04 ul { display: flex; justify-content: center; margin: auto -10px;}
.top_sec04 li { width: calc(33.3333% - 10px); margin: 0px 10px; background: #fff; padding: 10px; position: relative;}
.top_sec04 li:after { content: ""; position: absolute; width: 50px; height: 1px; background: #333333; transform: rotate(-45deg); left: -7px; top: 17px;}

.top_sec05 { padding: 120px 0px 60px;}
.top_sec05 .back_white { padding-bottom: 30px;}
.top_sec05 .back_white:before, .top_sec05 .back_white:after { content: ""; position: absolute; background-repeat: no-repeat; background-position: center top; background-size: auto 100%; top: 30px;}
.top_sec05 .back_white:before { background-image: url("../images/top/top_sec04_il01.png"); left: 15px; width: 154px; height: 206px;}
.top_sec05 .back_white:after { background-image: url("../images/top/top_sec04_il02.png"); right: 15px; width: 158px; height: 206px;}
.top_sec05 h2 img { margin-top: -65px;}
.top_sec05 .text01 { font-size: 1.45em; line-height: 1.8;}
.top_sec05 h3 { background: #333333; font-size: 1.45em; padding: 6px 5px 8px;}
.top_sec05 .img_box { display: flex; justify-content: space-between; flex-wrap: wrap; padding: 0px 60px;}
.top_sec05 .img_box li { margin-bottom: 30px;}

.top_bnr ul { display: flex; justify-content: space-between;}
.top_bnr .list01 li { width: 470px;}
.top_bnr .list02 li { width: 313px;}

.top_sec06 { padding-bottom: 1px;}
.top_sec06 .img01 img { margin-top: -25px;}
.top_sec06 h2 { font-size: 2.5em;}
.top_sec06 .btn_area { display: flex; justify-content: center; flex-wrap: wrap;}
.top_sec06 .btn_area li { margin: 0px 30px 15px; width: 440px;}
.top_sec06 .btn_area li:first-child a { background: #fca400;}
.top_sec06 .btn_area li:last-child a { background: #66bab7;}
.top_sec06 .tel a { display: inline-block; font-size: 1.95em; letter-spacing: 0.07em; line-height: 1; text-decoration: none; color: #333; position: relative;}
.top_sec06 .tel a:before { content: ""; display: inline-block; background: url("../images/common/ico_tel.png") no-repeat center center; background-size: 100% auto; width: 45px; height: 37px; margin: 0px 0.5em -5px 0px;}
.top_sec06 .text01 { letter-spacing: 0.07em;}
.top_sec06 .text02 { margin: auto -10px;}

.top_sec07 { background: repeating-linear-gradient( -45deg, #fff 0, #fff 15px, #f8f0f1 15px, #f8f0f1 30px, #e1edf1 30px, #e1edf1 45px); padding: 60px 0px;}
.top_sec07 ul { max-width: 720px; margin: auto;}
.top_sec07 li a { display: flex; align-items: center; text-decoration: none; color: #333;}
.top_sec07 li:not(:last-child) a { border-bottom: solid 1px #919191;}
.top_sec07 li figure { width: 200px; overflow: hidden;}
.top_sec07 li figure img { transition: 0.3s;}
.top_sec07 li a:hover figure img { transform: scale(1.1);}
.top_sec07 .box_inner { width: 520px; padding: 15px 70px 15px 30px;}
.top_sec07 .box_inner:after { content: ""; position: absolute; width: 20px; height: 20px; border-right: solid 4px #cd4d85; border-bottom: solid 4px #cd4d85; transform: rotate(-45deg) translateY(-50%); right: 25px; top: 50%; transition: 0.3s;}
.top_sec07 a:hover .box_inner:after { right: 20px;}
.top_sec07 dl { display: table; width: 100%; margin-bottom: 15px;}
.top_sec07 dl > * { display: table-cell; vertical-align: middle;}
.top_sec07 dt { width: 5.5em;}
.top_sec07 dt span { display: block; border: solid 2px #cd4d85; border-radius: 40px; text-align: center;}
.top_sec07 dd { font-size: 1.4em; line-height: 1.4; padding-left: 0.6em;}

.top_sec08 { padding: 100px 0px 80px;}
.top_sec08 .back_white { max-width: 760px; margin: auto; padding: 0px 15px 50px;}
.top_sec08 .back_white:before { content: ""; position: absolute; width: 80px; height: 80px; left: 0px; top: 0px; background: linear-gradient(135deg,#66bab7 0%,#66bab7 50%,#fff 50%,#fff 100%);}
.top_sec08 .text01 img { margin-top: -35px;}
.top_sec08 h2 { font-size: 2.5em; letter-spacing: 0.05em;}
.top_sec08 h2:after { content: ""; background: url("../images/top/top_sec07_il.png") no-repeat center bottom; width: 43px; height: 59px; margin: -20px 0px 0px 20px; position: absolute;}
.top_sec08 table { margin: auto;}
.top_sec08 table a { color: #333; text-decoration: none;}
.top_sec08 th, .top_sec08 td { padding: 13px 0px; vertical-align: middle;}
.top_sec08 th { font-size: 1.05em; width: 5em; padding-right: 1.5em; text-align: right;}
.top_sec08 td span.fo_shuei { font-size: 1.5em; line-height: 1.2; letter-spacing: 0.1em;}
.top_sec08 tr:nth-child(1) a, .top_sec08 tr:nth-child(2) a, .top_sec08 tr:nth-child(3) a { padding-left: 55px; display: inline-block; position: relative;}
.top_sec08 tr:nth-child(1) a:before, .top_sec08 tr:nth-child(2) a:before, .top_sec08 tr:nth-child(3) a:before { content: ""; position: absolute; left: 0px; top: 50%; transform: translateY(-50%); background-repeat: no-repeat; background-position: center center; background-size: 100% auto;}
.top_sec08 tr:nth-child(1) a:before { background-image: url("../images/common/ico_tel.png"); width: 41px; height: 33px;}
.top_sec08 tr:nth-child(2) a:before { background-image: url("../images/common/ico_sp.png"); width: 38px; height: 45px;}
.top_sec08 tr:nth-child(3) a:before { background-image: url("../images/common/ico_mail.png"); width: 38px; height: 29px;}

.top_sec08 .list01 li { display: inline-block; vertical-align: middle; margin-right: 12px;}

.top_sec08 h3 { font-size: 2.5em;}
.top_sec08 .list02 li { display: inline-block; vertical-align: middle; margin: 0px 15px;}


/*------------------------------------------------------

	下層ページ

------------------------------------------------------*/

/* 共通 */
.show_sp { display: none;}
.over_hidden { overflow: hidden;}

.underline { background: linear-gradient(transparent 60%, #ffe100 0%);}

.more_btn a { font-family: "Zen Maru Gothic", serif; display: inline-block; color: #fff; font-size: 1.4rem; line-height: 1.5; text-decoration: none; border-radius: 80px; background: #cd4d85; width: 100%; max-width: 560px; padding: 15px; transition: 0.3s; position: relative;}
.more_btn a:after { position: absolute; content: ""; background: url("../images/common/ico_arrow.png") no-repeat center center; background-size: 100% auto; width: 58px; height: 22px; right: 35px; top: 50%; transform: translateY(-50%);}
.more_btn a:hover { box-shadow: 0px 3px 7px rgba(0,0,0,0.5);}

.pagettl { background: #fea0a8; padding: 45px 0px; font-size: 2em; line-height: 1; overflow: hidden;}
.pagettl hr { background: url("../images/common/pagettl02.png") no-repeat center center; width: 394px; height: 5px; border: none; margin: 20px auto; position: relative; overflow: visible; background-size: 100% 100%; z-index: 100;}
.pagettl hr:before, .pagettl hr:after { content: ""; position: absolute; background: url("../images/common/pagettl01.png") no-repeat center center; background-size: 100% auto; width: 39px; height: 38px; top: 50%; transform: translateY(-50%); display: block;}
.pagettl hr:before { left: -34px;}
.pagettl hr:after { right: -34px; transform: translateY(-50%) rotate(180deg);}
.pagettl .container { position: relative;}

.heading_middle { font-size: 2em; line-height: 1.5;}

.heading_back span { background: linear-gradient(transparent 10%, #ffe100 0%); font-size: 2em; color: #2a4a6f; padding: 0px 0.3em;}


/* ------------------------
	price
------------------------ */

.pagettl.price { padding: 100px 0px;}
.pagettl.price h2 { font-size: 1.25em;}
.pagettl.price .container:after { content: ""; position: absolute; background: url("../images/price/pagettl_price.png") no-repeat center bottom; background-size: 100% auto; width: 200px; height: 301px; right: 0px; bottom: -100px;}

.price_wrap { padding: 50px 0px 20px; margin-top: -40px;}
.price_wrap section { max-width: 760px; margin: auto; padding: 40px 60px;}
.price_wrap section:before { content: ""; position: absolute; width: 100px; height: 100px; background: linear-gradient(-45deg,#fff 0%,#fff 50%,rgba(255,255,255,0) 50%,rgba(255,255,255,0) 100%), url("../images/common/bg01.jpg"); left: 0px; top: 0px;}

.price_sec01 h3 { position: relative; background: #fca400; padding: 8px; margin: auto 10px;}
.price_sec01 h3:before{
	content: "";
	width: 10px;
	height: 100%;
	left: -10px;
	top: 0;
	position: absolute;
	background: linear-gradient(to bottom left, #fca400 50%, transparent 50%) top left/ 100% 50% no-repeat, linear-gradient(to top left, #fca400 50%, transparent 50%) bottom left / 100% 50% no-repeat;
}
.price_sec01 h3:after{
	content: "";
	width: 10px;
	height: 100%;
	right: -10px;
	top: 0;
	position: absolute;
	background: linear-gradient(to bottom right, #fca400 50%, transparent 50%) top left/ 100% 50% no-repeat, linear-gradient(to top right, #fca400 50%, transparent 50%) bottom left / 100% 50% no-repeat;
}
.price_sec01 .list01 { display: flex; justify-content: space-between;}
.price_sec01 .list01 li { width: 48%; margin-bottom: 30px;}

.price_sec01 .list02 { display: flex; flex-wrap: wrap; margin: auto -7px;}
.price_sec01 .list02 li { width: calc(25% - 14px); height: 60px; display: flex; justify-content: center; align-items: center; border: solid 1px #fca400; color: #fca400; line-height: 1.3; margin: 0px 7px 15px; position: relative;}
.price_sec01 .list02 li:before { content: ""; position: absolute; width: 20px; height: 20px; background: #fff; border-bottom: solid 1px #fca400; transform: rotate(-45deg); left: -10px; top: -10px;}

.price_wrap .price_sec02 { padding-top: 0px;}
.price_sec02 h2 img { margin-top: -25px;}
.price_sec02 h3 { background: #977a24;}
.price_sec02 h3:before{ background: linear-gradient(to bottom left, #977a24 50%, transparent 50%) top left/ 100% 50% no-repeat, linear-gradient(to top left, #977a24 50%, transparent 50%) bottom left / 100% 50% no-repeat;}
.price_sec02 h3:after{ background: linear-gradient(to bottom right, #977a24 50%, transparent 50%) top left/ 100% 50% no-repeat, linear-gradient(to top right, #977a24 50%, transparent 50%) bottom left / 100% 50% no-repeat;}
.price_sec02 .list02 li { border: solid 1px #977a24; color: #977a24;}
.price_sec02 .list02 li:before { border-bottom: solid 1px #977a24;}

.price_sec02 .text03 { font-size: 2.5em; line-height: 1;}
.price_sec02 .text04 { font-size: 1.4em; line-height: 1.4;}


/* ------------------------
	suggest
------------------------ */

.sug_sec01 .box { max-width: 860px; margin: auto; background: #66bab7; padding: 30px 100px 30px 300px;}
.sug_sec01 .box:before { content: ""; position: absolute; width: 60px; height: 60px; background: linear-gradient(135deg,#fff 0%,#fff 50%, #66bab7 50%, #66bab7 100%); left: 0px; top: 0px;}
.sug_sec01 .box:after { content: ""; position: absolute; background: url("../images/suggest/sug_sec01_img02.png") no-repeat center bottom; background-size: 100% auto; width: 161px; height: 200px; right: -43px; bottom: -32px;}
.sug_sec01 .box .pos_ab { left: 70px; bottom: 0px;}
.sug_sec01 .text01 { display: inline-block; padding: 0px 20px; text-align: center;}
.sug_sec01 .text01:before, .sug_sec01 .text01:after { content: ""; position: absolute; top: 50%; width: 2px; height: 1.2em; background: #fff;}
.sug_sec01 .text01:before { left: 5px; transform: translateY(-50%) rotate(-40deg);}
.sug_sec01 .text01:after { right: 5px; transform: translateY(-50%) rotate(40deg);}
.sug_sec01 .name { font-size: 1.5em;}

.sug_sec02 { padding: 50px 0px;}
.sug_sec02 .box { padding: 40px;}
.sug_sec02 section { display: flex; justify-content: space-between;}
.sug_sec02 section:not(:last-child) { margin-bottom: 40px;}
.sug_sec02 .box_inner { width: 610px;}
.sug_sec02 h5 { font-size: 1.25em;}
.sug_sec02 .arrow { padding: 7px;}

.sug_sec03 { background: url("../images/suggest/sug_sec03_bg.png") no-repeat right center #fff; background-size: cover; padding: 40px 0px 70px;}
.sug_sec03 .box { display: flex; justify-content: center; align-items: center;}
.sug_sec03 .text01 { font-size: 1.45em; margin-left: 20px;}


/* ------------------------
	info
------------------------ */

.info_sec01 .box { display: flex; justify-content: space-between; flex-flow: row-reverse;}
.info_sec01 .map { width: 400px;}
.info_sec01 .map iframe { width: 100%; height: 400px; vertical-align: top;}
.info_sec01 h3 { font-size: 1.5em;}
.info_sec01 .text01 {
	display: inline-block;
	padding: 10px;
	background: #66bab7;
	position: relative;
}
.info_sec01 .text01:before{
	content: "";
	width: 12px;
	height: 100%;
	left: -12px;
	top: 0;
	position: absolute;
	background: linear-gradient(to bottom left, #66bab7 50%, transparent 50%) top left/ 100% 50% no-repeat, linear-gradient(to top left, #66bab7 50%, transparent 50%) bottom left / 100% 50% no-repeat;
}
.info_sec01 .text01:after{
	content: "";
	width: 12px;
	height: 100%;
	right: -12px;
	top: 0;
	position: absolute;
	background: linear-gradient(to bottom right, #66bab7 50%, transparent 50%) top left/ 100% 50% no-repeat, linear-gradient(to top right, #66bab7 50%, transparent 50%) bottom left / 100% 50% no-repeat;
}

.info_sec02 { padding: 50px 0px;}
.info_sec02 table { max-width: 680px; margin: auto;}
.info_sec02 tr { border-bottom: dashed 1px #f6a4ab;}
.info_sec02 th, .info_sec02 td { vertical-align: top; padding: 15px 0px;}
.info_sec02 th { width: 170px; text-align: left;}

.info_sec03 { padding: 50px 0px 20px;}
.info_sec03 .box { display: flex; justify-content: space-between;}
.info_sec03 .box_inner { width: 620px;}
.info_sec03 .name { font-size: 1.5em; line-height: 1.2;}


/* ------------------------
	faq
------------------------ */

.faq_sec01 { padding: 50px 0px; margin-top: -40px;}
.faq_sec01 .box { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: flex-start;}
.faq_sec01 section { width: 48%; margin-bottom: 40px; padding: 0px 20px 1px;}
.faq_sec01 section:before { content: ""; position: absolute; width: 50px; height: 50px; border-bottom: solid 1px #333333; transform: rotate(-45deg); left: -25px; top: -25px;}
.faq_sec01 dt { padding: 20px 35px 20px 80px; cursor: pointer; position: relative;}
.faq_sec01 dt:before, .faq_sec01 dt:after { content: ""; position: absolute; background-size: 100% auto !important;}
.faq_sec01 dt:before { background: url("../images/ico_q.png") no-repeat center center; width: 48px; height: 45px; left: 20px; top: 10px;}
.faq_sec01 dt:after { background: url("../images/ico_arrow.png") no-repeat center center; width: 30px; height: 30px; right: 0px; top: 17px;}
.faq_sec01 dd { background: #f1f1f1; padding: 15px; position: relative; margin-bottom: 19px; display: none;}
.faq_sec01 dd:before { content: ""; position: absolute; width: 20px; height: 20px; left: 0px; top: 0px; background: linear-gradient(-45deg,#f1f1f1 0%,#f1f1f1 50%,#fff 50%,#fff 100%);}


/* ------------------------
	join
------------------------ */

.pagettl.join .container:after { background-image: url("../images/pagettl_flow.png"); width: 313px; height: 287px; right: -100px;}

.join_sec01 { margin-top: -40px;}
.join_sec01 .flow_box h4 span { background: linear-gradient(transparent 60%, #ffe100 0%);}
.join_sec01 .more_btn a { max-width: 375px; font-size: 1.25em; padding: 10px 10px 13px;}
.join_sec01 .more_btn a:after { width: 45px; right: 25px;}

.join_sec02 { background: #cd4d85; padding: 60px 0px 50px;}
.join_sec02 h3 { color: #ffe100;}

.list_check { max-width: 800px; margin: auto;}
.list_check li { background: url("../images/ico_check01.png") no-repeat left 0.2em; padding-left: 40px; font-size: 1.2em; letter-spacing: 0.1em; margin-bottom: 10px;}

.join_sec03 .list_check li { background-image: url("../images/ico_check02.png");}


/* ------------------------
	online
------------------------ */

.pagettl.online .container:after { background-image: url("../images/online/pagettl_online.png"); width: 370px; height: 291px;}

.online_sec01 .box01 { display: flex; justify-content: space-between;}
.online_sec01 .box01 .box_inner { width: 500px;}

.online_sec01 h4 span { display: inline-block; background: url("../images/online/online_line.png") no-repeat center top, url("../images/online/online_line.png") no-repeat center bottom; width: 446px; font-size: 1.5em; padding: 20px;}
.online_sec01 h4 span:before { content: ""; position: absolute; background: url("../images/online/onnline_il.png") no-repeat center center; background-size: 100% auto; width: 102px; height: 122px; left: -110px; top: 50%; transform: translateY(-50%);}
.online_sec01 .box02 { flex-flow: row-reverse;}

.online_sec02 { padding: 50px 0px;}

.flow_box { max-width: 800px; margin: auto; display: flex; align-items: center; padding: 30px 60px; min-height: 180px;}
.flow_box:before { content: ""; position: absolute; width: 60px; height: 60px; background: linear-gradient(-45deg,#fff 0%,#fff 50%,rgba(255,255,255,0) 50%,rgba(255,255,255,0) 100%), url("../images/common/bg01.jpg"); left: 0px; top: 0px;}
.flow_box > figure { width: 90px;}
.flow_box .box_inner { width: calc(100% - 90px);}
.flow_box h4 { font-size: 1.5em; line-height: 1.4;}
.flow_arrow { padding: 7px;}


/* ------------------------
	contact
------------------------ */

.pagettl.contact .container:after { background-image: url("../images/contact/pagettl_contact.png"); width: 226px; height: 291px;}

.contact_sec02 { padding: 60px 0px;}
.contact_sec02 h3 { font-size: 1.5em;}
.contact_sec02 h3:before { content: ""; background: url("../images/contact/contact_icon01.png") no-repeat center center; background-size: 100% auto; width: 127px; height: 59px; display: inline-block; vertical-align: middle; margin-right: 30px;}

.contact_sec dl { display: table; width: 100%; max-width: 865px; margin: 0px auto 40px;}
.contact_sec dl > * { display: table-cell; vertical-align: top;}
.contact_sec dt { width: 235px; padding: 10px 45px 0px 0px; position: relative;}
.contact_sec .hissu, .contact_sec .ninni { display: inline-block; background: #cd4d85; color: #fff; font-size: 0.75em; padding: 2px 5px; line-height: 1.4; position: absolute; right: 0px; top: 12px;}
.contact_sec .ninni { background: #919191;}
.contact_sec dd { padding-left: 25px;}
.contact_sec .pt { padding-top: 10px;}
.contact_sec input[type="text"], .contact_sec input[type="email"], .contact_sec textarea, .contact_sec select {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 16px;
	border: none;
	padding: 10px;
	background-color: #fff;
	max-width: 100%;
}
.contact_sec input[type="text"], .contact_sec input[type="email"], .contact_sec textarea { width: 100%;}
.contact_sec .width_auto input { width: auto;}
.contact_sec input[type="radio"], .contact_sec input[type="checkbox"] { margin-top: -0.25em;}
.contact_sec label { margin-right: 2em; cursor: pointer; display: inline-block;}

.contact_sec .btn_area input {
	display: inline-block;
	font-family: "Zen Maru Gothic", serif;
	width: 500px;
	font-size: 1.45em;
	letter-spacing: 0.05em;
	color: #fff;
	text-decoration: none;
	text-align: center;
	background: url("../images/common/ico_arrow.png") no-repeat 92% 50% #977a24;
	border: none;
	border-radius: 60px;
	padding: 8px 15px 12px;
	outline: none;
	cursor: pointer;
	margin: 0px 10px 15px;
	-webkit-appearance: none;
	transition: 0.3s;
}
.contact_sec .btn_area input:hover { opacity: 0.7;}
.contact_sec .btn_area input[type="submit"]:focus { outline: 0;}

.contact_sec.single .btn_area input { background-color: #cd4d85;}

.mw_wp_form .error {
	background-color: #F7CCE6;
	border: #ee4d89 solid 1px;
	border-radius: 3px;
	color: #EE4D89;
	display: inline-block;
	vertical-align: middle;
	font-size: 75%;
	padding: 3px 5px 2px;
	margin-left: 5px;
}

.mw_wp_form_confirm .confirm_hidden { display: none;}
.contact_sec .mw_wp_form_confirm dt, .contact_sec .mw_wp_form_confirm .pt { padding-top: 0px;}
.contact_sec .mw_wp_form_confirm .hissu, .contact_sec .mw_wp_form_confirm .ninni { top: 0px;}

#privacy { max-width: 760px; margin: auto;}
#privacy h4 { display: inline-block; vertical-align: bottom; border-top-left-radius: 15px; border-top-right-radius: 15px; padding: 10px 20px; font-size: 1.2em; letter-spacing: 0.05em; line-height: 1.3;}
#privacy .box { border: solid 5px #fff; padding: 30px 40px; height: 200px; overflow-y: scroll;}

.contact_common { background: #66bab7; padding: 60px 0px;}
.contact_common .back_white { max-width: 760px; margin: auto; padding: 60px 170px;}
.contact_common .back_white:before { content: ""; position: absolute; width: 80px; height: 80px; left: 0px; top: 0px; background: linear-gradient(135deg,#66bab7 0%,#66bab7 50%,#fff 50%,#fff 100%);}
.contact_common h3 { font-size: 1.3em;}
.contact_common h3:before { content: ""; display: inline-block; background: url("../images/contact/contact_icon02.png") no-repeat center center; background-size: 100% auto; vertical-align: middle; width: 101px; height: 65px; margin-right: 30px;}
.contact_common img { vertical-align: middle;}
.contact_common a { color: #333; text-decoration: none; display: inline-block; vertical-align: middle; position: relative;}
.contact_common p:nth-child(1) a { font-size: 1.5em; line-height: 0.9; padding-left: 55px; letter-spacing: 0.05em;}
.contact_common p:nth-child(1) a:before { content: ""; position: absolute; top: 50%; transform: translateY(-50%); left: 0px; background: url("../images/common/ico_tel.png") no-repeat center center; background-size: 100% auto; width: 42px; height: 35px;}
.contact_common p:nth-child(1) span:before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	margin: -0.1em 0.3em 0px 0px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6.5px 0 6.5px 9px;
	border-color: transparent transparent transparent #333333;
}
.contact_common p:nth-child(2) a { font-size: 1.5em; line-height: 0.9; padding-left: 55px; letter-spacing: 0.05em;}
.contact_common p:nth-child(2) a:before { content: ""; position: absolute; top: 50%; transform: translateY(-50%); left: 0px; background: url("../images/common/ico_mail.png") no-repeat center center; background-size: 100% auto; width: 38px; height: 29px; margin-left: 2px;}
.contact_common p:nth-child(3) img { width: 133px; height: auto;}
.contact_common p:not(:last-child) { margin-bottom: 35px;}

.contact_sec02.thanks { margin-top: -40px;}


/* ------------------------
	reserve
------------------------ */

.pagettl.reserve .container:after { background-image: url("../images/contact/pagettl_res.png"); width: 447px; height: 294px; right: -180px;}

.contact_sec02.reserve { background: #d1eae9;}
.contact_sec02.reserve h3:before { background-image: url("../images/contact/res_icon.png"); width: 99px; height: 63px; margin-right: 20px;}

.contact_sec02.reserve.thanks h3:before { display: none !important;}


/* ------------------------
	marriage
------------------------ */

.pagettl.marriage .container:after { background-image: url("../images/pagettl_marriage.png"); width: 287px; height: 310px; right: -80px;}

.mar_wrap { padding: 60px 0px; margin-top: -40px;}
.mar_list { column-count: 3; column-gap: 20px;}
.mar_list li { -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; margin-bottom: 20px; padding: 10px 10px 0px;}
.mar_list li:after { content: ""; position: absolute; width: 50px; height: 1px; background: #333333; transform: rotate(-45deg); left: -7px; top: 17px;}
.mar_list li section { padding: 15px 0px;}
.mar_list li section:not(:last-child) { border-bottom: dashed 1px #999;}
.mar_list .man .fo_shuei { color: #45b3e7;}
.mar_list .woman .fo_shuei { color: #fe7883;}


/* ------------------------
	party
------------------------ */

.pagettl.party .container:after { background-image: url("../images/party/pagettl_party.png"); width: 469px; height: 302px; right: -175px;}

.party_wrap { padding: 60px 0px; margin-top: -40px;}

.party_list { display: flex; flex-wrap: wrap; margin: auto -10px;}
.party_list li { width: calc(33.3333% - 20px); margin: 0px 10px 20px;}
.party_list li a { display: block; text-decoration: none; color: #333; transition: 0.3s; padding: 10px 10px 15px;}
.party_list li:hover { box-shadow: 0px 2px 8px rgba(0,0,0,0.3);}
.party_list li a:after { content: ""; position: absolute; background: url("../images/party/ico_arrow.png") no-repeat center center; background-size: 100% auto; width: 30px; height: 30px; right: 0px; bottom: 0px;}
.party_list dl, .single_desc dl { display: table; width: 100%; margin-bottom: 15px;}
.party_list dl > *, .single_desc dl > * { display: table-cell; vertical-align: middle;}
.party_list dt, .single_desc dt { width: 5.5em;}
.party_list dt span, .single_desc dt span { display: block; border: solid 2px #cd4d85; border-radius: 40px; text-align: center;}
.party_list dd, .single_desc dd { padding-left: 0.6em;}
.party_list li div { margin: 0px 1em;}

.party_single h1 { font-size: 2em; border-bottom: dashed 1px #666; padding-bottom: 12px;}

.single_desc { display: flex; justify-content: space-between;}
.single_desc li { width: 48.5%; margin-bottom: 10px;}
.single_desc dd { font-size: 1.25em;}

/*.blog_content h2 { font-family: dnp-shuei-mgothic-std, sans-serif; font-size: 1.5em; line-height: 1.4; margin-bottom: 30px; display: inline-block; background: linear-gradient(transparent 60%, #ffe100 0%); padding: 0px 0.3em;}
*/
.blog_content h2 { font-family: "Zen Maru Gothic", serif; font-size: 1.25em; line-height: 1.4; color: #977a24; margin-bottom: 30px; position: relative; padding-left: 28px;}
.blog_content h2:before { content: ""; position: absolute; background: url("../images/party/ico_star.png") no-repeat center center; background-size: 100% auto; width: 24px; height: 24px; left: 0px; top: 0.1em;}
.blog_content h3 { font-family: "Zen Maru Gothic", serif; font-size: 1.25em; margin-bottom: 25px;}
.blog_content h4, .blog_content h5, .blog_content h6 { font-weight: bold; font-size: 1.1em; margin-bottom: 25px;}

.contact_sec02.single h3:before { background-image: url("../images/party/ico_flag.png"); width: 58px; height: 81px;  margin-right: 15px;}
.contact_sec.single .text01 { max-width: 850px; margin: auto;}

.pagination .number {
	margin-right: 15px;
	display: inline-block;
	vertical-align: middle;
}
.pagination span.current, .pagination a {
	min-width: 40px;
	height: 40px;
	border-radius: 100%;
	border: solid 2px #977a24;
	padding: 0px 10px;
	margin: 0px 8px 5px;
	display: inline-block;
	vertical-align: middle;
	line-height: 41px;
	font-size: 1.9em;
	color: #977a24;
	text-align: center;
	text-decoration: none;
}
.pagination span.current, .pagination a:hover {
	background-color: #977a24;
	color: #FFFFFF;
}
.pagination a.text { border: none; background: none !important; color: #977a24 !important; min-width: 20px; padding: 0px;}


.pager ul { display: flex; justify-content: center; align-items: center;}
.pager li a { text-decoration: none; color: #977a24; display: inline-block; vertical-align: middle; position: relative; transition: 0.3s;}
.pager .return a { border: solid 2px #977a24; border-radius: 50px; width: 170px; padding: 6px; margin: 0px 3em;}
.pager .return a:hover { background: #977a24; color: #fff;}
.pager .previous a { padding-left: 25px;}
.pager .next a { padding-right: 25px;}
.pager .previous a:before, .pager .next a:after { content: ""; position: absolute; top: 50%; transform: translateY(-50%); background: url("../images/party/ico_prev.png") no-repeat center center; background-size: 100% auto; width: 12px; height: 21px; transition: 0.3s;}
.pager .previous a:hover:before, .pager .next a:hover:after { background-image: url("../images/party/ico_prev_o.png");}
.pager .previous a:before { left: 0px;}
.pager .next a:after { right: 0px; transform: translateY(-50%) scale(-1,1);}

