@charset "utf-8";
/*
****************************************
----------------------------------------
------- common
----------------------------------------
****************************************
*/
a:not([href]):hover {
	opacity: 1;
}
.pointer_none {
	pointer-events: none !important;
}
body {
	min-width: 1280px;
	overflow-x: auto;
}
body#tinymce {
	min-width: auto;
}
.sp_only {
	display: none !important;
}

.header02 {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	background: #fff;
	transition: 0.5s;
	display: flex;
}

.inner {
	padding: 0 40px;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
}

.mini_inner {
	max-width: 1000px;
	margin: 0 auto;
}

.mbs {
	margin-bottom: 10px !important;
}
.mbm {
	margin-bottom: 30px !important;
}
.mbl {
	margin-bottom: 60px !important;
}
.mbl01 {
	margin-bottom: 90px !important;
}
.mts {
	margin-top: 10px !important;
}
.mtm {
	margin-top: 30px !important;
}
.mtl {
	margin-top: 60px !important;
}
.mtl01 {
	margin-top: 90px !important;
}

.pbs {
	padding-bottom: 10px !important;
}
.pbm {
	padding-bottom: 30px !important;
}
.pbl {
	padding-bottom: 60px !important;
}
.pbl01 {
	padding-bottom: 90px !important;
}
.pts {
	padding-top: 10px !important;
}
.ptm {
	padding-top: 30px !important;
}
.ptl {
	padding-top: 60px !important;
}
.ptl01 {
	padding-top: 90px !important;
}

.mt01_pc {
	margin-top: calc(10px + var(--important-gutter-half)) !important;
}
.mt02_pc {
	margin-top: calc(20px + var(--important-gutter-half)) !important;
}
.mt03_pc {
	margin-top: calc(30px + var(--important-gutter-half)) !important;
}
.mt04_pc {
	margin-top: calc(40px + var(--important-gutter-half)) !important;
}
.mt05_pc {
	margin-top: calc(50px + var(--important-gutter-half)) !important;
}
.mt06_pc {
	margin-top: calc(60px + var(--important-gutter-half)) !important;
}
.mt07_pc {
	margin-top: calc(70px + var(--important-gutter-half)) !important;
}
.mt08_pc {
	margin-top: calc(80px + var(--important-gutter-half)) !important;
}
.mt09_pc {
	margin-top: calc(90px + var(--important-gutter-half)) !important;
}
.mt10_pc {
	margin-top: calc(100px + var(--important-gutter-half)) !important;
}
.mt11_pc {
	margin-top: calc(110px + var(--important-gutter-half)) !important;
}
.mt12_pc {
	margin-top: calc(120px + var(--important-gutter-half)) !important;
}
.mt13_pc {
	margin-top: calc(130px + var(--important-gutter-half)) !important;
}
.mt14_pc {
	margin-top: calc(140px + var(--important-gutter-half)) !important;
}
.mt15_pc {
	margin-top: calc(150px + var(--important-gutter-half)) !important;
}

.mb01_pc {
	margin-bottom: calc(10px + var(--important-gutter-half)) !important;
}
.mb02_pc {
	margin-bottom: calc(20px + var(--important-gutter-half)) !important;
}
.mb03_pc {
	margin-bottom: calc(30px + var(--important-gutter-half)) !important;
}
.mb04_pc {
	margin-bottom: calc(40px + var(--important-gutter-half)) !important;
}
.mb05_pc {
	margin-bottom: calc(50px + var(--important-gutter-half)) !important;
}
.mb06_pc {
	margin-bottom: calc(60px + var(--important-gutter-half)) !important;
}
.mb07_pc {
	margin-bottom: calc(70px + var(--important-gutter-half)) !important;
}
.mb08_pc {
	margin-bottom: calc(80px + var(--important-gutter-half)) !important;
}
.mb09_pc {
	margin-bottom: calc(90px + var(--important-gutter-half)) !important;
}
.mb10_pc {
	margin-bottom: calc(100px + var(--important-gutter-half)) !important;
}
.mb11_pc {
	margin-bottom: calc(110px + var(--important-gutter-half)) !important;
}
.mb12_pc {
	margin-bottom: calc(120px + var(--important-gutter-half)) !important;
}
.mb13_pc {
	margin-bottom: calc(130px + var(--important-gutter-half)) !important;
}
.mb14_pc {
	margin-bottom: calc(140px + var(--important-gutter-half)) !important;
}
.mb15_pc {
	margin-bottom: calc(150px + var(--important-gutter-half)) !important;
}

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

.bg_block {
	padding: 90px 0;
	margin: 90px 0;
}

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

