@charset "utf-8";
/*
****************************************
----------------------------------------
------- common


.btn_size01 : ボタンのサイズを決定。
-> 何もつけない場合横幅100%になる。
----------------------------------------
****************************************
*/
html {
	font-size: 50%;
}

html p,
html li,
html a {
    font-size: 1.7rem;
}

.sp_none {
	display: none;
}

.inner,
.inner_sp {
	width: 100%;
	padding: 0 15px;
	position: relative;
}

.full_inner {
	margin-left: 15px;
	margin-right: 15px;
}

.sp_mt00 {margin-top: 0 !important; }
.sp_mb00 {margin-bottom: 0 !important; }
.sp_mt30 {margin-top: 30px !important;}
.sp_pt00 {padding-top: 0 !important; }
.sp_pb00 {padding-bottom: 0 !important; }

.mbs {margin-bottom: 10px !important; }
.mbm {margin-bottom: 20px !important; }
.mbl {margin-bottom: 30px !important; }
.mts {margin-top: 10px !important; }
.mtm {margin-top: 20px !important; }
.mtl {margin-top: 30px !important; }
.ptm {padding-top: 20px !important; }

.under_wrapper {
	margin-bottom: 50px;
}


main {
	position: relative;
	z-index: 10;
	/*margin-bottom: 50px;*/
}

main img {
	border-radius: 4px;
}

#menu {
	display: none;
}

main .bg_block {
	padding: 30px 0;
	margin-top: 30px;
}

main .bg_block+.bg_block {
	margin-top: 0;
}

main .bg_block+.inner,
main .bg_block+.inner_sp {
	margin-top: 30px;
}

main .full+.full,
main .inner_sp +.full,
main .inner+.full,
main .full+.inner,
main .inner+.inner,
main .inner_sp + .inner_sp,
main .inner+.inner_sp,
main .inner_sp+.inner {
	margin-top: 30px;
}

main .parallax_title .h2box .inner {
	padding: 10px 15px;
}

main .flexbg_color01 {
	background: none;
}