.just_height {
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

.tac_pc {
	text-align: center !important;
}

/*****************************
------------------------------
singlepage
------------------------------
*****************************/

.singlepage .alignright {
	float: right;
	max-width: 400px !important;
}
.singlepage .alignleft {
	float: left;
	max-width: 400px !important;
}

/*****************************
------------------------------
list
------------------------------
*****************************/
:is(.list_col02,.list_col03,.list_col04,.list_col05) {
	display: grid;

}

.list_col02 {
	gap: 0 40px;
	grid-template-columns: repeat(2,minmax(0,1fr));
}

.list_col03 {
	gap: 0 24px;
	grid-template-columns: repeat(3,minmax(0,1fr));
}

.list_col04 {
	gap: 0 18px;
	grid-template-columns: repeat(4,minmax(0,1fr));
}

.list_col05 {
	gap: 0 12px;
	grid-template-columns: repeat(5,minmax(0,1fr));
}

.list_line {
	display: block;
	text-align: left;
}

.list_line li {
	display: inline-block;
	margin-right: 1em;
	margin-top: 0;
	margin-bottom: 5px;
}

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

/*****************************
------------------------------
under
------------------------------
*****************************/
/*リストを横並びにする*/

#under {
	margin-bottom: 160px;
}

#under h2 {
	margin-top: 50px;
}

#under .meritbox {
	display: flex;
}

#under .meritbox > div {
	width: 48%;
}

#under .meritbox > div:nth-of-type(2n) {
	margin-left: 4%;
}

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

.flow_next:before {
	content: "";
	position: absolute;
	top: -60px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-width: 24px 30px 0 30px;
	background: none !important;
}

#under .alignright {
	max-width: 400px;
	float: right;
	margin-left: 20px;
}

#under .alignleft {
	max-width: 400px;
	float: left;
	margin-right: 20px;
}

/*****************************
------------------------------
qp
------------------------------
*****************************/
.basic_layout .qa_box + .catch_copy {
	margin-top: 60px;
}

.qa_box + .qa_box {
	margin-top: 40px;
	padding-top: 40px;
}

/*****************************
------------------------------
list
------------------------------
*****************************/
.basic_layout .checklist li,
.checklist li {
	padding-left: 26px;
}

/*
****************************************
----------------------------------------
------- title common
----------------------------------------
****************************************
*/
.has_parallax h3 {
	margin-bottom: 50px;
}
.has_parallax h4 {
	margin-bottom: 45px;
}
.has_parallax h5 {
	margin-bottom: 26px;
}
.has_parallax h6 {
	margin-bottom: 17px;
}

.no_parallax h3 {
	margin-bottom: 50px;
}
.no_parallax h4 {
	margin-bottom: 45px;
}
.no_parallax h5 {
	margin-bottom: 30px;
}
.no_parallax h6 {
	margin-bottom: 17px;
}

:root .no_parallax h2 + h3,
:root .no_parallax h3 + h4,
:root .no_parallax h4 + h5 {
	margin-top: 0;
}

/*++++++++++++++++++++++++++++++++++++++
parallax_title
++++++++++++++++++++++++++++++++++++++++
*/
.parallax_title {
	position: relative;
	min-height: 400px;
	margin-bottom: 40px;
}

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

.parallax_title .h2box .inner {
	padding: 20px;
}

.parallax_title .h2box h2 {
	margin-bottom: 0;
	padding: 0;
	background: transparent;
}

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

/*
****************************************
----------------------------------------
------- table
----------------------------------------
****************************************
*/

.table_flat {
	margin-top: -5px !important;
}

.eigyou01 td,
.eigyou01 th {
}

.table_mini td,
.table_mini th {
	font-size: 1.1rem;
}

/*++++++++++++++++++++++++++++++++++++++
rowbox
++++++++++++++++++++++++++++++++++++++++
*/
.rowbox {
	overflow: hidden;
	margin-bottom: -10px;
}

.rowbox .imgbox {
	float: right;
	width: 33.4%;
	margin-left: 3%;
	margin-bottom: 10px;
	position: relative;
	z-index: 11;
	max-width: 400px;
}

.rowbox .textbox {
	z-index: 10;
	position: relative;
	margin-bottom: 10px;
}

.rowbox.left .imgbox {
	float: left;
	margin-left: 0;
	margin-right: 3%;
}

.rowbox.not_around .textbox {
	float: left;
	width: 63%;
}