/*
****************************************
----------------------------------------
------- title common
----------------------------------------
****************************************
*/
main h2.subtitle span,
main h3.subtitle span,
main h4.subtitle span,
main h5.subtitle span {
	display: block;
	font-size: 70%;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
h2
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
h2 {
	position: relative;
	margin-bottom: 25px;
	font-size: 2.2rem;
	line-height: 1.4;
}

.has_bread h2,
.has_bread .parallax_title {
	margin-bottom: 0;
}

.has_bread.solidpage .breadcrumbs {
	margin-bottom: -10px;
}

.title_set01 .h2box {
	text-align: center;
}

.title_set01 .h2box h2 {
	position: relative;
	padding:0.25em 1.5em;
	display: inline-block;
	top:0;
	font-weight: bold;
}

.title_set01 .h2box h2:before {
	content: '';
	position: absolute;
	display: block;
	width: 25px;
	height: 5px;
	bottom: -8px;
	left: 50%;
	background: url(../images/h2bg.png);
	background-size: cover;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	border: none;
}

/*.title_set01 .h2box h2:before,
.title_set01 .h2box h2:after {
	position: absolute;
	top: 0;
	content:'';
	width: 8px;
	height: 100%;
	display: inline-block;
}

.title_set01 .h2box h2:before {
	left: 0;
}

.title_set01 .h2box h2:after {
	right: 0;
}*/

/*++++++++++++++++++++++++++++++++++++++
parallax_title
++++++++++++++++++++++++++++++++++++++++
*/

.title_set01 .parallax_title {
	position: relative;
	min-height: 200px;
	margin-bottom: 30px;
}

.title_set01 .parallax_title .h2box {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}

.title_set01 .parallax_title .h2box {
	text-align: left;
}

.title_set01 .parallax_title .h2box .inner {
	padding: 5px 15px;
}

.title_set01 .parallax_title .h2box h2 {
	font-size: 2.8rem;
	margin-bottom: 0;
	padding: .2em 0;
	background: transparent;
}

.title_set01 .parallax_title .h2box .inner p {
	margin-top: 0;
}

.title_set01 .parallax_title .h2box h2:before,
.title_set01 .parallax_title .h2box h2:after,
.title_set02 .parallax_title .h2box h2:before,
.title_set02 .parallax_title .h2box h2:after,
.title_set03 .parallax_title .h2box h2:before,
.title_set03 .parallax_title .h2box h2:after {
	display: none;
}


/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
h3
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
h3 {
	position: relative;
	margin-bottom: 20px;
	font-size: 2.2rem;
	line-height: 1.4;
}

.title_set01 h3 {
	padding: 10px 0;
}
.title_set01 h3:before,
.title_set01 h3:after {
	position: absolute;
	bottom: -4px;
	left: 0;
	content: '';
	height: 3px;
}
.title_set01 h3:before {
	z-index: 2;
	width: 7%;
}
.title_set01 h3:after {
	width: 100%;
}

.title_set01 .personal h3 {
	margin-bottom: 0;
	padding: 0 0 0 .8em;
}

.title_set01 .personal h3:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	width: 2px;
	height: 72%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.title_set01 .personal h3:after {
	display: none;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
h4
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
h4 {
	position: relative;
	margin-bottom: 20px;
	font-size: 2rem;
	line-height: 1.4;
}

.title_set01 h4 {
	padding-bottom: 0.4em;
}


/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
h5
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
h5 {
	position: relative;
	margin-bottom: 14px;
	font-size: 1.8rem;
	line-height: 1.4;
}

.title_set01 h5 {
	padding: 0 0 0 .8em;
}

.title_set01 h5:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	width: 2px;
	height: 70%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
h6
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/

h6 {
	margin-bottom: 10px;
	font-size: 1.6rem;
	font-weight: bold;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
title_deco01
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/

p.title_deco01 {
	position: relative;
	padding: 0 0 0 .8em;
}

p.title_deco01:before {
	content: '';
	position: absolute;
	top: 12px;
	left: 0;
	display: block;
	width: 2px;
	height: 70%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
title_deco02
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/

p.title_deco02 {
	position: relative;
	padding-bottom: 0.4em;
}


/*
****************************************
----------------------------------------
------- table
----------------------------------------
****************************************
*/
th, td {
	padding: 10px 10px;
	vertical-align: middle;
}

table ul ,
table ol {
	margin-top: 0;
}

.tdc td,
.thc th {
	text-align: center;
}

th:first-of-type {
	width: 30%;
}

#top th:first-of-type {
	width: 26%;
}

.th33 th:first-of-type  {
	width: 33.333333%;
}

.th33 td {
	width: 33.333333%;
}

.th50 th,
.th50 td {
	width: 50%;
}
/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.table_underline
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.table_underline thead th {
	padding: 0 5px 10px;
}

.table_underline tbody:first-child tr:first-of-type th,
.table_underline tbody:first-child tr:first-of-type td {
	padding: 0 10px 10px;
}
/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.table_flat
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.table_flat {
	border-collapse: separate;
	border-spacing: 0px 5px;
}

.table_flat th {
	background: #f8a0b5;
	vertical-align: middle;
	text-align: left;
	width: 100px;
	overflow: visible;
	position: relative;
	color: #fff;
	font-weight: normal;
	font-size: 15px;
	padding: 10px 0;
}

.table_flat th span {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	padding: 0 10px;
}

.table_flat th span:after {
	left: 100%;
	top: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	border-color: rgba(136, 183, 213, 0);
	border-left-color: #f8a0b5;
	border-width: 10px;
	margin-top: -10px;
}

.table_flat td {
	background: #fff;
	padding-left: 20px;
}

.eigyou01 thead th:nth-of-type(2),
.eigyou01 thead th:nth-of-type(3),
.eigyou01 thead th:nth-of-type(4),
.eigyou01 thead th:nth-of-type(5),
.eigyou01 thead th:nth-of-type(6),
.eigyou01 thead th:nth-of-type(7) {width: 9.2%;}
.eigyou01 thead th:nth-of-type(8) {width: 14.8%;}

.eigyou01 th,
.eigyou01 td {
    font-size: 1rem;
	padding: 10px 5px;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
main
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/

main h3, main h4, main h5 {
	margin-top: 40px;
}

main h6 {
	margin-top: 30px;
}

main div[class*="col0"],
main p:not(.box), main ul,
main ol, main table,
main .ratio_box,
main .rowbox, main .textbox{
	margin-top: 1em;
}

main .gmap {
	margin-top: 1.5em;
}

main div table:first-child,
main div p:first-child,
main div h2:first-child,
main div h3:first-child,
main div h4:first-child,
main div h5:first-child,
main div h6:first-child,
main h2+h3, main h3+h4, main h4+h5, main h5+h6,
main .post-meta+h3 {
	margin-top: 0;
}


/*++++++++++++++++++++++++++++++++++++++
img
++++++++++++++++++++++++++++++++++++++++
*/

main p img {
	width: 70%;
	margin: 0 auto;
}

main p.sp_img100 img {
	width: 100%;
}

/*++++++++++++++++++++++++++++++++++++++
list
++++++++++++++++++++++++++++++++++++++++
*/

main li+li {
	margin-top: 5px;
}

main ol {
	counter-reset: number;
}

main ol li {
	text-indent: -2em;
	padding-left: 2em;
}

main ol li:before {
	counter-increment: number;
	content: counter(number)".";
	display: inline-block;
	width: 2em;
	text-indent: 0;
	font-weight: bold;
	text-align: left;
}

main ul li {
	position: relative;
	padding-left: 1em;
}

main ul li:before {
	content: '';
	position: absolute;
	top: 10px;
	left: 0;
	display: block;
	width: 4px;
	height: 4px;
	border-radius: 50%;
}

/*++++++++++++++++++++++++++++++++++++++
flow_box
++++++++++++++++++++++++++++++++++++++++
*/

.flow_next {
	position: relative;
	margin-top: 70px;
}

.flow_next:before {
	content: '';
	position: absolute;
	top: -50px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 20px 0 20px;
	border-color: #f8a0b5 transparent transparent transparent;
	background: none !important;
}

/*
****************************************
----------------------------------------
------- header
----------------------------------------
****************************************
*/
header {
	height: 52px;
	display: none;
}

#nav_box {
	position: relative;
	z-index: 11;
}

#nav_box h1 img {
	border-radius: 0;
}

#nav_box.js_head_fix {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	overflow: visible;
	z-index: 9999;
}

#nav_box h1 {
	position: relative;
	width: 84px;
	padding: 5px 0;
	z-index: 11;
}

.head_top {
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	z-index: 1000;
}

h1 {
	max-width: 280px;
	width: 90%;
	position: relative;
	z-index: 100;
	padding: 11px 0;
}

.head_top .header_img {
	display: none;
}

/*++++++++++++++++++++++++++++++++++++++
ハンバーガーメニュー
++++++++++++++++++++++++++++++++++++++++
*/
.head_top .slicknav_menu {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	z-index: 10;
}

.head_top .slicknav_btn {
	margin: 0;
	padding: 18px 15px;
}

.head_top .slicknav_menu .slicknav_icon,
.head_top .slicknav_menu .slicknav_icon:before {
	width: 18px;
	height: inherit;
}

.head_top .slicknav_menu .slicknav_icon-bar {
	width: 18px;
}

.head_top .slicknav_btn .slicknav_icon-bar+.slicknav_icon-bar {
	margin-top: 5px;
}

.head_top .slicknav_nav {
	max-height: 300px;
}

.head_top .mCSB_inside>.mCSB_container {
	margin-right: 0;
}

.head_top .mCSB_draggerContainer {
	display: none;
}

.head_top .slicknav_nav a,
.head_top .slicknav_nav .slicknav_row {
	margin: 2px 15px;
}

.head_top .slicknav_nav .slicknav_arrow {
	display: none;
}

.head_top .slicknav_nav ul {
	margin: 0 15px;
}