.rowbox.left.not_around .imgbox + .textbox {
	float: right;
	width: 63%;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
col
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/
.col02,
.col03,
.col04,
.m_col {
	display: flex;
	gap: 30px;
	--gap-col: 30px;
	--gap-row: 30px;
	--col: 2;
	flex-wrap: wrap;
	gap: var(--gap-row) var(--gap-col);
}
.m_col_mbl {
	--gap-row: 60px;
}

.m_col_center {
	justify-content: center;
}

.m_col_item {
	width: calc(100% / var(--col) - var(--gap-col) * (var(--col) - 1) / var(--col));
}

:is(.col02, .m_col02) {
	--col: 2;
}

:is(.col03, .m_col03) {
	--col: 3;
}

:is(.col04, .m_col04) {
	--col: 4;
}

:is(.col05, .m_col05) {
	--col: 5;
}

.m_col_reverse {
	flex-direction: row-reverse
}
.m_col_mbl .catch_copy {
	margin-top: 15px;
	font-size: 2.1rem;
}

.m_col_mbl .catch_copy + p {
	margin-top: 10px;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
u_ba
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.u_ba {
    --gap-col: 60px;
    --gap-row: 30px;
}

.u_ba .m_col_item {
	position: relative;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
header01
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.header01 .header_info {
	padding: 10px 0;
}

.header01 .has_child > .sub_menu_block {
	display: block;
	position: absolute;
	width: 230px;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1000;
	background: var(--main-color);
	opacity: 0;
	height: 0;
	pointer-events: none;
	transition: height 0s linear, opacity 0.5s linear;
}

.header01 .list_parent {
	display: flex;
	justify-content: center;
}

.header01 .nav_li {
	width: 16.6666%;
	text-align: center;
	position: relative;
	display: flex;
	align-items: center;
}
.header01 .nav_li > .nav_li_ttl,
.header01 .nav_li > a {
	padding: 20px 15px;
	width: 100%;
	display: flex;
	align-items: center;
	height: 100%;
	justify-content: center;
	line-height: 1.4;
	flex-direction: column;
	position: relative;
}

/*一番上のリストの下矢印*/
.header01 .has_child > .nav_li_ttl:after,
.header01 .has_child > a:after {
	content: "";
	position: absolute;
	bottom: 9px;
	left: 50%;
	width: 8px;
	height: 8px;
	transform: translateX(-50%) rotate(45deg);
	border-bottom: 2px solid var(--main-color);
	border-right: 2px solid var(--main-color);
	z-index: 11;
}

.header01 .has_child:hover > .nav_li_ttl:after,
.header01 .has_child:hover > a:after {
	display: none;
}

.header01 .nav_li:last-of-type:after,
.header01 .nav_li:before {
	content: "";
	width: 1px;
	height: 15px;
	background: var(--main-color);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.header01 .nav_li:before {
	left: 0;
}

.header01 .nav_li:last-of-type:after {
	right: 0;
}

.header01 a {
	text-decoration: none;
}

.header01 .has_child:hover > .sub_menu_block {
	pointer-events: auto;
	height: auto;
	opacity: 1;
}

.header01
	.has_child
	> .sub_menu_block
	> .sub_menu
	> .nav_li_child
	> .nav_li_ttl,
.header01 .has_child > .sub_menu_block > .sub_menu > .nav_li_child > a {
	padding: 5px 10px;
	display: block;
	background: var(--main-color);
	color: #fff;
}

.header01
	.has_child
	> .sub_menu_block
	> .sub_menu
	> .nav_li_child
	+ .nav_li_child {
	border-top: 1px solid #dca479;
}

.header01 .has_child > .sub_menu_block > .sub_menu > .nav_li_child:hover > a {
	background: #dca479;
	color: #fff;
}

.header01 .has_child > .sub_menu_block > .sub_menu > .nav_li_child a:hover {
	opacity: 1;
}

.header01
	.has_child
	> .sub_menu_block
	> .sub_menu
	> .nav_li_child:first-of-type
	> a {
	position: relative;
}

/*丸い吹き出し*/
.header01.balloon_round .has_child:hover > .sub_menu_block {
	background: #fff;
	border-radius: 10px;
	top: 92%;
}

.header01.balloon_round
	.has_child
	> .sub_menu_block
	> .sub_menu
	> .nav_li_child:first-of-type
	> a {
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
}

.header01.balloon_round
	.has_child
	> .sub_menu_block
	> .sub_menu
	> .nav_li_child:last-of-type
	> a {
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
}

/*吹き出しの三角部分*/
.header01
	.nav_li.has_child
	> .sub_menu_block
	> .sub_menu
	> .nav_li_child:first-of-type:before {
	content: "";
	display: block;
	position: absolute;
	top: -11px;
	left: 50%;
	width: 10px;
	height: 10px;
	border-style: solid;
	border-width: 0 11px 11px 11px;
	
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 100;
	border-color: transparent transparent var(--main-color) transparent;
	background: transparent;
	transition: 0.7s;
}

/*吹き出しの三角部分*/
.header01
	.nav_li.has_child
	> .sub_menu_block
	> .sub_menu
	> .nav_li_child:first-of-type:hover:before {
	border-color: transparent transparent #dca479 transparent;
}

/*吹き出しの三角部分*/
.header01
	.nav_li.has_child
	> .sub_menu_block
	> .sub_menu
	> .nav_li_child:first-of-type:after {
	display: block;
	position: absolute;
	top: -11px;
	left: 50%;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 11px 11px 11px;
	
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	border-color: transparent transparent var(--main-color) transparent;
	z-index: 99;
	background: transparent;
}

.header01 .has_grand .sub_menu_block {
	border-top: 1px solid var(--main-color);
}

.header01 .has_grand .sub_menu_block a {
	width: 100%;
	display: block;
	padding: 5px 15px;
	font-size: 1.4rem;
	background: #f8ffef;
}

.header01 .has_grand .nav_li_child + .nav_li_child {
	border-top: 1px solid var(--main-color);
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
header02
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.header02 .info_forth {
	border-top: 1px solid #fff;
	display: block;
}

.header02 .header_info_first {
	background: #99958d;
}

.header02 .header_info_second {
	background: #b3b0aa;
}

.header02 .header_info_big {
	background: #3990ad;
}
.header02 .info_forth {
	background: #207c9a;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
header03
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
fixed_side
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
#fixed_side {
	overflow: hidden;
	position: fixed;
	top: 43%;
	transform: translateY(-50%);
	right: 0;
	width: 84px;
	z-index: 100;
}
#fixed_side a {
	display: block;
}
#fixed_side p {
	background: #fff;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_sidebg
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.mod_side_bg:before {
	background-position: right -390px center;
	background-size: cover;
}

.side_bg_box {
	width: 68%;
	padding: 40px;
	background: rgba(255, 255, 255, 0.7);
}
/*
****************************************
----------------------------------------
------- 特殊ブロックcommon
----------------------------------------
****************************************
*/

/*
****************************************
----------------------------------------
------- imgbg_block
----------------------------------------
****************************************
*/

.imgbg:before {
	background-repeat: no-repeat;
}

.imgbg_wrap {
	padding: 30px;
	display: flex;
	align-items: center;
}

.imgbg_block {
	overflow: hidden;
}
.imgbg_left .imgbg_box {
	float: right;
}
.imgbg_right .imgbg_box {
	float: left;
}

/*
****************************************
----------------------------------------
------- img_bg_block 
----------------------------------------
****************************************
*/

.img_bg_block .inner {
	/* overflow: hidden; */
}

.img_bg_block.img_bg_greeting:before {
	background-position: center top;
}

/*****************************
------------------------------
vertical_img_block
------------------------------
*****************************/
.vertical_img_block {
	display: flex;
	background: #fbf3ec;
}

.vertical_img_box {
	flex: 1 1 0%;
}

.vertical_img_box:nth-of-type(2n) {
	flex-direction: column-reverse;
	display: flex;
	justify-content: space-between;
}

.vertical_icon {
	text-align: center;
}

.vertical_icon img {
	width: 80px;
	display: inline-block;
}

.vertical_detail {
	padding: 60px 30px;
}

.vertical_img {
	position: relative;
	min-height: 0%;
	overflow: hidden;
}

.vertical_img span {
	position: absolute;
	right: -4px;
	bottom: 0;
	color: #fff;
	font-weight: bold;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: inline-block;
	padding: 10px 0;
	line-height: 1;
	font-size: 4.8rem;
	letter-spacing: 5px;
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
	transform: rotate(180deg);
}

.ie.vertical_img span {
	top: 0px;
	bottom: auto;
}

.vertical_img img {
	width: 100%;
}

.vertical_ttl {
	text-align: center;
	color: var(--main-color);
}

.vertical_yoko .vertical_img span {
	position: absolute;
	right: -4px;
	bottom: -14px;
	color: #fff;
	font-weight: bold;
	-ms-writing-mode: lr-tb;
	writing-mode: horizontal-tb;
	display: inline-block;
	padding: 10px 0;
	line-height: 1;
	font-size: 4.8rem;
	letter-spacing: 5px;
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
	transform: rotate(0deg);
}

@media screen and (max-width: 1300px) and (min-width: 1041px) {
	.vertical_yoko .vertical_img span {
		font-size: 3vw;
	}
}

/*****************************
------------------------------
mod_frostglass
------------------------------
*****************************/

.mod_frostglass {
	padding: 40px;
}

/*
****************************************
----------------------------------------
------- m_imglink
----------------------------------------
****************************************
*/
.m_imglink .m_imglink_inner {
	min-height: 230px;
}
.m_imglink_col02 .m_imglink_item {
	width: 50%;
}
.m_imglink_col02 .m_imglink_item:nth-last-child(-n + 2) {
	border-bottom: 0;
}

.m_imglink_col03 .m_imglink_item {
	width: 33.333333%;
}
.m_imglink_col03 .m_imglink_item:nth-last-child(-n + 3) {
	border-bottom: 0;
}
.m_imglink_col04 .m_imglink_item {
	width: 25%;
}
.m_imglink_col04 .m_imglink_item:nth-last-child(-n + 4) {
	border-bottom: 0;
}
.m_imglink .box:hover:after {
	transform: scale(1.2);
	opacity: 0.8;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_big_icon
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.mod_big_icon .big_icon_wrap {
	flex-wrap: wrap;
	display: flex;
	justify-content: space-between;
	padding-right: 1%;
	padding-left: 1%;
	max-width: 1200px;
	margin: 0 auto;
}

.mod_big_icon .big_icon_col02 .big_icon_box {
	width: 49%;
}

.mod_big_icon .big_icon_col02 .big_icon_box:nth-of-type(n + 3) {
	margin-top: 2%;
}

.mod_big_icon .big_icon_wrap .big_icon_img {
	width: 140px;
	padding: 10px 20px;
}

.mod_big_icon .big_icon_col03 .big_icon_box:nth-of-type(3) {
	margin-top: 0;
}

.mod_big_icon .big_icon_col03 .big_icon_box:nth-of-type(n + 4) {
	margin-top: 2%;
}

.mod_big_icon .big_icon_col03 .big_icon_box {
	width: 32%;
}

.mod_big_icon .big_icon_col03.big_icon_wrap .big_icon_img {
	width: 29%;
	padding: 13px;
}

.mod_big_icon .big_icon_col03.big_icon_wrap .big_icon_img img {
	max-width: 80px;
	width: 100%;
}

.mod_big_icon .big_icon_col03.big_icon_wrap .big_icon_txt {
	font-size: 2.1rem;
	text-align: center;
	line-height: 1.5;
}

/*
****************************************
----------------------------------------
------- m_polaroid
----------------------------------------
****************************************
*/
.m_polaroid_ttl {
	display: flex;
	justify-content: center;
	align-items: center;
}

/*****************************
------------------------------
mod_bnr
------------------------------
*****************************/
.mod_bnr {
	overflow: hidden;
	margin-top: 50px;
	margin-bottom: 50px;
}

#toppage + .mod_bnr {
	/*padding: 50px 0 0px;*/
}

.bnr_col04,
.bnr_col03,
.bnr_col02 {
	overflow: hidden;
}

.mod_bnr_box {
	text-align: center;
}

.bnr_col02 .mod_bnr_box {
	width: 49%;
}

.bnr_col03 .mod_bnr_box {
	width: 32%;
}

.bnr_col02 .inner,
.bnr_col03 .inner,
.bnr_col04 .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.bnr_col04 .mod_bnr_box {
	width: 23.5%;
	max-width: 230px;
}

.mod_bnr_box img {
	width: 100%;
	vertical-align: bottom;
}

/*
****************************************
----------------------------------------
------- mod_color_box
----------------------------------------
****************************************
*/

.mod_color_box .color_box_item a:hover img,
.mod_color_box .color_box_item a:hover {
	opacity: 1;
}

.mod_color_box .color_box_item {
	transition: 0.5s;
}

.mod_color_box .color_box_item:hover {
	opacity: 0.5;
}

/*
****************************************
----------------------------------------
------- feature_circle_block
----------------------------------------
****************************************
*/

.feature_circle_block .btn {
	position: absolute;
	bottom: 20px;
	left: 50%;
	
	transform: translateX(-50%);
}

.feature_circle_img {
	margin-bottom: 15px;
}

.feature_circle_num {
	margin-bottom: 15px;
}

.feature_circle_block {
	display: flex;
	justify-content: center;
}

.feature_circle_box {
	width: 30%;
}

.circle_col03 .feature_circle_box {
	width: 30%;
}

.circle_col04 .feature_circle_box {
	width: 22%;
}

.feature_circle_box:not(:last-of-type) {
	margin-right: 5%;
}

.circle_col04 .feature_circle_box:not(:last-of-type) {
	margin-right: 4%;
}

.feature_circle_box:not(:last-of-type) {
	margin-right: 5%;
}

.feature_circle_ttl {
	margin-top: 0;
	text-align: center;
}

.feature_circle_txt {
	margin-bottom: 100px;
}

.feature_circle_block.no_btn .feature_circle_txt {
	margin-bottom: 0;
}

.feature_circle_box .btn {
	position: absolute;
	bottom: 0;
	left: 50%;
	
	transform: translateX(-50%);
	max-width: 200px;
	width: 100%;
}

/*
****************************************
----------------------------------------
------- banner_box
----------------------------------------
****************************************
*/
.banner_box {
	width: 80%;
	margin: 0 auto;
}

.banner_box.full {
	margin: 0 auto;
}

/*
****************************************
----------------------------------------
------- mod_side_bg
----------------------------------------
****************************************
*/

.mod_side_bg {
	position: relative;
	background: #faf2e5;
}

.mod_side_bg .inner {
	z-index: 11;
	position: relative;
}

.mod_side_bg:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	z-index: 10;
}

/*
****************************************
----------------------------------------
------- gmap
----------------------------------------
****************************************
*/
.gmap {
	height: 400px;
	overflow: hidden;
}

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

.gmap_size01 {
	height: 500px;
}

/*
****************************************
----------------------------------------
------- fb
----------------------------------------
****************************************
*/

.fbbox iframe {
	width: 100%;
}

/*
****************************************
----------------------------------------
------- post_single
----------------------------------------
****************************************
*/
.post-meta + h3 {
	margin-top: 15px !important;
}

.post_single_links {
	justify-content: center;
	position: relative;
}

.post_btn_prev {
	position: absolute;
	left: 0;
	top: 0;
}

.post_btn_next {
	position: absolute;
	right: 0;
	top: 0;
}
/*
****************************************
----------------------------------------
------- btn
----------------------------------------
****************************************
*/
.btn_l {
	text-align: left;
}

.btn_r {
	text-align: right;
}

.btn_r_pc {
	text-align: right;
}

.post_btn_mini {
	min-width: auto;
}

.post_btn_mini.backbtn {
	padding-left: 2em;
	padding-right: 1.8em;
}

.post_btn_archive.backbtn {
	padding: 0.5em 1em 0.5em 1em;
}

.under_page_wrap .btn {
	margin: 0 auto 10px;
}

.under_page_wrap .btn_l .btn {
	margin-left: 0;
}
.under_page_wrap .btn_r .btn {
	margin-right: 0;
}

.under_page_wrap .btn_col02 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.under_page_wrap .btn_col02 .btn {
	margin: 0 10px 10px;
}

.under_page_wrap .btn_l.btn_col02 {
	justify-content: flex-start;
}
.under_page_wrap .btn_l.btn_col02 .btn {
	margin: 0 10px 10px 0;
}

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

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

.before_footer_separate .inner > .col02 > .box:nth-of-type(2) {
	margin-left: 2%;
	padding-left: 2%;
	border-left: 1px solid var(--main-color);
}

.before_footer li a {
	text-decoration: none;
}

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

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

.before_footer nav li .sub-menu li:before {
	height: 1px;
	top: 15px;
}

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

.before_footer nav li.menu-parent-item:before {
	background: var(--main-color);
}

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

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
before_footer02
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/

.before_footer02_box {
	float: left;
	width: 48%;
}

.before_footer02_box:first-of-type {
	float: right;
	margin-left: 4%;
}

.before_footer02_info {
	margin-bottom: 25px;
}

.before_footer02_time {
	margin-left: 45px;
}

.before_footer02_nav_box nav {
	width: 45%;
	float: left;
}

.before_footer02_nav_box nav:last-of-type {
	margin-left: 10%;
}

.before_footer_sitemap {
	margin-top: 30px;
}

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

.contactRead {
	margin-top: 30px;
}

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

div#contactForm dd {
	float: left;
	width: 70%;
	margin-bottom: 10px;
}

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

#contactForm input[type="number"] {
	width: 100px;
}

div#contactForm dt:before {
	position: absolute;
	top: 5px;
	left: 0;
	width: 4px;
	height: 100%;
	height: -webkit-calc(100% - 10px);
	height: calc(100% - 10px);
	content: "";
	background: var(--main-color);
}