.head_top .slicknav_item a {
	position: relative;
	display: inline-block;
	padding-right: 18px;
	text-decoration: none;
	border: none;
	margin: 0;
}

.head_top .slicknav_item a:before {
	content: '';
	position: absolute;
	top: 3px;
	right: -16px;
	width: 8px;
	height: 8px;
	border-bottom: 2px solid;
	border-left: 2px solid;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
	border-color: #f8a0b5;
}

/*
****************************************
----------------------------------------
------- col / box
----------------------------------------
****************************************
*/
.box {
	position: relative;
}

.hasbg > .box {
	padding: 15px;
}

.hasbg .box.nobg {
	padding: 0;
	background: none;
}

.col01, .col02, .col03,
.col04, .col05 {
	overflow: hidden;
}

.box:nth-child(n+2) {
	margin-top: 20px;
}

.sp_near .box:nth-child(n+2) {
	margin-top: 10px;
}

div[class*="col0"]+div[class*="col0"] {
	margin-top: 30px;
}

.sp_col02, .sp_col03 {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
}

.sp_col02 > .box {
	width: 48%;
	margin-left: 4%;
	margin-top: 0;
}

.sp_col02 > .box *,
.sp_col03 > .box * {
	font-size: 1.6rem;
}

.sp_col03 > .box {
	width: 32%;
	margin-left: 2%;
	margin-top: 0;
}

.sp_col02 > .box:nth-child(2n+1),
.sp_col03 > .box:nth-child(3n+1) {
	margin-left: 0;
}

.sp_col02 >.box:nth-child(n+3),
.sp_col03 > .box:nth-child(n+4) {
	margin-top: 20px;
}

.sp_col02 > li {
	width: 48%;
	margin-left: 4%;
}
.sp_col03 > li {
	width: 32%;
	margin-left: 2%;
}

.sp_col02 > li:nth-child(2n+1),
.sp_col03 > li:nth-child(3n+1) {
	margin-left: 0;
}

.sp_col02 > li,
.sp_col03 > li {
	float: left;
}

.sp_col02 >li:nth-child(-n+2),
.sp_col03 > li:nth-child(-n+3) {
	margin-top: 0;
}