div#contactForm input[type="radio"],
div#contactForm input[type="checkbox"] {
	width: auto;
}

div#contactForm input[type="submit"]:hover,
div#contactForm input[type="button"]:hover {
	opacity: 0.7;
}

div#contactForm input[type="submit"],
div#contactForm input[type="button"] {
	width: 180px;
	height: 50px;
	font-size: 2rem;
	letter-spacing: 5px;
	padding: 5px 0 5px 5px;
	transition: 0.5s;
}

div#contactForm .formbtn {
	position: relative;
	text-align: center;
	margin-top: 20px;
}

div#contactForm input[type="submit"] {
	border: none;
	margin-left: auto;
	margin-right: auto;
	display: block;
	background: var(--main-color);
	color: #fff;
}

div#contactForm input[type="submit"].wpcf7-submit {
	display: inline-block;
	margin: 0;
}

div#contactForm input[type="button"] {
	display: inline-block;
	margin-right: 40px;
}

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

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

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

.basic_layout .h2box.thanks_title {
	padding: 51px 10px 38px;
}

.basic_layout .form_thanks .button {
	width: 300px;
	margin: 50px auto 60px;
}

.basic_layout .h2box.thanks_title h2:before {
	display: none;
}

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

div#contactForm span.example {
	color: #ccc;
	font-size: 1.2rem;
}