.sp_col02 >li:nth-child(n+3),
.sp_col03 > li:nth-child(n+4) {
	margin-top: 10px;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
s_fit
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.s_fit .box:nth-child(n+2) {
	margin-top: 0;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
s_col_border
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.s_col_border > .box {
	border-top: 1px solid #fff;
}

/*
****************************************
----------------------------------------
------- 特殊ブロックcommon
----------------------------------------
****************************************
*/
.inner .news_box,
.inner .imglink_box,
.inner .cardlist_box,
.inner .banner_box {
	margin-top: 0;
}

.news_box img,
.imglink_box img,
.cardlist_box img,
.banner_box img {
	width: 100%;
}
/*
****************************************
----------------------------------------
------- imglink_box
----------------------------------------
****************************************
*/
.imglink_box a:before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}

.imglink_box_in {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
    -ms-flex-direction: column;
	-webkit-box-direction: column;
	-webkit-flex-direction: column;
    flex-direction:  column;
    height: 100%;
    position: relative;
    z-index: 11;
}
.imglink_box_ttl {
	display: block;
	font-size: 1.8rem;
	text-align: center;
	margin-bottom: 5px;
	padding: 0 10px;
}

.imglink_box_ttl:after {
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	background: #fff;
	margin-bottom: 5px;
}

.imglink_box_txt {
	display: block !important;
	height: auto !important;
	font-size: 1.6rem;
	width: 90%;
	margin: 0 auto;
}

.imglink_box .box {
	height: 200px;
	min-height: 200px;
	background: url(https://placeholdit.imgix.net/~text?txtsize=33&txt=400%C3%97400&w=600&h=300) center center no-repeat;
	background-size: cover;
	padding: 20px 10px;
}

.imglink_box .box:nth-of-type(1) {
	background: url(../images/top_img01.jpg) center center no-repeat;
	background-size: cover;
}

.imglink_box .box:nth-of-type(2) {
	background: url(../images/top_img02.jpg) center center no-repeat;
	background-size: cover;
}

.imglink_box .box:nth-of-type(3) {
	background: url(../images/top_img03.jpg) center center no-repeat;
	background-size: cover;
}

.imglink_box .box:nth-of-type(4) {
	background: url(../images/top_img04.jpg) center center no-repeat;
	background-size: cover;
}

.imglink_box .box:nth-of-type(5) {
	background: url(../images/top_img05.jpg) center center no-repeat;
	background-size: cover;
}

.imglink_box .box:nth-of-type(6) {
	background: url(../images/top_img06.jpg) center center no-repeat;
	background-size: cover;
}

/*
****************************************
----------------------------------------
------- news_box
----------------------------------------
****************************************
*/
.news_box h3,
.news_box h4,
.news_box h5 {
	margin-bottom: 20px;
}

.news_box ul {
	margin-bottom: 20px;
}

.news_box li {
	padding: 10px 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.news_box li+li {
	margin-top: 0;
}

.news_box li:before {
	display: none;
}


.news_box li span {
	display: block;
}

.news_box .linkbox {
	margin-top: 20px;
}

/*
****************************************
----------------------------------------
------- icon_box
----------------------------------------
****************************************
*/

.icon_box img {
	width: 80px;
	height: 80px;
	margin: 0 auto;
}

/*
****************************************
----------------------------------------
------- flex
----------------------------------------
****************************************
*/
.flex .contentbox {
	margin-top: 1em;
}

.flex+.flex {
	margin-top: 20px;
}a

/*
****************************************
----------------------------------------
------- cardlist_box
----------------------------------------
****************************************
*/

.cardlist_box .imgbox {
	position: relative;
	text-align: center;
	margin-bottom: 0;
}

.cardlist_box .imgbox img ,
.cardlist_box .imgbox span {
	display: block;
	margin: 0 auto;
}

.cardlist_box .imgbox img {
	border-radius: 0;
}

.cardlist_box .imgbox span {
	padding: 0 10px;
}

.cardlist_box .under_content:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.cardlist_box .on_content {
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 100%;
	margin-top: 0;
}

.cardlist_box .on_content img {
	width: 50px;
}

.cardlist_box li:last-of-type {
	border-bottom: none;
}

.cardlist_box ol,
.cardlist_box ul {
	margin-top: 0;
}

.cardlist_box ol li:before {
	display: none;
}

.cardlist_box ul li {
	padding-left: 0;
}

.cardlist_box li+li {
	margin-top: 0;
}

.cardlist_box ul li:before {
	top: 20px;
	left: 0.6em;
}

.cardlist_box ul li a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 10px 10px 10px 1.4em;
}

.cardlist_box ol li {
	text-indent: 0;
	padding-left: 0;
}

.cardlist_box ol li a {
	text-indent: -2em;
	padding: 10px 10px 10px 2.7em;
	display: block;
}

.cardlist_box ol li a:before {
	counter-increment: number;
	content: counter(number)".";
	display: inline-block;
	width: 2em;
	text-indent: 0;
	text-align: left;
	font-weight: bold;
}


/*
****************************************
----------------------------------------
------- gmap
----------------------------------------
****************************************
*/
.gmap {
position: relative;
height: 300px;
overflow: hidden;
}

.gmap+.inner_sp,
.gmap+.full,
.gmap+.inner {
	margin-top: 40px;
}

.gmap iframe,
.gmap object,
.gmap embed {
width: 100%;
height: 100%;
}

#top .gmap:first-of-type {
	margin-top: 0;
}

/*
****************************************
----------------------------------------
------- linkbox
----------------------------------------
****************************************
*/
.linkbox span,
.linkbox a {
	display: block;
	width: 100%;
	height: 100%;
	text-align: center;
}

.sp_col02.linkbox .box:nth-child(2) {
	margin-top: 0;
}

.linkbox .box:nth-child(n+2) {
	margin-top: 10px;
}

.linkbox.btn_size01_sponly span,
.linkbox.btn_size01_sponly a,
.linkbox.btn_size01 span,
.linkbox.btn_size01 a {
	max-width: 300px;
	width: 66%;
	margin: 0 auto;
}

.linkbox.btn01 span,
.linkbox.btn01 a {
	position: relative;
	padding: 8px 2em 8px 2em;
}

.linkbox.btn01 span:before,
.linkbox.btn01 span:after,
.linkbox.btn01 a:before,
.linkbox.btn01 a:after {
	content: '';
	position: absolute;
	top: 17px;
	width: 6px;
	height: 6px;
	border-right: 2px solid;
	border-top: 2px solid;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.linkbox.btn01 span:before,
.linkbox.btn01 a:before {
	left: 6px;
}

.linkbox.btn01 span:after,
.linkbox.btn01 a:after {
	left: 12px;
}

.linkbox.btn02 span,
.linkbox.btn02 a {
	display: block;
	padding: 0.5em 1em;
	text-decoration: none;
	border-bottom-style: solid;
	border-bottom-width: 4px;
	border-radius: 3px;
}

.linkbox.btn03 span,
.linkbox.btn03 a {
	position: relative;
	padding: 0.6em 1.2em;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	border-radius: 4px;
}

.linkbox.btn03 span:before,
.linkbox.btn03 a:before {
	position: absolute;
	top: 14px;
	right: 10px;
	content: '';
	width: 0;
	height: 0;
	border-width: 4px 0 4px 6px;
	border-style: solid;
}

.linkbox.btn04 {
	padding: 2px 0;
}

.linkbox.btn04 span,
.linkbox.btn04 a {
	position: relative;
	padding: 6px 1.2em;
	border: solid 1px;
}

.linkbox.btn04 span:before,
.linkbox.btn04 a:before {
	content: '';
	position: absolute;
	top: 15px;
	right: 10px;
	width: 6px;
	height: 6px;
	border-right: 1px solid;
	border-top: 1px solid;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*
****************************************
----------------------------------------
------- top_button
----------------------------------------
****************************************
*/

#top_button {
	position: fixed;
	right: 10px;
	bottom: 50px;
	z-index: 10000;
}

#top_button a {
	position: relative;
	display: block;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

#top_button a:before,
#top_button a:after {
	content: '';
	position: absolute;
	top: 11px;
	width: 5px;
	height: 16px;
	display: block;
	border-radius: 10px;
	background: #fff;
}

#top_button a:before {
	left: 13px;
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
}