input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 1000px #fff inset;
	border: #000 1px solid;
}
input.wpcf7c-conf:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 1000px #fff inset;
	border: none;
}
textarea:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 1000px #fff inset;
}
textarea {
	border: #a9a9a9 1px solid;
}

#contactForm div.wpcf7-validation-errors {
	border: 1px solid #ea4545;
	background: #ffdce1;
	font-size: 16px;
	font-size: 1.6rem;
}

div#contactForm span.wpcf7-not-valid-tip {
	color: #ea4545;
}

.row_max {
	width: 100% !important;
	margin-bottom: 0 !important;
}

#contactForm dd {
	float: right;
}

#contactForm dd + dd {
	clear: both;
}

input[type="checkbox"] + span {
	font-size: 1.6rem;
}

#contactForm .formbtn {
	margin-top: 30px;
}

/*****************************
------------------------------
m_form
------------------------------
*****************************/
.m_form {
	border-style: solid;
	border-width: 1px 0 0 0;
	border-color: #ccc;
	margin: 30px 0;
	padding: 30px 0 0;
}
.m_form dl {
	overflow: hidden;
}

.m_form dt,
.m_form dd {
	float: left;
	margin-bottom: 22px;
}

.m_form dt {
	width: 27%;
	clear: both;
	padding: 5px 10px 5px 15px;
	position: relative;
	vertical-align: middle;
}

.m_form dd {
	width: 70%;
}

.m_form .wpcf7c-conf {
	background-color: #fff !important;
	border: none;
	resize: none;
	padding: 7px 0;
}
.m_form input,
.m_form textarea {
	padding: 5px;
	width: 100%;
	font-size: 1.6rem;
	border: 1px solid #a9a9a9;
}

.m_form input[type="number"] {
	width: 100px;
}

.m_form dt:before {
	height: calc(100% - 10px);
}

.m_form input[type="radio"],
.m_form input[type="checkbox"] {
	width: auto;
}

.m_form input[type="submit"]:hover,
.m_form input[type="button"]:hover {
	opacity: 0.7;
}

.m_form input[type="submit"],
.m_form input[type="button"] {
	width: 180px;
	height: 50px;
	font-size: 2rem;
	letter-spacing: 5px;
	padding: 5px 0 10px 5px;
	transition: 0.5s;
}

.m_form .formbtn {
	position: relative;
	text-align: center;
	margin-top: 20px;
}

.m_form input[type="button"] {
	display: inline-block;
	margin-right: 40px;
}

.m_form span.must {
	font-size: 1.2rem;
	padding-left: 7px;
	vertical-align: baseline;
}

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

.m_form .ajax-loader {
	display: none;
}

.m_form span.example {
	color: #ccc;
	font-size: 1.2rem;
}