#top_button a:after {
	right: 13px;
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
}

/*
****************************************
----------------------------------------
------- footer
----------------------------------------
****************************************
*/
footer {
	padding: 20px 0;
	text-align: center;
	padding-bottom: 85px;
}

/*
****************************************
----------------------------------------
------- meritbox
----------------------------------------
****************************************
*/

.meritbox .box {
	border: 1px solid;
}

.meritbox .box p {
	border-bottom: 1px solid;
	text-align: center;
	padding: 10px 0;
}

.meritbox .box ul {
	margin: 10px;
}


/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
common
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/

#mv_box{
	margin-top: 52px;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#under
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

#under {
	margin-top: 52px;
}

#under .catch {
    font-size: 2rem;
    color: #ed5b7e;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
news_box
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/

.news_box + .linkbox {
	margin-top: 20px;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
before_footer
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/

.before_footer {
	margin-top: 30px;
	padding: 30px 0;
}

.before_footer #fbnr_box {
	padding-bottom: 1px;
}

.before_footer #fbnr_box .box a{
	width: 150px;
}

.before_footer .col02 {
	margin-top: 0;
}

.before_footer ul {
	margin-top: 0;
}

.before_footer img {
	width: 100%;
}

.before_footer p a {
	display: block;
	width: 110px;
	margin: 0 auto;
}

.before_footer p a img {
	border-radius: 0;
}

.before_footer li a {
	padding: 10px 0;
	display: block;
	text-decoration: none;
}

.before_footer li:first-of-type {
	border-top: 1px solid #aeaeae;
}

.before_footer li {
	border-top: 1px solid #fff;
	margin-top: 0;
}

.before_footer li:last-of-type {
	border-bottom: 1px solid #fff;
}

.before_footer .list_title {
	font-size: 3rem;
	margin-bottom: 10px;
}

.before_footer li {
	padding-left: 1.5em;
}

.before_footer li:before {
	border-top: 2px solid;
	border-right: 2px solid;
	border-color: #f8a0b5;
	background-color: transparent;
	border-radius: 0;
	width: 8px;
	height: 8px;
	top: 18px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}

.before_footer nav li .sub-menu {
	background: transparent;
}

.before_footer nav li .sub-menu li:last-of-type {
	border-bottom: 0;
}

.before_footer nav li .sub-menu li:before {
	border: 0;
	background-color: #f8a0b5;
	height: 2px;
	top: 20px;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
facebook
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/

.fb {
	overflow: hidden;
	text-align: center;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
bnr_link
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/

.parallax_bg .col02 {
	margin-top: 0;
}

.bnr_link {
	text-decoration: none;
	display: block;
}

.bnr_link img {
	width: 100%;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
bnr_link
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.archive .news_box li {
	padding: 10px 0;
	overflow: hidden;
	text-overflow: inherit;
	white-space: normal;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
fixed_side
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/

#fixed_side {
	overflow: hidden;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 10000;
	height: 40px;
	-webkit-box-shadow: 0px 0px 8px 0px rgba(84,84,84,0.4);
	-moz-box-shadow: 0px 0px 8px 0px rgba(84,84,84,0.4);
	box-shadow: 0px 0px 8px 0px rgba(84,84,84,0.4);
}

#fixed_side .contact {
	float: left;
	width: 18.75%;
}

#fixed_side .contact img {
	max-width: 26px;
	margin: 0 auto;
	padding: 11px 0;
}

#fixed_side .tel {
	float: left;
	width: 81.25%;
}

#fixed_side .tel img {
	max-width: 200px;
	margin: 0 auto;
	padding: 9px 0;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ページャー
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/

main .wp-pagenavi {
	margin-top: 15px;
	clear: both;
	text-align:center;
}

main .wp-pagenavi a,
main .wp-pagenavi span {
	padding: 8px 15px;
	border: none;
	margin: 0 2px;
	white-space: nowrap;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	vertical-align: middle;
	margin-top: 5px;
	font-size: 15px;
	font-size: 1.5rem;
}

main .wp-pagenavi span.current,
main .wp-pagenavi span.extend,
main .wp-pagenavi span.pages
{
	font-weight: normal;
	line-height: 1.7;
}

main .wp-pagenavi span.pages {
	padding-left: 0;
}

main .wp-pagenavi .last,
main .wp-pagenavi .first {
	padding: 7px 15px 9px;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
パンくず
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.breadcrumbs {
	margin-top: 10px;
	margin-bottom: 20px;
}

.breadcrumbs+.post-meta {
	margin-top: 0;
}

.breadcrumbs a {
	text-decoration: underline;
}

.breadcrumbs span {
	font-size: 12px;
	font-size: 1.2rem;
}

.breadcrumbs > span {
	padding-right: 20px;
	display: inline-block;
	position: relative;
}

.breadcrumbs > span:before {
	right: 2px;
	top: 50%;
	margin-top: 0px;
	margin-right: 7px;
	width: 6px;
	height: 6px;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	position: absolute;
	content: '';
	border-width: 1px 1px 0 0;
	border-style: solid;
}

.breadcrumbs > span:last-of-type {
	padding-right: 0;
}

.breadcrumbs > span:last-of-type:before {
	display: none;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
contactForm
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.contactRead {
	letter-spacing: 0;
}

div#contactForm {
	border-style: solid;
	border-width: 1px 0 0 0;
	border-color:#ccc;
	margin: 20px 0;
	padding: 30px 0 0;
}
div#contactForm dl {
	overflow: hidden;
}
div#contactForm dt {
	clear: both;
	padding: 5px 10px 5px 15px;
	position: relative;
	vertical-align: middle;
}

div#contactForm dd {
	padding: 5px 0 5px 0;
	margin-bottom: 10px;
}