.m_form div.wpcf7-validation-errors {
	border: 1px solid #ea4545;
	background: #ffdce1;
	font-size: 16px;
	font-size: 1.6rem;
}

.m_form span.wpcf7-not-valid-tip {
	color: #ea4545;
}

.row_max {
	width: 100% !important;
}

.row_max {
	margin-bottom: 0 !important;
}

.m_form dd {
	float: right;
}

.m_form dd + dd {
	clear: both;
}

.m_form .formbtn {
	margin-top: 30px;
}

.mw_wp_form .m_form .horizontal-item {
	margin-right: 15px;
	display: inline-block;
}

.mw_wp_form .m_form .horizontal-item + .horizontal-item {
	margin-left: 0;
}

.mw_wp_form .m_form .vertical-item + .vertical-item {
	margin-top: 2px;
}

/*****************************
------------------------------
add css
------------------------------
*****************************/

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_greeting
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.mod_greeting.greeting_imgbg {
	position: relative;
}

.mod_greeting.greeting_imgbg:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	z-index: 10;
}

.mod_greeting .greeting_wrap {
	position: relative;
	background: #fff;
	padding: 40px;
	z-index: 11;
}

.mod_greeting .person_radius {
	margin-bottom: 15px;
	overflow: hidden;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: row-reverse;
}

.mod_greeting .person_radius p {
	float: right;
	width: 17%;
	text-align: right;
}

.mod_greeting .person_radius img {
	border-radius: 50%;
	display: inline-block;
	vertical-align: bottom;
	max-width: 150px;
	width: 100%;
}