div#contactForm .wpcf7c-conf {
	background-color: #fff !important;
	border: none;
	resize: none;
	padding: 0;
}
div#contactForm input,
div#contactForm textarea {
	-webkit-appearance: none;
	padding: 5px;
	width: 100%;
	font-size: 16px;
	border: 1px solid #a9a9a9;
}

div#contactForm dt:before {
	position: absolute;
	top: 5px;
	left: 0;
	width: 4px;
	height: 60%;
	content: "";
}

div#contactForm input[type="submit"],
div#contactForm input[type="button"] {
	margin-left: auto;
	margin-right: auto;
	display: block;
	height: 50px;
	font-size: 2rem;
	letter-spacing: 5px;
	padding: 5px 0 5px 5px;
}

div#contactForm input[type="submit"] {
	width: 50%;
	margin-right: 0;
	border: none;
}

#contactForm input[type="submit"].wpcf7c-btn-confirm {
	margin: 0 auto;
}

div#contactForm input[type="button"] {
	width:45%;
}

div#contactForm .formbtn {
	position:relative;
	margin-top: 20px;
}
div#contactForm input[type="button"] {
	position:absolute;
	top:0;
	left:0;
}

div#contactForm span.must {
	font-size: 1.2rem;
	vertical-align: middle;
	padding-left: 7px;
}

div#contactForm div.wpcf7-response-output {
	margin: 0 0 1em;
}

div#contactForm .ajax-loader {
	display: none;
}

#under .form_thanks .button {
	width: 80%;
	max-width: 300px;
	margin: 50px auto 60px;
}

#under .h2box.thanks_title {
	padding: 22px 10px 20px;
}

#under .h2box.thanks_title .breadcrumbs {
	margin-top: 5px;
}

#under .h2box.thanks_title h2 {
	font-size: 1.9rem;
	letter-spacing: 2px;
	padding: 0 0 0 0.4em;
}

#under .h2box.thanks_title h2:before {
	display: none;
}

#under div.wpcf7-mail-sent-ok {
	visibility: hidden;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
404
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/

#under.page404 .button {
	width: 80%;
	max-width: 300px;
	margin: 50px auto 60px;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sitemap
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.sitemap .under_wrapper li a {
	text-decoration: none;
}

.sitemap .under_wrapper nav li .sub-menu {
	margin-top: 0;
	background: transparent;
}

.sitemap .under_wrapper nav li .sub-menu li:before {
	height: 1px;
	top: 0.9em;
}


.sitemap .under_wrapper nav li .sub-menu li {
	margin-top: 0;
}

.sitemap .under_wrapper nav li .sub-menu li a {
	padding-bottom: 0;
	display: inline-block;
}

.sitemap nav li.menu-parent-item:before {
	background: #777;
}

.sitemap nav li.menu-parent-item > a:hover {
	opacity: 1;
}


/*arrow*/

.arrow {
	position: relative;
	padding-left: 1em;
}

.arrow:before {
	content: '';
	position: absolute;
	top: 8px;
	left: 0;
	width: 5px;
	height: 5px;
	border-right: 1px solid;
	border-top: 1px solid;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*
****************************************
----------------------------------------
------- youtube
----------------------------------------
****************************************
*/
.youtube {
	position:relative;
	width:100%;
	padding-top:56.25%;
}
.youtube iframe{
	position:absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
}

/*****************************
------------------------------
#top
------------------------------
*****************************/

#top > div:last-of-type {
	/*margin-bottom: 30px;*/
}

/*****************************
------------------------------
iwasaki-rikon
------------------------------
*****************************/
#iwasaki-rikon .bg_img_block02:before {
	display: none;
}

#iwasaki-rikon .before_footer h2 {
	margin-bottom: 20px;
}

#iwasaki-rikon #top .catch strong {
	font-size: 2rem;
	color: #ed5b7e;
}

#iwasaki-rikon .slicknav_menu {
	border-bottom: 1px solid #f8a0b5;
}

#iwasaki-rikon .head_top .slicknav_nav {
	border-bottom: none;
}