.mod_greeting .person_radius .greeting_catch {
	float: left;
	width: 80%;
	line-height: 1.9;
	margin-bottom: 0;
	color: var(--main-color);
	font-size: 2.4rem;
	text-align: left;
	margin-top: 0;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
btn_center
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.btn_center .box:nth-of-type(2n + 1) .btn {
	margin-left: auto;
	margin-right: 0;
}

.btn_center .box:nth-of-type(2n) .btn {
	margin-left: 0;
	margin-right: auto;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_list_link
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.mod_list_link {
	display: flex;
	flex-wrap: wrap;
}

.col02 .box.f_nav_small {
	width: 30%;
}

.col02 .box.f_nav_big {
	width: 66%;
}

.f_nav_big .dotlist {
	overflow: hidden;
}

.f_nav_big .dotlist > li {
	width: 32%;
	float: left;
	margin-right: 2%;
	margin-top: 0;
}

.f_nav_big .dotlist > li:nth-of-type(3n) {
	margin-right: 0;
}

.f_nav_big .dotlist > li:nth-of-type(3n + 4) {
	clear: both;
}

.f_nav_big .dotlist > li:nth-of-type(n + 4) {
	margin-top: 1em;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
has_side
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.has_side {
	overflow: hidden;
}

.has_side .main_box {
	width: 70%;
	float: left;
}

.has_side .category_box {
	width: 27%;
	float: right;
}

#under .main_box .post-meta {
	margin-top: -20px;
}

/*****************************
------------------------------
mod_l_square
------------------------------
*****************************/

.mod_l_square .square_wrap {
	display: flex;
}

.mod_l_square .square_wrap:nth-of-type(2n) {
	flex-direction: row-reverse;
}

.mod_l_square .square_img {
	position: relative;
	width: 45%;
}

.mod_l_square .square_img img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center center;
	object-position: center center;
	font-family: "object-fit: cover; object-position: center center;";
}

.mod_l_square .square_detail {
	width: 55%;
}

.mod_l_square .square_detail_inner {
	padding: 40px;
}

/*
****************************************
----------------------------------------
------- m_postcard
----------------------------------------
****************************************
*/

/*****************************
------------------------------
mod_flex
------------------------------
*****************************/

.mod_flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.mod_flex.flex_reverse {
	flex-direction: row-reverse;
}

.mod_flex.flex_items .flex_item {
	display: flex;
}

.mod_flex.flex_col02 .flex_item {
	width: 48%;
}

.mod_flex.flex_col03 .flex_item {
	width: 32%;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_posttype_img
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.mod_posttype_img ul {
	display: flex;
}

.mod_posttype_img.post_col03 li {
	width: 32%;
}

.mod_posttype_img.post_col03 li + li {
	margin-left: 2%;
}

.mod_posttype_img a {
	text-decoration: none;
}

.mod_posttype_img .post_img_ttl {
	margin-top: 15px;
	text-align: left;
}

/*****************************
------------------------------
title_set01
------------------------------
*****************************/
.has_parallax.title_set01 h3 {
	margin-bottom: 80px;
}

/*****************************
------------------------------
title_set02
------------------------------
*****************************/
.has_parallax.title_set02 h3 + h4 {
	margin-top: 45px;
}

/*****************************
------------------------------
title_set04
------------------------------
*****************************/
.has_parallax.title_set04 h3 {
	/* margin-bottom: 30px; */
}

.has_parallax.title_set04 h3 + h4 {
	margin-top: 30px;
}

.has_parallax.title_set04 h4 + h5 {
	margin-top: 45px;
}

.no_parallax.title_set04 h3 + h4 {
	margin-top: 0;
}

/*****************************
------------------------------
title_set06
------------------------------
*****************************/
.has_parallax.title_set06 h4 + h5 {
	margin-top: 45px;
}

/*____________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
サイドナビ
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.side_nav_wrap {
	position: fixed;
	top: 0;
	height: 100%;
	padding: 50px;
	width: 650px;
}

.side_nav_list {
	margin-top: -30px;
	padding: 0 80px;
	margin-bottom: 50px;
}

.side_nav_list .nav_li {
	margin-top: 30px;
}

.side_nav_list .nav_li > a {
	margin-bottom: 5px;
	padding-left: 20px;
	font-size: 1.9rem;
}

.side_nav_list .nav_li > a:before {
	width: 0;
	height: 0;
	border-width: 5px 0 5px 5px;
	border-color: transparent transparent transparent #125bad;
	border-style: solid;
}

.side_nav_list .sub_menu {
	padding-left: 15px;
}

.side_nav_list .sub_menu .nav_li_child {
	margin-top: 5px;
}

.side_nav_list .sub_menu .nav_li_child a {
	display: inline-block;
	padding-left: 20px;
	font-size: 15px;
}

.side_nav_list .sub_menu .nav_li_child a:before {
	width: 10px;
	height: 1px;
	transform: none;
}

.fixed_gnav_logo {
	position: relative;
	display: block;
	width: 100%;
	z-index: 970;
}

.fixed_gnav_logo_item {
	margin: 0 auto;
	display: block;
}

.fixed_gnav_logo_item + .fixed_gnav_logo_item {
	margin-top: 40px;
}

.side_scroll {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 50px;
}

.side_scroll a {
	padding: 0;
}

.js_scroll_mv_over .side_scroll {
	display: block;
	top: auto;
	bottom: 20px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ギャラリー一覧ページ
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_galleries_item .m_galleries_img {
	overflow: hidden;
}

.m_galleries_item .m_galleries_img img {
	transition: 0.5s;
}

.m_galleries_item:hover {
	opacity: 1;
}

.m_galleries_item:hover .m_galleries_img img {
	opacity: 1;
	transform: scale(1.2);
}
/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ギャラリー詳細ページ
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_gallery_slider .slick-dots li {
	transition: 0.3s;
}

.m_gallery_slider .slick-dots li:hover {
	opacity: 0.5;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
フェード
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
a.sa:hover {
	opacity: 0.7;
}

@media screen and (max-width: 1420px) and (min-width: 768px) {
	.template01 .t_interview_area h3 {
		width: 130px;
		top: -6px;
		left: -6px;
	}

	.template01 .t_interview_area {
		padding: 60px;
	}

	.template01 .t_interview_box figure img {
		max-height: 30vw;
	}

	.template01 .t_interview_box figure {
		width: 40%;
	}

	.template01 .t_interview_box .txt_block {
		width: 55%;
	}

	.template01 .t_message figure {
		right: -5vw;
	}

	.template01 .t_message .enname_wrap {
		top: inherit;
		bottom: 40px;
		left: 50%;
		right: inherit;
		transform: translate(-50%, 0%);
		width: 100%;
	}

	.template01 .t_message .enname {
		transform: rotate(0deg);
	}
}
