/*
Theme Name:fujikomuten 
Theme URI:
Author: zeal
Author URI:
Description:
Version: 1.0
License:
License URI:
Tags:

=============================================================================================
*/

@import url('https://fonts.googleapis.com/css2?family=Fjalla+One&family=Oswald:wght@200..700&family=Zen+Kaku+Gothic+New&display=swap');
/*----------------------------------------
	全体
----------------------------------------*/

html{
	font-family:"Zen Kaku Gothic New", sans-serif, "Fjalla One", sans-serif, Arial;
	font-size:62.5%;
	color: #000;
	-webkit-text-size-adjust:100%;
	line-height:1.5;
	font-weight: 500;
}
.anton {
    font-family: "Anton", sans-serif;
}
.zen{
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-style: normal;
	font-weight: 500;
}
.arial{
	font-family: Arial;
	font-weight: 400;
	font-style: normal;
}
.fjalla{
	font-family: "Fjalla One", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.oswald{
	font-family: "Oswald", sans-serif;
}
.bold500{
	font-weight: 500;
}
.bold800{
	font-weight: 800;
}

body{ font-size:1.4rem; font-size: 1.4em; }
#container{
	overflow: hidden;
		color: #000;
}
img{ vertical-align: bottom; }
a{
	color:#3114e3;
	transition: all 0.4s;
	text-decoration: none;
}
a:hover,
.op:hover{
	transition: all 0.4s;
}
.sp_none{
	display: block;
}
.sp_none_inline{
	display: inline;
}
.sp_none827{
	display: block;
}
.sp_none1020{
	display: block;
}
.ws_nowrap{
	white-space: nowrap;
}
.indent_1char {
	display: inline-block;
	margin-left: 1em;
}
@media screen and (max-width: 1020px){
	.sp_none1020{
		display: none;
	}
}
@media screen and (max-width: 827px){
	.sp_none827{
		display: none;
	}
}
@media screen and (max-width: 599px){
	.sp_none{
		display: none;
	}
	.sp_none_inline{
		display: none;
}
}
@media screen and (max-width: 500px){
	.indent_1char {
	display: none;
	margin-left: 0;
}
}

.list_flex {
  display: flex;
  align-items: flex-start;
}

.list_marker {
  flex-shrink: 0;
  line-height: 1.6;
}

.list_text {
  flex: 1;
}
/*----------------------------------------
	画像中央配置
----------------------------------------*/

.photo_frame{
    position: relative;
    overflow: hidden;
    aspect-ratio: 2 / 1.5;
}
.photo_frame.media{
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1.5;
}
.photo_frame img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate3d(-50%, -50%, 0);
}
.photo_frame img:not(:target){
	left: 0\9;
	top: 0\9;
}
.photo_frame img{
	left: 0\9;
	top: 0\9;
}
@media all and (-ms-high-contrast: none){
.photo_frame img{
		left: 50%\9 !important;
		top: 50%\9 !important;
	}
}
.photo_frame{ z-index: 1; }/*chrome対策*/


/*----------------------------------------
	iframe比率維持
----------------------------------------*/

.map {
    position: relative;
    overflow: hidden;
    text-align: center;
    aspect-ratio: 2 / 1;
}
.map iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate3d(-50%, -50%, 0);
	-ms-transform: translate3d(-50%, -50%, 0);
	transform: translate3d(-50%, -50%, 0);
	filter: grayscale(100%);
}
.map.ichi{
	aspect-ratio: 1 / 1;
}
.map.nanago{
	aspect-ratio: 2 / 1;
}

.map iframe:not(:target){
	left: 0\9;
	top: 0\9;
}
.map iframe{
	left: 0\9;
	top: 0\9;
}
@media all and (-ms-high-contrast: none){
.map iframe{
		left: 50%\9 !important;
		top: 50%\9 !important;
	}
}
.map{ z-index: 2; }/*chrome対策*/

@media screen and (max-width: 599px){
	.map {
		aspect-ratio: 1 / 1;
	}
	.map.nanago{
		aspect-ratio: 1.2 / 1;
	}

}/*END*/


/*----------------------------------------
	text
----------------------------------------*/

p{ line-height: 2; }

.text_green{color: #a1c44e;}
.text_blue{ color: #304b72; }
.text_kon{ color: #003567; }
.text_gray{ color: #bfbfbf; }
.text_gray_2{ color:#7d7d7d; }
.text_remon{ color:#fff100 }
.text_deepred{ color:#d90303; }
.text_red{ color:#f93d4b; }
.text_black{ color:#000; }
.text_white{ color:#fff; }
.text_gold{ color:#e6b422; }
.text_blue{ color: #336699; }
.text_lightblue{ color: #81ccfa;}
.text_brown{ color:#83552f; }
.text_bold{ font-weight: 700 !important; }
.text_bolder{ font-weight: bolder !important; }
.text_900{ font-weight: 900 !important; }
.text_normal{ font-weight: normal; }
.yu_min{ font-family:'游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro','ＭＳ Ｐ明朝','ＭＳ 明朝',serif; }
.meiryo{ font-family:'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif; }
.yugo{ font-family:'游ゴシック体', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;}
.text_8{ font-size:0.8rem !important; }
.text_9{ font-size:0.9rem !important; }
.text_10{ font-size:1.0rem !important; }
.text_11{ font-size:1.1rem !important; }

.text_12{ font-size:clamp(1.2rem, 1.1vw, 1.2rem); }
.text_13{ font-size:clamp(1.3rem, 1.25vw, 1.3rem); }
.text_14{ font-size:clamp(1.4rem, 1.34vw, 1.4rem); }
.text_15{ font-size:clamp(1.4rem, 1.4vw, 1.5rem); }
.text_16{ font-size:clamp(1.4rem, 1.5vw, 1.6rem); }
.text_18{ font-size:clamp(1.5rem, 1.7vw, 1.8rem); }
.text_20{ font-size:clamp(1.6rem, 1.9vw, 2rem); }
.text_21{ font-size:clamp(1.7rem, 2vw, 2.1rem); }
.text_22{ font-size:clamp(1.7rem, 2.1vw, 2.2rem); }
.text_24{ font-size:clamp(1.8rem,2.3vw, 2.4rem); }
.text_26{ font-size:clamp(1.8rem, 2.5vw, 2.6rem); }
.text_28{ font-size:clamp(1.9rem, 2.6vw, 2.8rem); }
.text_30{ font-size:clamp(2rem, 2.8vw, 3rem); }
.text_32{ font-size:clamp(2.1rem, 3vw, 3.2rem); }
.text_34{ font-size:clamp(2.2rem, 3.2vw, 3.4rem); }
.text_36{ font-size: clamp(2.3rem, 3.3vw, 3.6rem); }
.text_38{ font-size: clamp(2.4rem, 3.4vw, 3.8rem); }
.text_40{ font-size: clamp(2.5rem, 3.8vw, 4rem); }
.text_48{ font-size: clamp(3.3rem, 4.2vw, 4.8rem); }
.text_60 {
    font-size: clamp(32px, 4.5vw, 60px);
    line-height: 1;
}
.text_150{
	font-size:clamp(80px,11vw,150px);
	line-height: 1;
}
.text_72{
	font-size:clamp(48px,7vw,72px);
	line-height: 1.1;
}
.text_78{
	font-size:clamp(52px,7.5vw,78px);
	line-height: 1;
}

/*line-height*/
.lh_06{ line-height: 0.6; }
.lh_11{ line-height: 1.1 !important; }
.lh_12{ line-height: 1.2 !important; }
.lh_13{ line-height: 1.3 !important; }
.lh_14{ line-height: 1.4 !important; }
.lh_15{ line-height: 1.5 !important; }
.lh_16{ line-height: 1.6 !important; }
.lh_17{ line-height: 1.7 !important; }
.lh_18{ line-height: 1.8 !important; }

/*letter-spacing*/
.ls_-2{ letter-spacing: -2px; }
.ls_-1{ letter-spacing: -1px; }
.ls_1{ letter-spacing: 1px; }
.ls_2{ letter-spacing: 2px; }
.ls_3{ letter-spacing: 3px; }
.ls_003em{ letter-spacing: 0.03em; }
.ls_-03em{ letter-spacing: -0.3em; }
.ls_-025em{ letter-spacing: -0.25em; }
.ls_-02em{ letter-spacing: -0.2em; }
.ls_-02em2{ letter-spacing: 0; }
.ls_-01em{ letter-spacing: -0.1em; }
.ls_-01em2{ letter-spacing: 0; }
.ls_-005em{ letter-spacing: -0.05em; }
.ls_-008em2{ letter-spacing: 0; }
.ls_-005em_2{ letter-spacing: 0; }
.text_r{text-align:right;}

@media screen and (max-width: 599px){
	.ls_-005em{ letter-spacing: -0.1em; }
	.ls_-005em_2{ letter-spacing: -0.05em; }
	.ls_-008em2{ letter-spacing: -0.08em; }
	.ls_-01em{ letter-spacing: -0.15em; }
	.ls_-01em2{ letter-spacing: -0.1em; }
	.ls_-02em{ letter-spacing: -0.23em; }
	.ls_-025em{ letter-spacing: -0.28em; }
	.ls_-02em2{ letter-spacing: -0.2em; }
}

a.link_tex{ color: #0199cc; }
a.link_tex:hover{ opacity: 0.7; }

@media print, screen and (min-width: 821px){

	/*line-height*/
	.lh_19{ line-height: 1.9 !important; }
	.lh_20{ line-height: 2 !important; }
	.lh_21{ line-height: 2.1 !important; }
	.lh_22{ line-height: 2.2 !important; }
	.lh_23{ line-height: 2.3 !important; }
	.lh_24{ line-height: 2.4 !important; }
	.lh_25{ line-height: 2.5 !important; }
	.lh_26{ line-height: 2.6 !important; }
	.lh_28{ line-height: 2.8 !important; }
	.lh_30{ line-height: 3 !important; }
	.lh_32{ line-height: 3.2 !important; }
	.lh_34{ line-height: 3.4 !important; }
	.lh_36{ line-height: 3.6 !important; }

	/*letter-spacing*/
	.ls_4{ letter-spacing: 4px; }
	.ls_5{ letter-spacing: 5px; }
	.ls_6{ letter-spacing: 6px; }
	.ls_7{ letter-spacing: 7px; }
	.ls_8{ letter-spacing: 8px; }

}/*END*/

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

	/*letter-spacing*/
	.ls_4{ letter-spacing: 3px; }
	.ls_5{ letter-spacing: 4px; }
	.ls_6{ letter-spacing: 4px; }
	.ls_7{ letter-spacing: 4px; }
	.ls_8{ letter-spacing: 4px; }

	/*line-height*/
	.lh_19,
	.lh_20,
	.lh_21,
	.lh_22,
	.lh_23,
	.lh_24,
	.lh_25{
		line-height: 1.8 !important;
	}

}/*END*/

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

	/*letter-spacing*/
	.ls_4{ letter-spacing: 2px; }
	.ls_5{ letter-spacing: 2px; }
	.ls_6{ letter-spacing: 2px; }
	.ls_7{ letter-spacing: 2px; }
	.ls_8{ letter-spacing: 2px; }

}/*END*/

li{ list-style:none; }
.center{ text-align:center; }
.text_left{ text-align:left; }
.text_right{ text-align:right; }
.clear{ clear:both; }

.op:hover{
	filter: alpha(opacity=60);
	-moz-opacity:060;
	opacity:0.60;
}

.status{
	display:inline-block;
	background:#f7e4ac;
	padding: 1px 4px;
	margin-right:4px;
}

.sp_text_left{ text-align:center; }

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

	.sp_text_left{ text-align:left; }
	.sp_center{text-align: center;}

}/*END*/

.m_center{
	margin-inline: auto;
}
.inline{
	display: inline-block;
}
.block{
	display: block;
}
.w270{
	width: 270px;
}
.trans_x-16{
	transform: translateX(-16px);
}


/*----------------------------------------
	共通
----------------------------------------*/

.bg_white{ background: #fff; }
.bg_lightgreen{background-color: #eff5eb;}

.border_green{border-bottom: #a1c44e 1px solid;}

/*下層MV*/
.under_mv{
	position: relative;
	box-sizing: border-box;
	overflow:hidden;
}
.under_mv .ttlcopy{
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	margin: auto;
	text-align: center;
	color: #fff;
}
.under_mv div img{
		margin-bottom:8px;
}

/*ぱんくず*/
.pan_nav{
	padding: 15px 0;
}
.pan_nav li{
	float: left;
	font-size: 1.2rem;
	color: #000;
	letter-spacing: 1px;
	line-height: 2.5;
}
.pan_nav a{
	color: #000;
	text-decoration: none;
}
.pan_nav a:hover{
	color: #a1c44e;
}
.pan_nav a:after{
	content: "/";
	color: #000;
	padding-left: 10px;
	margin-right: 10px;
	display: inline-block;
}
.pan_nav.gray_ver{
	background: #eee;
	color: #000;
}
@media screen and (max-width: 599px){
	.pan_nav li{
		line-height: 1.5;
	}
	.pan_nav a:after{
		padding-left: 3px;
		margin-right: 3px;
	}
}/*END*/

/*ボーダーのボタン*/
.btn_frame_red,
.btn_frame_white,
.btn_frame_black{
	position: relative;
	transition: all 0.3s;
	display: inline-block;
}
.btn_frame_red{ color: #fff; }
.btn_frame_white{ color: #fff; }
.btn_frame_red:before,
.btn_frame_white:before,
.btn_frame_black:before{
	content: "";
	position: absolute;
	width: 0;
	height: 100%;
	top: 0;
	left: 0;
	transition: all 0.3s;
}
.btn_frame_red:before{ background-color: #fff; }
.btn_frame_white:before{ background-color: #fff; }
.btn_frame_black:before{ background-color: #000; }
.btn_frame_red:hover:before,
.btn_frame_white:hover:before,
.btn_frame_black:hover:before{
	left: 0;
	width: 100%;
}
.btn_border{
	position: relative;
	display: inline-block;
	line-height: 1;
	text-align: center;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
	box-sizing: border-box;
	transition: all 0.3s;
	padding-right: 15px;
}
.btn_frame_red .btn_border{ background: #b51717; }
.btn_frame_white .btn_border{ border: 2px solid #fff; }
.btn_frame_black .btn_border{ border: 2px solid #000; }
.btn_frame_red .btn_border:hover,
.btn_frame_black .btn_border:hover{
	color: #fff;
	transition: all 0.5s;
}
.btn_frame_white .btn_border:hover{ color: #000; }
.btn_border:before{
	content: "";
	position: absolute;
	right: 20px;
	top: 50%;
	width: 24px;
	height: 2px;
}
.btn_frame_red .btn_border:before{ background: #fff; }
.btn_frame_white .btn_border:before{ background: #fff; }
.btn_frame_black .btn_border:before{ background: #000; }
.btn_frame_white .btn_border:hover:before{ background: #000; }
.btn_frame_black .btn_border:hover:before{ background: #fff; }

.btn_border:after{
	content: "";
	position: absolute;
	right: 23px;
	top: 50%;
	margin-top: -5px;
	width: 11px;
	height: 11px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.btn_frame_red .btn_border:after{ border-top: 2px solid #fff; }
.btn_frame_white .btn_border:after{ border-top: 2px solid #fff; }
.btn_frame_black .btn_border:after{ border-top: 2px solid #000; }
.btn_frame_white .btn_border:hover:after{ border-top: 2px solid #000; }
.btn_frame_black .btn_border:hover:after{ border-top: 2px solid #fff; }

.btn_frame_red .btn_border:before,
.btn_frame_white .btn_border:before,
.btn_frame_black .btn_border:before,
.btn_frame_red .btn_border:after,
.btn_frame_white .btn_border:after,
.btn_frame_black .btn_border:after,
.btn_frame_white .btn_border:hover:before,
.btn_frame_black .btn_border:hover:before,
.btn_frame_white .btn_border:hover:after,
.btn_frame_black .btn_border:hover:after{
	transition: all 0.5s;
}
.btn_frame_red img{
	width: 18px;
	vertical-align: middle;
	margin-right: 10px;
}
.btn_frame_red .btn_border:hover{ background: #e42626; }
.btn_frame_top{
	background: #000;
	color:#fff;
}
.btn_frame_top .btn_border::before{
	background: #fff;
}
.btn_frame_top .btn_border::after{
	border-top: 2px solid #fff;
}

.btn_180{ width: 180px; }
.btn_250{ width: 250px; }
.btn_260{ width: 260px; }
.btn_300{ width: 300px; }
.btn_400{ width: 400px; }
.btn_wide{ width: 100%; }

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

	.pan_nav{
		right: 15%;
	}

}/*END*/

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

	/*下層MV*/
	.under_mv img{
		width: 140%;
	}
	.under_mv div img{
		width: auto;
		margin-left: 0;
	}

	.tb_center{ text-align: center; }

	.btn_frame_top{
		width:100%;
		max-width:180px;
	}
	.box_rf .btn_180{
		width:100%;
	}

}/*END*/

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

	/*下層MV*/
	.under_mv img{
		width: 200%;
		max-width: 200%;
		margin-left: -50%;
	}
}/*END*/

.bg_zoom_box {
	position: relative;
	width: 100%;
	overflow: hidden;
	height: 40vh;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.h_30vh{
	height: 30vh;
}

.h_400p{
	height: 380px;
}
@media screen and (max-width: 599px){
	.h_35vh{
		height: 400px;
	}
}

.h_35vh{
	height: 35vh;
}
@media screen and (max-width: 599px){
	.h_35vh{
		height: 400px;
	}
}

.bg_zoom_box::before{
	content: "";
	position: absolute;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: var(--bg-image);
	transform: scale(1.1);
	inset: 0;
	transition: transform 4s var(--easing01);
}

.bg_zoom_box.bg_rb::before{
	background-position: right bottom;
}
.bg_zoom_box.bg_cb::before{
	background-position: center bottom;
}

.bg_zoom_box.zoom_trigger::before {
	transform: scale(1);
}
.bg_zoom_box.bg_pr::before{
	background-position: right;
}

/*----------------------------------------
	layout
----------------------------------------*/

.max_respon{
	max-width:100%;
}
.pc_block{
	display: block;
}
.sp_block{
	display: none;
}
.tb_block{
	display: none;
}
.nm_t5{
	margin-top:-5px;
}
.inner_frame{
	max-width: 1080px;
	width: 100%;
	box-sizing: border-box;
	margin-inline: auto;
	padding-right: 20px;
	padding-left: 20px;
}
.inner_frame750{
	max-width: 750px;
	width: 100%;
	position: relative;
	box-sizing: border-box;
	margin-inline: auto;
}
.inner_frame710{
	max-width: 710px;
	width: 100%;
	position: relative;
	box-sizing: border-box;
	margin-inline: auto;
}
.rela{
	position: relative;
}
.rela_z1{
	position: relative;
	z-index: 1;
}
.text_line{
	display: inline-block;
	border-bottom: 1px solid #000;
}
.palt{
	font-feature-settings: "palt";
}

.content_fl_box{
	display: flex;
	gap: 3.5%;
}
.content_fl_box.between{
	justify-content: space-between;
}
.content_fl_box.reverse{
	flex-direction: row-reverse;
}
.content_fl_box.end{
	justify-content: flex-end;
}
.i_center{
	align-items: center;
}
.c_end{
	align-content: flex-end;
}
.c_center{
	align-content: center;
}
.nogap{
	gap:0;
}
.content_fl_box50{
	display: flex;
}
.box25{width: 25%; }
.box30{width: 30%; }
.box35{width: 35%; }
.box40{width: 40%; }
.box45{width: 45%; }
.box47{width: 48.1%; }
.box50{width: 50%; }
.box55{width: 55%; }
.box60{width: 60%; }
.box65{width: 65%; }
.box70{width: 70%; }
.box75{width: 75%; }

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

	.inner_frame,
	.inner_frame750,
	.inner_frame710{
		padding-right: 3.5%;
		padding-left: 3.5%;
	}

}/*END*/

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

	.inner_frame,
	.inner_frame750,
	.inner_frame710{
		padding-right: 4.3%;
		padding-left: 4.3%;
	}

}/*END*/

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

	.sp_order00{ order: 0; }
	.sp_order01{ order: 1; }
	.sp_order02{ order: 2; }
	.sp_order03{ order: 3; }
	.sp_order04{ order: 4; }
	.sp_order05{ order: 5; }


	.content_fl_box{
		flex-wrap: wrap;
	}
	.box70,.box65,.box60,.box40,.box50,.box55,.box25,.box75,.box47,.box45,.box35,.box30{
		width: 100%;
		padding-bottom: 30px;
	}
	.content_fl_box50{
		flex-wrap: wrap;
	}
	.pc_p_t250{
		padding-top:0;
	}

}/*END*/

.max300{
	max-width: 300px;
}
.max500{
	max-width: 500px;
}
.frame600{
	max-width: 600px;
}

/*----------------------------------------
	header 2
----------------------------------------*/

header li{ list-style: none; }
header a{
	display: block;
	color: inherit;
	text-decoration: none;
	color: inherit;
}
header{
	width: 100%;
	z-index:10;
	box-sizing: border-box;
	position: fixed;
}
.logo_f{
	display: flex;
	align-items: center;
}
.logo_f .box{
	padding-right:20px;
}
h1.read,span.read{
	display: block;
	color: #cccccc;
	font-size: clamp(1.1rem, 1.1vw, 1.2rem);
}
.header_inner{
	position: relative;
}
.head_content {
	display: flex;
	align-items: center;
	position: relative;
    justify-content: space-between;
    box-sizing: border-box;
    width: 100%;
    padding: 30px 40px 26px 40px;
}
.bg_header{
	background-color: rgba(0, 0, 0, 0.3);
}
/* @media screen and (max-width: 600px){
	.bg_header{background-color: transparent;}
	.header_l{visibility: hidden;}
} */
.nav_under li {
	display: flex;
	align-items: center;
}
.nav_under li a{
	color: #fff;
}
.header_l{
	width: 100%;
    display: flex;
    align-items: center;
}
.header_r{
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.fixed_btn {
    position: fixed;
    top: 0;
	right: 0;
	z-index: 99;
	width: 170px;
}

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

	.header_l{
		width: 80%;
	}
	.header_menu{
		display: none;
	}
	.head_content{
	padding: 22px 40px 20px 40px;
	}

}/*END*/

@media print, screen and (min-width: 1101px){

	.header_menu{
		width: auto;
		padding-right: 30px;
	}
	.nav_under{
		display: flex;
		gap:35px;
	}
	#sd{
		clear: both;
		width: 100%;
	}
	#sd li{
		box-sizing: border-box;
		position: relative;
		font-size: 1.6rem;
	}
	#sd li a{
		box-sizing: border-box;
		white-space: nowrap;
	}
	#sd li a:hover{
		opacity: 0.7;
	}
	#sd li:last-child{
		border-right:none;
		/*padding-right:0;*/
	}

}/*END*/

/* max-width: 768px 早めのドロワー */
@media screen and (max-width: 1100px){

	.sd-trigger{
		float: none;
		position: absolute;
		width: 54px;
		height: 48px;
		background: #f0f0f0;
		cursor: pointer;
		right: 2%;
		top: 32%;
	}
	.sd-trigger span{
		position: absolute;
		left: 0;
		width: 100%;
		height: 1px;
		width: 28px;
		background-color: #000;
	}
	.sd-trigger span:nth-of-type(1){ top: 15px; left: 13px; }
	.sd-trigger span:nth-of-type(2){ top: 23px; left: 13px; }
	.sd-trigger span:nth-of-type(3){ top: 31px; left: 13px; }

	#sd{ box-sizing: border-box; }
	#sd ul{
		margin-bottom: 0;
		border-top: 1px dotted #afa9a4;
	}
	#sd ul ul{ border-top: none; }
	#sd li{ position: relative; }
	#sd li a{
		display: block;
		text-decoration: none;
		padding: 16px 2% 16px 4%;
		color:#000;
		border-bottom: 1px dotted #afa9a4;
		line-height: 1.4;
	}
	.sd-trigger.sd2022{
		top: 20%;
	}
	header h1{
	padding: 2px 5px;
	line-height: 1.2;
	}
	.h_icon{
		display: none;
	}
	.sp_ul_btm{
		display: block;
		border-top: none !important;
	}

	/*スマホメニュー*/
	.sp_menu{ clear: both; }
	.sp_menu li{
		list-style: none;
		float: left;
		box-sizing: border-box;
		width: 25%;
		text-align: center;
		background: #faf2eb;
		border-left: 1px dotted #afa9a4;
		border-top: 1px dotted #afa9a4;
		border-bottom: 1px dotted #afa9a4;
	}
	.sp_menu li a{ display: block; }
	.sp_menu li:first-child{ border-left: 1px solid #faf2eb; }
	.sp_sd_nav{
		display:block;
	}

	.head_contact_btn{
		background: #bf161a;
		color: #fff !important;
		font-weight: bold;
		padding: 13px 40px;
		border-radius: 25px;
		white-space: nowrap;
		text-align: center;
	}
	.head_contact_btn img{
		width: 22px;
		margin-right: 8px;
		vertical-align: middle;
	}

}/*END*/

@media screen and (max-width: 768px){
	.head_content{
		align-items: normal;
		padding: 14px 20px 18px;
	}
}

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

	.head_logo{
		width: 50%;
		padding: 10px 10px 15px 2%;
	}
	.head_content{
		padding: 10px 25px 10px;
	}
	.header_l{
		width: 100%;
	}
	.header_r{
		float: none;
        display: flex;
        width: 20%;
	}
	.logo_img{
        width: 50%;
		margin-right: 6px;
	}
	.sd-trigger{
		top: 30px;
	}
	.head_contact{
		margin-bottom: 5px;
	}

}/*END*/


/*----------------------------------------
	ドロワー home
----------------------------------------*/

.menu_btn{
	display: none;
}

@media screen and (max-width: 1100px){
	.menu_btn{
        display: block;
        cursor: pointer;
        transition: all 0.6s;
        z-index: 999;
		position: relative;
		height: 50px;
		width: 50px;
	}
	.menu_btn span{
        display: inline-block;
        width: 30px;
        height: 2px;
        background: #fff;
        position: absolute;
        transition: all 0.6s;
		left: 50%;
    	transform: translateX(-50%);
	}
	.menu_btn_tex{
		text-align: center;
		color: #fff;
		padding-top: 54%;
		font-size: 1.6rem;
		line-height: 1.4;
		font-weight: normal;
		opacity: 1;
	}
	.menu_btn span:nth-child(1){
		top: 35%;
	}
	.menu_btn span:nth-child(2){
		bottom: 35%;
	}
	.open .menu_btn span:nth-child(1){
		transform: rotate(45deg);
		top: 47%;
	}
	.open .menu_btn span:nth-child(2){
		transform: rotate(-45deg);
		top: 47%;
	}
	.open .menu_btn{
		z-index: 100;
		opacity: 1;
	}
	.open .menu_btn_tex{
		opacity: 0;
		transition: all 0.5s;
	}

}/*END*/

.drawer li{
	display: block;
	float: none;
}
.drawer li a{
	position: relative;
	display: block;
	transition: all 0.4s;
	box-sizing: border-box;
}
.drawer{
	display: none;
}
.drawer{
	position: fixed;
    /* background: rgba(0, 0, 0, 0.8); */
	background-color: #88af2d;
	top: 0;
	right: 0;
	width: 100%;
	height: 100vh;
	display: flex;
	justify-content: center;
	visibility: hidden;
	opacity: 0;
	transform: translateX(100%);
	transition: 0.5s ease-in-out;
	z-index: 99;
	overflow: auto;
}
.drawer ul{
	display: block;
}
.drawer ul li{
	position: relative;
	transform: translateX(-180px);
	transition: transform 0.8s ease;
	/*margin-bottom: 15px;*/
}
.drawer ul li:nth-child(2){ transition-delay: 0.15s; }
.drawer ul li:nth-child(3){ transition-delay: 0.25s; }
.drawer ul li:nth-child(4){ transition-delay: 0.35s; }
.drawer ul li:nth-child(5){ transition-delay: 0.45s; }
.drawer ul li:nth-child(6){ transition-delay: 0.55s; }
.drawer ul li:nth-child(7){ transition-delay: 0.65s; }
.drawer ul li:nth-child(8){ transition-delay: 0.4s; }
.drawer ul li:nth-child(9){ transition-delay: 0.45s; }
.drawer ul li:nth-child(10){ transition-delay: 0.5s; }
.drawer ul li:nth-child(11){ transition-delay: 0.55s; }
.drawer ul li:nth-child(12){ transition-delay: 0.6s; }
.drawer ul li a{
	color: #fff;
	position: relative;
	transition: all 0.4s;
	text-decoration: none;
	cursor: pointer;
}
.drawer li a:hover{
	color: #aaa;
}
.drawer li a:hover:before{
	opacity: 1;
}
.open .drawer{
	visibility: visible;
	opacity: 1;
	transform: translateX(0);
}
.open .drawer ul li{
	transform: translateX(0);
}

.open .head_content{
	opacity: 1;
	transition: 0.5s ease-in-out;
}

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

}
@media screen and (max-width: 400px){

}/*END*/


/*----------------------------------------
	ドロワーコンテンツ
----------------------------------------*/

.drawer_content{
	width: 100%;
	max-width: 1080px;
	margin-inline: auto;
	margin-top: 18%;
	padding-inline: 20px;
	position: relative;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	text-align: center;
}
.drawer_content .op_list{
	width: 100%;
	/* text-align: center; */
}
.drawer_content .op_list li{
	color: #fff;
	padding-bottom: 24px;
}
.drawer_box_left{
	width: 48.1%;
}
.drawer_box_right{
	width: 48.1%;
}
.drawer_list_tit{
	padding:18px 0;
	width: 100%;
	display: flex;
	align-items: center;
	border-top:1px solid #1b1b1b;
	border-bottom:1px solid #1b1b1b;
	margin-bottom: 15px;
}
.drawer_in_list{
	width: 100%;
}
.drawer_in_list li{
	line-height: 1.6;
	position: relative;
	padding-left: 25px;
	padding-bottom: 4px;
	font-weight: normal;
}
.drawer_in_list li:before{
	content: '';
	width: 4px;
	height: 4px;
	border-top: 1px solid #1b1b1b;
	border-right: 1px solid #1b1b1b;
	transform: rotate(45deg);
	position: absolute;
	top: 30%;
	left: 10px;;
}
.drawer_business_row{
	display: flex;
	column-gap: 15px;
	margin-bottom: 10px;
}
.drawer_business_photo{
	width: 22%;
}
.drawer_business_conte{
	width: 74%;
}
.drawer_in_list.twolist{
	display: flex;
	flex-wrap: wrap;
	column-gap: 5px;
}
.drawer_in_list.twolist li{
	width: 48%;
}
li.left_side{
	width: 32% !important;
}
.drawer_deco_tex{
	width: 33%;
	max-width: 102px;
	position: absolute;
	top:2.5%;
	left:-13%;
}
.lfs_a a{
	display: block !important;
	width: 100% !important;
}
.link_r_arrow{
	display: inline-block !important;
	position: relative;
}
.link_r_arrow:before{
	content: '';
	width: 6px;
	height: 6px;
	border-top: solid 1px #000;
	border-right: solid 1px #000;
	position: absolute;
	right: -15px;
	top: 30%;
	transform: rotate(45deg);
}
.drawer_content_fl_box{
	display: flex;
	gap: 4%;
	justify-content: space-between;
}
.drawer_fl{
	display: flex;
	justify-content: space-between;
	position: relative;
}
.drawer_fl:before{
	content: '';
	width: 85%;
	height: 115%;
	background: #f3f4f5;
	position: absolute;
	top:47%;
	left:50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
.drawer_navi_area_item{
	width: 31.5%;
}
.drawer_fl .drawer_navi_area_item:first-child{
	width: 29%;
}
.drawer_fl .drawer_navi_area_item:nth-child(2){
	width: 26%;
}

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

	.drawer_content{
		flex-wrap: wrap;
		padding: 18% 4% 2% 4%;
		margin-top: 0;
		text-align: left;
	}
	li.left_side{
		width: 100% !important;
	}

}/*END*/

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

	.drawer_fl{
		flex-wrap: wrap;
	}
	.drawer_content{
		flex-wrap: wrap;
		padding: 20% 10% 2% 10%;
		margin-top:0;
	}
	.drawer_box_right{
		width: 100%;
		padding-bottom: 20px;
	}
	.drawer_box_left{
		width: 100%;
		padding-bottom: 20px;
	}
	.drawer_content .logo_f{
		width: 50%;
	}
	.drawer_main_photo{
		display: none;
	}
	.drawer_list_tit{
		padding: 12px 0;
	}
	.drawer .drawer_in_list li a{
		font-size: 1.2rem;
	}
	li.left_side{
		width: 100% !important;
	}
	.drawer_deco_tex{
		display: none;
	}
	/* .drawer_content .op_list{
		padding-top:50px;
	} */

}/*END*/


/*----------------------------------------
	MV
----------------------------------------*/
.mv {
    width: 100%;
    padding: 0 0 80%;
}
.mv_flex {
	display: flex;
    flex-wrap: wrap; /* SP時は折り返し */
}

.mv_item {
    flex: 1 1 50%;
    overflow: hidden;
    position: relative;
}

/* キャッチ */
.p_r90{
	padding-right: 90px;
}
.p_l90{
	padding-left: 90px;
}

/* .mv_item img {
    width: 100%;
    display: block;
    transform: scale(1.2);
    animation: zoomOut 8s ease forwards;
}

@keyframes zoomOut {
    to {
    transform: scale(1);
    }
} */

.mv_item img {
  width: 100%;
  display: block;
  transform: scale(1.25); /* 初期拡大 */
  transition-property: transform;
  transition-delay: 0s;
  transition-duration: 7000ms;
  transition-timing-function: linear;
}
.mv_item.show img {
  transform: scale(1); /* 縮小して元に戻る */
}

/* SP時に縦並び */
@media screen and (max-width: 768px) {
    .mv_item {
    flex: 1 1 100%;
	height: 50vh;
    }
}

.mv_deco {
    max-width: 570px;
    width: 60%;
    position: absolute;
    top: 63%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.1s;
}
.mv_copy,
.page_mv_copy {
    max-width: 550px;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}
.mv_copy{
    text-align: center;
}
.mv_line {
    position: relative;
    overflow: hidden;
	display: inline-block;
}
@media screen and (max-width: 1100px){
	.mv {
		padding: 0 0 110%;
	}
}
@media screen and (max-width: 599px){
	.mv {
    padding: 0 0 130%;
	}
    .mv_deco {
        top: 74%;
        width: 76%;
    }
	.mv_copy {
		top: 47.5%;
	}
}
@media screen and (max-width: 400px){
	.mv {
    padding: 0 0 150%;
	}
	.mv_deco {
		top: 73%;
		width: 78%;
	}
	.p_r90{
	padding-right: 50px;
	}
	.p_l90{
	padding-left: 70px;
	}
}
/* 背景アニメーション */
.mv_copy .mv_line .bg_anim,
.page_mv_copy .mv_line .bg_anim {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    z-index: 2;
    background: linear-gradient(135deg, rgba(29, 213, 230, 1) 0%, rgba(70, 174, 247, 1) 100%);
    background-repeat: no-repeat;
    background-size: cover;
    pointer-events: none;
}
.mv_copy.start .mv_line:nth-of-type(1) .bg_anim,
.page_mv_copy.start .mv_line:nth-of-type(1) .bg_anim {
    animation: mv_copy_bg 0.6s forwards;
}

.mv_copy.start .mv_line:nth-of-type(2) .bg_anim,
.page_mv_copy.start .mv_line:nth-of-type(2) .bg_anim {
    animation: mv_copy_bg 0.6s forwards;
    animation-delay: 0.6s;
}

@keyframes mv_copy_bg {
    0% {
        width: 0;
        left: 0;
    }
    30% {
        left: 0;
        width: 100%;
    }
    60% {
        left: 0;
        width: 100%;
    }
    100% {
        left: 100%;
    }
}

/* テキストアニメーション */
.mv_copy .mv_line .text_anim,
.page_mv_copy .mv_line .text_anim {
    position: relative;
    opacity: 0;
    bottom: -120px;
    z-index: 3;
}

.mv_copy.start .mv_line:nth-of-type(1) .text_anim,
.page_mv_copy.start .mv_line:nth-of-type(1) .text_anim {
    animation: mv_copy_text 0.4s forwards;
    animation-delay: 0.3s;
}

.mv_copy.start .mv_line:nth-of-type(2) .text_anim,
.page_mv_copy.start .mv_line:nth-of-type(2) .text_anim {
    animation: mv_copy_text 0.6s forwards;
    animation-delay: 1s;
}
@keyframes mv_copy_text {
    0% {
        opacity: 0;
        bottom: -120px;
    }
    100% {
        opacity: 1;
        bottom: 2px;
    }
}

.text_anime span {
    opacity: 0;
    display: inline-block;
	padding-right: 0.5rem;
}

.text_anime {
    opacity: 0;
}
.mv_ts{
	text-shadow: 2px 2px 10px #333;
}


/*--------------------------------------------------------------------------------------------------------------------------------
	index.php top
----------------------------------------------------------------------------------------------------------------------------------*/

.bg_beige{
	background: #f2f1e8;
}
.bg_dark{
	background: #000;
}
.bg_green{
	background-color: #a1c44e;
}
.bg_green2{
	background-color: #88af2d;
}
.pc_p_t35{
	padding-top:35px;
}
.pc_p_t80{
	padding-top:80px;
}
.pc_p_t100{
	padding-top:100px;
}
.pc_p_t120{
	padding-top:120px;
}
.pc_p_b100{
	padding-bottom:100px;
}
.pc_p_b120{
	padding-bottom:120px;
}

/* ボタン　*/
a.btn_style01 {
    background: #fff;
    text-decoration: none;
    padding: 20px 10px 20px 16px;
    line-height: 1;
    text-align: left;
    display: inline-block;
    box-sizing: border-box;
    font-size: clamp(1.4rem, 1.7vw, 1.8rem);
    width: 85%;
    max-width: 300px;
    color: #000;
}
a.btn_style01:hover{
	text-decoration: none;
	opacity: 0.7;
	transition: all 0.4s;
}
.btn_arrow{
	position: relative;
	display: inline-block;
}
.btn_arrow:after{
	position: absolute;
	right: 22px;
	width: 8px;
	height:8px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	content: "";
	vertical-align: middle;
	top: 40%;
	transition: all 0.4s;
}
.btn_arrow:hover:after{
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	transition: all 0.4s;
	right:18px;
}
a.btn_style01.white{
	background: #fff;
	color: #000;
	border: 1px solid #fff;
}
a.btn_style01.white:hover{
	text-decoration: none;
	opacity: 0.7;
}
.btn_style01.white.btn_arrow:after{
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	color: #000;
}
.btn_style01.white.btn_arrow:hover:after{
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	color: #000;
}
a.btn_style01.trans{
	background: transparent;
	color: #fff;
	border: 1px solid #fff;
}
a.btn_style01.trans:hover{
	text-decoration: none;
	background: #333;
	border: 1px solid #fff;
	color: #fff;
	transition: all 0.4s;
}
.btn_style01.trans.btn_arrow:after{
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	color: #fff;
}
.btn_style01.trans.btn_arrow:hover:after{
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	color: #fff;
}
.btn_style01.coming, a.coming{
	opacity: 0.2;
	pointer-events: none;
}
@media screen and (max-width: 1200px){

	.btn_style01{
		padding: 20px 30px;
	}

}

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

	.btn_style01{
		padding: 15px 10px;
		max-width: 340px;
		font-size: 1.2rem;
	}

}

.service_bg {
    background-image: url(./images/top/service_ttl_img.jpg);
	background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

.service_flex {
	display: flex;
	justify-content: space-between;
	column-gap: 70px;
}

.service_flex2 {
	display: flex;
    gap: 100px;
}

.service_item {
    overflow: hidden;
    position: relative;
	width: 48%;
}
.service_item2 {
    overflow: hidden;
    position: relative;
	width: 25%;
}
.service_pl100{
	padding-left: 100px;
}

@media screen and (max-width: 768px) {
    .service_item,
	.service_item2 {
    width: 100%;
    }
	.service_pl100{
		padding-left: 0;
	}
	.service_flex,
	.service_flex2{
		gap: 50px;
	}
}

@media screen and (max-width: 600px) {
	.service_flex,
	.service_flex2 {
	flex-direction: column-reverse;
	gap: 40px;
}
	.service_flex.column,
	.service_flex2.column{
		flex-direction: column;
	}
}

.max720{
	max-width: 720px;
}
.max710{
	max-width: 710px;
}


/* recruit */

.recruit_bg{
    background-image: url(./images/recruit/recruit_bg.jpg);
	background-position: center center;
    background-size: cover;       
    background-repeat: no-repeat;
	height: 50vh;
	position: relative;
}
.top_recruit_bg{
    background-image: url(./images/top/recruit_bg.jpg);
	background-position: right center;
    background-size: cover;       
    background-repeat: no-repeat;
}
.frame685 {
	max-width: 685px;
	margin-left: auto;
	margin-right: auto;
}
.frame870 {
	max-width: 870px;
	margin-left: auto;
	margin-right: auto;
}
.icon_tel {
    display: inline-block;
    width: 42px;
    height: 42px;
    mask-image: url(images/common/icon_tel.svg);
	mask-repeat: no-repeat;
    mask-size: contain;
    background-color: #fff;
}
.green_line {
	display: block;
	background-color: #88af2d;
	width: 5em;
	height: 0.4em;
	border-radius: 5px;
}
.footer_link_tel {
	color: #fff;
	text-align: center;
}
.footer_link_tel > div{
	display: flex;
	align-items: center;
	gap: 5px;
	transition: .4s var(--easing01);
}
.footer_link_tel > .contact_bnr{
	display: flex;
	align-items: flex-end;
	gap: 5px;
	transition: .4s var(--easing01);
}
.footer_link_tel .icon_tel{
	transform: translateY(10%);
}
.icon_tr_def{transform: translateY(0);}
.footer_link_tel:hover {
	opacity: 0.6;
}

.map_icon{
	position: relative;
	display: inline-block;
	padding-right: 30px;
}
.map_icon::after{
	content: "";
	position: absolute;
	top: 55%;
	transform: translateY(-50%);
	right: 0;
	width: 18px;
	height: 16px;
	background-image: url('./images/common/mado_icon.png');
	background-size: contain;
	background-repeat: no-repeat;
}
.jsc_c {
	justify-content: center;
}
.p40 {
	padding-left: clamp(1.0rem,3.81vw,4.0rem);
	padding-right: clamp(1.0rem,3.81vw,4.0rem);
}
.text_50{ font-size: clamp(2.8rem,4.808vw,5.0rem); }

/* 建築実績 */

.works_bg{
    background-image: url(./images/works/works_bg.jpg);
	background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
	height: 50vh;
	position: relative;
}

.works_flex {
	display: flex;
    flex-wrap: wrap-reverse;
	justify-content: space-between;
	align-items: center;
}

.works_item {
    overflow: hidden;
    position: relative;
	width: 45%;
}

@media (max-width: 768px) {
	.works_flex {
	flex-direction: column-reverse;
}

	.works_item {
	width: 100%;
}
}

.construction_list {
	display: flex;
	gap: 30px;
}
.construction_item {
	width: 32%;
	box-sizing: border-box;
}
.construction_img_wrap {
	position: relative;
	aspect-ratio: 4/3;
	overflow: hidden;
}
.construction_img_wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.construction_labels {
	position: absolute;
	top: 5px;
	left: 0;
	display: flex;
}
.construction_labels2 {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
}
.m_r10{margin-right: 10px;}
.label_category{
	color: #fff;
	font-size: 12px;
}
.label_category2{
	color: #fff;
	font-size: 12px;
	margin-right: 4px;
}
.label_category3{
	color: #fff;
	font-size: 12px;
	background: #000;
	padding: 2px 6px;
}
.label_category span{
	background: #000;
	padding: 2px 6px;
	margin-right: 5px;
}
.label_category2 span{
	background: #000;
	padding: 2px 6px;
	margin-right: 5px;
}
.label_tag {
	color: #fff;
	font-size: 12px;
}
.label_tag2 {
	color: #fff;
	font-size: 12px;
	background: #98999b;
	padding: 2px 6px;
}
.label_tag span{
	background: #98999b;
	padding: 2px 6px;
	margin-right: 5px;
}
.construction_texts {
	margin-top: 10px;
}
.construction_name {
	font-weight: bold;
	color: #000;
}
.construction_location {
	color: #000;
}
.btn_area {
	text-align: center;
	margin-top: 30px;
}
.btn_archive {
	display: inline-block;
	padding: 10px 20px;
	background: #007cba;
	color: #fff;
	border-radius: 4px;
	text-decoration: none;
}

/* SP時 */
@media (max-width: 600px) {
	.construction_item {
		width: 100%;
	}
	.construction_list {
		flex-direction: column;
}
}

.works_pb{
	padding-bottom: 60px;
}
.works_ty{
	transform: translateY(-110px);
}

@media (max-width: 768px) {
	.works_pb{
	padding-bottom: 20px;
}
	.works_ty{
	transform: translateY(-40px);
}
}

.construction_arc_list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}
@media (max-width: 768px) {
	.construction_arc_list {
		grid-template-columns: 1fr;
	}
}

.wrap{
	aspect-ratio: 3 / 2;
	overflow: hidden;
}

.wrap img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.recruit_deco{
	position: absolute;
	top: 0;
	right: 0;
	width: clamp(200px, 60vw, 1300px);
	height: clamp(150px, 27vh, 380px);
	background-color: #82ab21;
	z-index: 1;
	pointer-events: none;
}
@media (max-width: 768px) {
	.recruit_deco{
		height: clamp(150px, 20vh, 380px);
	}
}

/*----------------------------------------
	footer
----------------------------------------*/
footer{
	color: #3a3a3a;
}

footer a{
	color: #3a3a3a;
}

footer a:hover{
	color: #88af2d;
}
footer .icon_flex a:hover{
	opacity: 0.8;
}
.footer_flex {
    display: flex;
    justify-content: normal;
    padding-top: 50px;
    padding-bottom: 20px;
}
.wt75{
	width: 75%;
}
.wt50{
	width: 50%;
}
.wt30{
	width: 30%;
}
.wt25{
	width: 25%;
}

.copyright{
	color: #3a3a3a;
}
.bg_footer {
    background-color: #eff5eb;
    position: relative;
}
.contact_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6%;
    align-items: center;
}
.icon_flex {
    display: flex;
    align-items: center;
    column-gap: 16px;
    width: 100%;
	justify-content: center;
}

.btn_contact {
    max-width: 800px;
    padding: 3% 11%;
    margin: auto;
    position: relative;
}
.tel_t24{ font-size:clamp(3.2rem,2.3vw, 3.2rem); }
.contact_btn_text{font-size:clamp(1.8rem,2.3vw, 1.8rem);}

.btn_tel{
	padding: 16px 20px 12px;
	text-align: center;
	background-color: #fff;
	color: #a1c44e;
	transition: background-color 0.5s ease, color 0.5s ease;
}
.btn_tel:hover{
	background-color: #a1c44e;
	color: #fff;
}
.tel_btn::before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url(./images/common/btn_tel_g.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 8px;
	margin-bottom: 3px;
    vertical-align: middle;
	transition: background-image 0.5s ease;
}
.btn_tel:hover .tel_btn::before {
    background-image: url(./images/common/btn_tel.png);
}

.btn_mail{
	padding: 29px 20px 22px;
	text-align: center;
	background-color: #fff;
	color: #a1c44e;
	transition: background-color 0.5s ease, color 0.5s ease;
}
.btn_mail:hover{
	background-color: #a1c44e;
	color: #fff;
}
.tel_mail::before {
    content: "";
    display: inline-block;
    width: 42px;
    height: 30px;
    background-image: url(./images/common/btn_mail.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 20px;
	margin-bottom: 4px;
    vertical-align: middle;
	transition: background-image 0.5s ease;
}
.btn_mail:hover .tel_mail::before {
    background-image: url(./images/common/btn_mail_w.png);
}

.services_disc li::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 4px;
    background: #5bb7ef;
    margin-right: 8px;
    vertical-align: middle;
}
.footer_pb60{
	padding-bottom: calc(20px + 2vh);
}
@media screen and (max-width: 599px){
.footer_pb60{
	padding-bottom: calc(30px + 6vw);
}
}

@media screen and (max-width: 1200px){
	/* .sp_contact_p{
		padding: 10px 0;
	} */
}
@media screen and (max-width: 880px){
	.btn_contact {
		padding: 4% 4%;
	}
}
@media screen and (max-width: 768px){
	.btn_recruit {
    padding: 10% 6% 3%;
	}
	.footer_flex {
		flex-wrap: wrap;
	}
	.wt75,.wt50,.wt30,.wt25{
	width: 100%;
	}
	.icon_flex {
    flex-direction: column;
	}
}

@media screen and (max-width: 599px){
	.contact_grid {
	grid-template-columns: 1fr;
	gap:10%;
	}
}

.f_btn{
	width: 100% !important;
}

.ft_bg {
    background-image: url(./images/common/footer_bg_img.jpg);
	background-position: right bottom;
    background-size: cover;       
    background-repeat: no-repeat;
}

.f_mb40{
	margin-bottom: 40px;
}

.footer_ttl{
	position: absolute;
	top: 25%;
	left: 50%;
	transform: translate(-50%, -50%);
}

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

.footer_ttl{
	top: 20%;
}

}/*END*/


/*----------------------------------------
	page_top
----------------------------------------*/

.page_top{
	width: auto;
	max-width: 84px;
	position: fixed;
	right: 1.2%;
	bottom: 4%;
	z-index: 2;
}
.page_top a{
	display: block;
}
.pt_rotate:hover img{
	transition: transform 1s;
	transform: rotateY(360deg);
}

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

	.page_top{
		width: 40px;
		right: 10px;
		bottom: 20px;
	}

}/*END*/

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

	.page_top{
		width: 45px;
		right: 6px;
		bottom: 15px;
	}

}/*END*/


/*----------------------------------------
	サイトマップ
----------------------------------------*/

.sitemap_grid {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	max-width: 800px;
	margin-inline: auto;
}
.sitemap_col {
	display: flex;
	flex-direction: column;
	gap: 60px;
}
/* SP（1カラム）時は縦に並べる */
@media screen and (max-width: 768px) {
	.sitemap_grid {
		flex-direction: column;
		gap: 60px;
	}
}
.sitemap_item a{
	color: #000;
}
.sitemap_item a:hover {
    color: #a1c44e;
}


/*----------------------------------------
	フォーム　テーブル
----------------------------------------*/

.tb_style{
	width: 100%;
}
table.tb_style{
	word-break: break-all;
}
.tb_style th,
.tb_style td{
	line-height: 1.6;
	text-align: left;
	font-weight: normal;
	padding:20px 10px 20px 15px;
	overflow-wrap : break-word;
}
.tb_style th{
	box-sizing: border-box;
	width:30%;
	font-weight: bold;
}
.tb_style td{
	padding-left:15px;
}
.tb_style .tr_add th{
	vertical-align: top;
	padding-top: 4.5%;
}

@media print, screen and (min-width: 900px){

	.tb_style th{
		width: 230px;
	}

}/*END*/

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

	.tb_style th{
		width: 28%;
	}

}/*END*/

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

	table.tb_style{
		border-spacing: 0 0;
	}
	.tb_style th{
		width: 100%;
		padding-left: 0;
	}
	.tb_style th, .tb_style td{
		border: none;
		display: block;
		font-size:1.4rem;
	}
	.tb_style th{
		font-weight: bold;
		padding:8px 5px 0 0;
	}
	.tb_style td{
		padding: 8px 0 15px 0;
	}

}/*END*/

/*必須・任意*/
.hissu,
.nini{
	display: inline-block;
	line-height: 1 !important;
	padding: 3px 5px;
	margin-left: 6px;
	vertical-align: middle;
	border-radius: 2px;
	font-size: 1.4rem !important;
	box-sizing: border-box;
	margin-top: -2px;
}
.hissu{
	background: #88af2d;
	color: #fff;
}
.nini{
	color: #7d7d7d;
	background: #fff;
	border: #7d7d7d 1px solid;
}
.add span{
	display: inline-block;
	padding-right: 10px;
}
.privacy .wpcf7-acceptance{ display: inline-block !important; }
.privacy_error{
	text-align: center;
	padding: 2px 10px;
}
.privacy.check label{
	padding-top:0;
	padding-bottom: 0;
}
.privacy_check .vertical-item{
	display: inline-block !important;
}
.privacy_check{
	background: #ece8dc;
	padding: 25px 10px;
}


/*----------------------------------------
	フォーム
----------------------------------------*/

select,
textarea,
input[type="text"],
input[type="tel"],
input[type="email"]{
	background:#fff;
	border: #b3b3b3 1px solid;
	padding: 15px 13px;
	box-sizing: border-box;
	-webkit-appearance: none;
	transition: all 0.4s;
	font-size: 1.6rem;
	color: #333;
		font-family:'游ゴシック体', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
}
input:focus{
	outline: #bfe469 0.1px solid;
}
textarea:focus{
	outline: #bfe469 0.1px solid;
}
input[type="button"]{
	-webkit-appearance: none;
}
button,
input[type="submit"]{
	-webkit-appearance: none;
	transition: all 0.4s;
}
select{
	background-size: auto 100%;
	padding-right: 60px;
}
.tb_style textarea{
	width:100%;
}

.form1{ width: 100px; }
.form2{ width: 120px; }
.form3{ width: 200px; }
.form4{ width: 400px; }

input.job_sonota{
	padding: 8px 8px !important;
}

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

	select,
	textarea,
	input[type="text"]{
		font-size: 1.6rem;
	}
	.form3,
	.form4{
		width: 100%;
	}

}/*END*/

/* form_list全体：横並び */
.form_list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
  align-items: flex-start;
  font-feature-settings: "palt";
  line-height: 1.5;
  column-gap: 10px;
}

/* 質問内容（dd） */
.form_list dd {
  flex: 1;
  padding: 0.5em 0 1em 1.5em;
  box-sizing: border-box;
}

/* ラジオボタンの選択肢は縦並び */
.form_list dd label input[type="radio"] {
  margin-right: 0.5em;
}
.form_list dd label {
  display: block;
  margin-bottom: 0.5em;
  cursor: pointer;
}

/* 入力欄の基本横幅 */
.form450,
.form280,
.form200,
.form_all,
.form02 {
  max-width: 100%;
}
.form450{
	width: 450px;
}
.form280{
	width: 280px;
}
.form200{
	width: 200px;
}
.form_all{
	width: 96%;
}
.form_mt{
	margin-top: 16px;
}

/* スマホ対応（下に並ぶ） */
@media (max-width: 768px) {
  .form_list {
    flex-direction: column;
  }
  .form_list dt {
    width: 100%;
    padding-bottom: 0;
  }
  .form_list dd {
    padding-left: 0;
  }
  .form_all{
	width: 100%;
}
}

/* ラジオボタン選択肢を縦並びに */
.form_list dd label input[type="radio"] {
  margin-right: 0.5em;
}

.form_list dd .wpcf7-list-item {
  display: block;
  margin-bottom: 0.5em;
}

/* ラジオボタンを非表示にしてカスタムで描画 */
input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 20px;
  height: 20px;
  border: 1px solid #b3b3b3;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.5em;
  background-color: transparent;
}

/* チェック時の中心の● */
input[type="radio"]::before {
  content: "";
  position: absolute;
  top: 4px;  /* 中心に合わせる調整 */
  left: 4px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #88af2d;
  display: none;
}

/* 選択されたら●を表示 */
input[type="radio"]:checked::before {
  display: block;
}

.form_list dt {
  width: 230px;
  font-weight: 600;
  padding: 1em 0;
  box-sizing: border-box;
  position: relative; /* ← 必須ラベルを右に固定するため */
}

/* 必須・任意 */
/* .form_list dt .hissu,
.form_list dt .nini {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
} */

.form_list dt .hissu, .form_list dt .nini {
    position: static;
    white-space: nowrap;
    margin-left: 0.5em;
}

@media (max-width: 768px) {
  .form_list dt {
    width: 100%;
    padding-bottom: 0.5em;
    position: static;
  }

  .form_list dt .hissu,
  .form_list dt .nini {
    position: static;
    transform: none;
    margin-left: 1em;
  }
}

/* 横並びベースの設定 */
.add_box {
  display: flex;
  align-items: center;
  gap: 1em; /* ラベルと入力欄の間隔 */
  margin-bottom: 1em;
}

/* ラベルテキストの固定幅・縦中央寄せ */
.add_box p {
  width: 6em;
  margin: 0;
  line-height: 1.4;
}

/* 入力欄に合わせた伸縮可能な幅 */
.add_box label {
  flex: 1;
}

/* メディアクエリ：スマホでは縦並び */
@media (max-width: 768px) {
  .add_box {
    flex-direction: column;
    align-items: flex-start;
  }

  .add_box p {
    width: auto;
    margin-bottom: 0.3em;
  }

  .add_box label {
    width: 100%;
  }
}

.form_list dd:has(.wpcf7-not-valid-tip) {
    background-color: #fed7d7;
	padding: 16px 0 16px 16px;
}
@media (max-width: 768px) {
	.form_list dd:has(.wpcf7-not-valid-tip) {
	padding: 16px 16px 16px 16px;
}
}

.wpcf7-not-valid-tip {
    color: #dc3232;
    font-size: 1em;
    font-weight: normal;
    display: block;
}

/* 各ラベル内のエラー表示を非表示に（ラベル下に出てしまう問題） */
.wpcf7-list-item .wpcf7-not-valid-tip {
  display: none !important;
}

/* ラジオグループ全体の下にだけ表示されるエラーをスタイリング */
.inquiry_subject_wrap > .wpcf7-not-valid-tip {
  display: block;
  color: red;
  font-size: 14px;
  margin-top: 4px;
}

.btn_send{
	width: 90%;
    max-width: 300px;
    background-color: #a1c44e;
	box-shadow: 0px 5px #7e9b3a;
    text-decoration: none;
    padding: 1.5em 1em;
    letter-spacing: 1px;
    color: #fff;
    line-height: 1;
    text-align: center;
    display: inline-block;
    box-sizing: border-box;
    cursor: pointer;
    transition: all 0.4s;
    position: relative;
    font-size: 1.6rem;
	border: none;
}
.btn_back{
	width: 90%;
    max-width: 300px;
    background-color: #A9A9A9;
	box-shadow: 0px 5px #4c4c4c;
    text-decoration: none;
    padding: 1.5em 1em;
    letter-spacing: 1px;
    color: #fff;
    line-height: 1;
    font-weight: bold;
    text-align: center;
    display: inline-block;
    box-sizing: border-box;
    cursor: pointer;
    transition: all 0.4s;
    position: relative;
    font-size: 1.6rem;
	border: none;
}
.btn_send:hover,
.btn_back:hover{
	box-shadow: 0px 0px;
	translate: 0 5px;
}
.btn_send + .wpcf7-spinner{
	position: absolute;
}
.wpcf7-form-control input[type="checkbox"]{
	opacity: 0;
	appearance: none;
	position: absolute;
}
.wpcf7-form-control input[type="checkbox"] + .wpcf7-list-item-label::before{
	content: "";
	position: absolute;
	top: 3px;
	left: 0;
	background: #fff;
	border: 1px solid #bebbb0;
}
@media (max-width: 768px) {
	.wpcf7-form-control input[type="checkbox"] + .wpcf7-list-item-label::before{
	top:1px;
}
}
.wpcf7-form-control input[type="checkbox"] + .wpcf7-list-item-label::before{
	width: 18px;
	height: 18px;
	border-radius: 4px;
}
.wpcf7-form-control input[type="checkbox"]:checked + .wpcf7-list-item-label::after{
	content: "";
	display: block;
	position: absolute;
}
.wpcf7-form-control input[type="checkbox"]:checked + .wpcf7-list-item-label::before{
	background-color: #fff;
}
.wpcf7-form-control input[type="checkbox"]:checked + .wpcf7-list-item-label::after{
	left: 6px;
	top: 6px;
	width: 4px;
	height: 9px;
	transform: rotate(40deg);
	border-bottom: 3px solid #88af2d;
	border-right: 3px solid #88af2d;
}
.wpcf7-acceptance .wpcf7-not-valid-tip {
	display: block;
	margin-top: 5px; /* 必要に応じて調整 */
}
/*----------------------------------------
	radio checkbox
----------------------------------------*/

.radio input[type="radio"],
.check input[type="checkbox"]{
	display: none;
}
.radio label,
.check label{
	display: inline-block;
	position: relative;
	cursor: pointer;
	margin-left: 10px;
	padding: 5px 0 5px 30px;
	line-height: 1.2;
}
.radio label:before,
.check label:before{
	position: absolute;
	content: "";
	top: 40%;
	left: -10px;
	width: 24px;
	height: 24px;
	margin-top: -10px;
	background: none;
	border:1px solid #898989;
	border-radius: 50%;
	box-sizing: border-box;
}
.check label:before{
	border-radius: 0;
}
.privacy_check .check label::before{
	border: 1px solid #898989;
}
.radio label:before,
.check label:before{
	display: none\9;
}
.radio label:not(:target):before,
.check label:not(:target):before{
	display: inline-block\9;
}
.radio input[type="radio"]:checked + label:after{
	position: absolute;
	content: "";
	top: 40%;
	left: -10px;
	width: 28px;
	height: 28px;
	margin-top: -10px;
	border-radius: 50%;
	background: #e7e7e7;
	border-color: #e7e7e7;
}
.check input[type="checkbox"]:checked + label::after{
	content: "";
	position: absolute;
	top: 50%;
	box-sizing: border-box;
	display: block;
}
.check input[type="checkbox"]:checked + label::after{
	left: -7px;
	width: 18px;
	height: 12px;
	margin-top: -9px;
	border-left: 3px solid #333333;
	border-bottom: 3px solid #333333;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

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

	.radio label, .check label{
		padding: 5px 0 5px 25px;
	}

}/*END*/


/*----------------------------------------
	iframe
----------------------------------------*/

.style_k_f{
	width: 100%;
	height: 100%;
	aspect-ratio: 15 / 44;
}
.form_tr{
	width: 100%;
	margin-bottom: 30px;
}
.form_tr label{
	width: 100%;
	position: relative;
	display: inline-block;
	max-width: 100%;
	margin-bottom: 5px;
	font-weight: bold;
}
.form_tr input,.form_tr select,.form_tr textarea{
	display: block;
	width: 100%;
	height: 32px;
	padding: 6px 12px;
	font-size: 13px;
	line-height: 1.42857143;
	color: #555555;
	background-color: #ffffff;
	background-image: none;
	border: 1px solid #cccccc !important;
	border-radius: 4px;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	-webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
	-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
	transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
	height:45px;
	font-size:15px;
	border:1px solid #e0e0e0;
	border-radius: 2px;
}
.form_tr textarea{
	height: auto;
}
.form_tr input[type="checkbox"], input[type="radio"]{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
	margin-right: 0.4em !important;
	width: 26px;
	height: 26px;
}
.well-form-only{
	min-height: 20px;
	padding: 19px;
	margin-bottom: 5px;
	background-color: #f5f5f5;
	border: 1px solid #e3e3e3;
	border-radius: 4px;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.form_tr_flex{
	display: flex;
	gap:2.5%;
}
.f_hissu{
	background-color: #df6f5f;
	color: #fff;
	font-size: 1.2rem;
	margin-right: 0.3em;
	font-size: 0.8em;
	padding: 0.05em 0.3em 0.1em 0.3em;
	border-radius: 0.3em;
	white-space: nowrap;
	text-align: center;
	font-weight: normal;
}
.f_nini{
	background-color: #f5b555;
	color: #fff;
	font-size: 1.2rem;
	margin-right: 0.3em;
	font-size: 0.8em;
	padding: 0.05em 0.3em 0.1em 0.3em;
	border-radius: 0.3em;
	white-space: nowrap;
	text-align: center;
	font-weight: normal;
}
input[type="submit"]{
	-webkit-appearance: button;
	cursor: pointer;
}
.evform_btn{
	border-radius: 2px;
	padding: 10px 20px;
	font-size: 15px !important;
}
.btn-primary{
	color: #ffffff;
	background-color: #428bca;
	border-color: #357ebd;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary{
	color: #ffffff;
	background-color: #3071a9;
	border-color: #285e8e;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary{
	background-image: none;
}


/*----------------------------------------
	よく使うレイアウト
----------------------------------------*/
.border{
	border: 1px solid #fff;
}
.border_t{
	border-top: 1px solid #000;
}
.border_b{
	border-bottom: 1px solid #000;
}
.border_t_w{
	border-top: 1px solid #fff;
	padding-top: 16px;
}
.box_text h4{
	line-height: 1.5;
}
.box_text span{
	display: block;
}
.ttl_500{
	max-width: 500px;
	margin-right: auto;
	margin-left: auto;
	width: 60%;
}

@media print, screen and (min-width: 600px){

	.box_text{
		width: calc((510/1040)*100%);
		padding-top: 20px;
	}
	.box_img{
		width: calc((500/1040)*100%);
	}
	.left{ float:left; }
	.right{ float:right; }
	.box_l{
		float: left;
		width: calc((500/1040)*100%);
	}
	.box_r{
		float: right;
		width: calc((500/1040)*100%);
	}

}/*END*/

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

	.ttl_500{
		width: 100%;
	}

}/*END*/


/*----------------------------------------
	FAQ
----------------------------------------*/

.faq_fl{
	display: flex;
	align-items: flex-start;
	gap: 1.8%;
}

.faq_q{
	background: #f2f1e8;
	box-sizing: border-box;
	width: 100%;
	align-items: center;
}

.faq_icon{
	width: 15%;
	text-align: center;
	max-width:80px;
	padding-left: 1.3%;
}
.faq_tex{
	width: 84%;
	padding-right: 1.3%;
}

.sm_list li{
	width: 100%;
	margin-bottom: 50px;
}

.sm_list .b_pr{
	display: inline-block;
	padding-right: 15px;
}

@media screen and (max-width: 599px){
	.sitemap .box40{
		padding-bottom: 0;
	}

	.sm_list li{
		margin-bottom: 25px;
	}

}/*END*/

/* 画像アニメーション */

:root {
    --easing01: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.scroll_zoom {
    overflow: hidden;
	object-fit: cover;
	aspect-ratio: 4/3;
}

.scroll_zoom img {
    transform: scale(1.1);
    transition: transform 4s var(--easing01);
	object-fit: cover;
	overflow: hidden;
	width: 100%;
	max-width: 100%;
    max-height: 100%;
}

.scroll_zoom.show img {
	transform: scale(1);
}

@media screen and (max-width: 599px){
	.ar_auto{
		aspect-ratio: auto;
	}
}/*END*/

.icon_arrow_cls-1 {
    stroke: #88af2d;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 5px;
}
.icon_arrow_cls-2 {
	stroke: #88af2d;
    fill: none;
	stroke-width: 5px;
}
.icon_arrow_cls-3 {
    stroke: #fff;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 7px;
}
.icon_arrow_cls-4 {
	stroke: #fff;
    fill: none;
	stroke-width: 7px;
}
.list_circle_icon .icon_arrow {
    display: block;
    width: 50%;
    margin: auto;
}
.icon_arrow {
	display: inline-block;
	width: 20px;     /* 横幅を調整 */
	height: auto;    /* アスペクト比を保ちたい場合 */
}
.icon_arrow svg {
	width: 100%;
	height: auto;
	display: block;
}
.list_circle_icon .icon_tab {
    display: block;
    width: 50%;
    margin: auto;
}
.icon_tab svg * {
    fill: #88af2d;;
}
.icon_tab svg {
    width: 100%;
}

/*----------------------------------------
	トップページ
----------------------------------------*/
/* btn */
.service {
    max-width: 450px;
    height: 100%;
    margin: auto;
    transition: box-shadow 0.5s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.service > p {
    margin: 7% 2% 0% 2%;
}
.service > div{
	margin: 0% 2% 7% 2%;
}
/* .service:hover{
	box-shadow: 0 0 50px rgba(31, 113, 169);
} */

.btn_w {
	/* max-width: 270px; */
	transition: box-shadow 0.5s ease;
}
@media screen and (max-width: 768px){
	.btn_w{
		max-width: 270px;
	}
}

.open .drawer_content .btn_w {
	max-width: 300px;
	width: 100%;
	font-size: 1.8rem;
}

.btn_w.w250{
	width: 250px;
}
.btn_w.m_auto{
	margin: auto;
}
/* .btn_w:hover{
    box-shadow: 0 0 50px rgba(31, 113, 169);
} */

/* list_circle_icon */
.servies_btn {
    height: 70px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 7%;
    padding-right: 7%;
    box-sizing: border-box;
    transition: .6s var(--easing01);
}
.servies_btn.height{
	height: auto;
}
.servies_btn.recruit{
    justify-content: flex-start;
    gap: 4%;
	padding-left: 0%;
    padding-right: 0%;
}
.servies_btn.sp_p_none{
	padding-left: 3%;
	padding-right: 3%;
}
@media screen and (max-width: 599px){
	.servies_btn {
		padding-left: 10%;
		padding-right: 10%;
		gap: 3%;
	}
	.servies_btn.sp_p_none{
		padding-left: 0%;
		padding-right: 0%;
	}
}
.head_content .fixed_btn .servies_btn{
	flex-direction: column;
	height: 120px;
	justify-content: center;
	gap: 10px;
}
.list_circle_icon{
	width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    overflow: hidden;
    /* background: url(./images/common/btn_circle.png);
    min-width: 40px; */
	background-color: #88af2d;
}

.list_circle_icon_b{
	width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    overflow: hidden;
    /* background: url(./images/common/btn_circle_2.png);
    min-width: 40px; */
	background-color: #fff;
}

@media screen and (max-width: 599px){
	.list_circle_icon{
	width: 30px;
    height: 30px;
}
.list_circle_icon_b{
	width: 30px;
    height: 30px;
}
}

.list_circle_icon > *,
.list_circle_icon_b > * {
	width: 100%;
	flex: none;
	transition: 0s;
}
.servies_btn:hover .list_circle_icon > *,
.servies_btn:hover .list_circle_icon_b > * {
	transform: translateX(100%);
	transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1);;
}
a:hover .servies_btn{
	color: #81ccfa;
}
.list_circle_icon .icon_tab{
    display: block;
    width: 50%;
    margin: auto;
	padding-bottom: 4px;
}
.open .drawer_content .list_circle_icon .icon_tab{
	padding-bottom: 16px;
}
.list_circle_icon_b .icon_tab{
	display: block;
    width: 50%;
    margin: auto;
}
.icon_tab img {
	width: 100%;
}
.icon_tab img * {
	fill: #fff;
}

/* @media screen and (max-width: 499px) {
    .list_circle_icon {
        width: 28px;
        height: 28px;
    }
} */

/* 文字 */
.btn_sky01_txt,
.btn_green01_txt {
	overflow: hidden;
	position: relative;
}
.btn_text16{font-size: 1.6rem;}
.btn_sky01_txt.t_24,
.btn_green01_txt.t_24 {
    overflow: hidden;
    position: relative;
    font-size: clamp(2.1rem, -0.804rem + 3.29vw, 2.125rem);
}
.btn_sky01_txt span {
    display: block;
    transform: translateY(0);
    transition: transform 0.6s var(--easing01), color 0.6s var(--easing01);
    color: #88af2d;
    text-shadow: 0 1.5em 0 #88af2d; 
}
.btn_green01_txt span {
    display: block;
    transform: translateY(0);
    transition: transform 0.6s var(--easing01), color 0.6s var(--easing01);
    color: #fff;
    text-shadow: 0 1.5em 0 #fff; 
}

.btn_sky01_txt.blue_txt span {
	text-shadow: 0 1.5em 0 #81ccfa; 
}

@media (hover: hover) {
    .servies_btn:hover .btn_sky01_txt span,
	.servies_btn:hover .btn_green01_txt span {
        transform: translateY(-1.5em);
        color: rgba(255, 255, 255, 0.3);
    }
	.servies_btn:hover .btn_sky01_txt.blue_txt span,
	.servies_btn:hover .btn_green01_txt.blue_txt span {
		transform: translateY(-1.5em);
		color: rgba(129, 204, 250, 0.3);
	}
}
@media (max-width: 999px) {
	.btn_sky01_txt.t_24,
	.btn_green01_txt.t_24 {
		font-size: 1.7rem;
	}
	.btn_sky01_txt.blue_txt span,
	.btn_green01_txt.blue_txt span {
		transform: none;
		transition: none;
		text-shadow: none !important; 
	}
}
@media (max-width: 599px) {
	.btn_sky01_txt.t_24,
	.btn_green01_txt.t_24 {
		font-size: clamp(1.6rem, 0.427rem + 2.87vw, 2.5rem);
	}
}

.slide_text {
	overflow: hidden;
	height: 1.5em;
	display: block;
}
.slide_text span {
	display: block;
	transform: translateY(0);
	transition: transform 0.6s ease, color 0.6s ease;
	text-shadow: 0 1.5em 0 #fff;
}

@media (hover: hover) {
	#sd li a:hover .slide_text span {
    transform: translateY(-1.5em);
    color: rgba(255, 255, 255, 0.3);
	}
}
/* グラデーション背景 */
.a_center{
	align-items: center; 
}
.gradetion_anim {
	display: flex;
	flex-direction: column;
}

.gradetion_anim .mv_line {
	display: inline-block;
	position: relative;
	overflow: hidden;
	width: fit-content;
}

.gradetion_anim .bg_anim {
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	z-index: 2;
	background: #1DD5E6;
	background: linear-gradient(135deg,rgba(29, 213, 230, 1) 0%, rgba(70, 174, 247, 1) 50%, rgba(70, 174, 247, 1) 100%);
	background-repeat: no-repeat;
	background-size: cover;
	pointer-events: none;
}
.gradetion_anim.start .bg_anim {
	animation: mv_copy_bg 0.6s forwards;
}

.gradetion_anim .text_wrap {
	position: relative;
	opacity: 0;
	bottom: -80px;
	z-index: 3;
}

.gradetion_anim.start .text_wrap {
	animation: mv_copy_text 0.4s forwards;
	animation-delay: 0.4s;
}
.gradetion_anim.start .mv_line:nth-child(1) .bg_anim {
	animation: mv_copy_bg 0.6s forwards;
	animation-delay: 0s;
}
.gradetion_anim.start .mv_line:nth-child(2) .bg_anim {
	animation: mv_copy_bg 0.6s forwards;
	animation-delay: 0.6s;
}
.gradetion_anim.start .mv_line:nth-child(3) .bg_anim {
	animation: mv_copy_bg 0.6s forwards;
	animation-delay: 1.2s;
}

.gradetion_anim.start .mv_line:nth-child(1) .text_wrap {
	animation: mv_copy_text 0.4s forwards;
	animation-delay: 0.4s;
}
.gradetion_anim.start .mv_line:nth-child(2) .text_wrap {
	animation: mv_copy_text 0.4s forwards;
	animation-delay: 1.0s;
}
.gradetion_anim.start .mv_line:nth-child(3) .text_wrap {
	animation: mv_copy_text 0.4s forwards;
	animation-delay: 1.6s;
}



/* 飾り */
.z_in1 {
	z-index: 1;
}
.z_in2 {
	z-index: 2;
}
.z_in3 {
	z-index: 3;
}
.star01 {
    max-width: 932px;
    width: 100%;
    position: absolute;
    top: 112%;
    left: 46.5%;
    transform: translate(-50%, -50%);
    transition: all 0.1s;
}
.star02 {
    max-width: 500px;
    width: 100%;
    position: absolute;
    top: 54%;
    left: 80.5%;
    transform: translate(-50%, -50%);
    transition: all 0.1s;
}
.bg_company {
	width: 100%;
    position: absolute;
    top: 49%;
    left: 49%;
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 599px){
	.star01 {
        top: 93.5%;
    }
	.star02{
		top: 72%;
        left: 75.5%;
	}
    .bg_company {
        top: 32%;
        left: 60%;
    }
}
@media screen and (max-width: 450px) {
    .bg_company {
        top: 25%;
        left: 60%;
        width: 120%;
    }
}
@media screen and (max-width: 400px) {
    .bg_company {
        top: 25%;
        left: 60%;
        width: 120%;
    }
		.star01 {
        top: 23.5%;
		width: 116%;
    }
}
/* レイアウト */
.inner_frame860{
	max-width: 860px;
	width: 100%;
	position: relative;
	box-sizing: border-box;
	margin-inline: auto;
}
.partner_flex {
    display: flex;
    align-items: flex-start;
    justify-content: end;
    gap: 3%;
}
.grid{
	display: grid;
}
.flex_end{
	display: inline-flex;
	justify-content: end;
}
.grid_box {
    display: grid;
    row-gap: 20px;
    column-gap: 20px;
    grid-template-columns: 1fr 1fr;
	grid-auto-rows: 1fr;
}
.z_in1{
	z-index: 1;
}
.z_in2{
	z-index: 2;
}
@media screen and (max-width: 599px){
	.partner_flex {
		flex-wrap: wrap;
		justify-content: center;
	}
	.flex_end{
		justify-content: start;
	}
	.grid_box{
		gap: 20px;
		grid-template-columns: 1fr;
	}
}

.inner_frame1350{
	width: 100%;
    max-width: 1350px;
    margin-inline: auto;
}
.partner_frame {
    width: 100%;
    max-width: 1350px;
    margin-inline: auto;
    position: relative;
    top: -30px;
    z-index: 1;
}
.company_frame{
	max-width: 1080px;
	width: 100%;
	box-sizing: border-box;
	margin-inline: auto;
}
.company_detail {
    margin-left: auto;
    width: fit-content;
    margin-right: 10%;
	margin-top: 12%;
}
@media screen and (max-width: 1200px){
	.partner_frame{
		box-sizing: border-box;
		margin-inline: auto;
		padding-left: 20px;
	}
}
@media screen and (max-width: 880px){

	.partner_img{
		width: 50%;
	}
}
@media screen and (max-width: 599px){
    .partner_frame{
        padding-left: 0;
	}
	.partner_img{
		width: 100%;
	}
	.company_frame{
		padding-right: 4.8%;
		padding-left: 4.8%;
	}
	.company_detail{
		margin-left: 0;
		width: 100%;
		margin-right: 0px;
	}
}
/* 背景 */
.bg_partner{
	background-color: #162042;
    border-radius: 30px 30px 0 0;
	max-height: 530px;
}

/* 余白 */
.p_r20{
	padding-right: 20px;
}
@media screen and (max-width: 880px){
	.sp_m_t10{
		margin-top: 5%;
	}
}
@media screen and (max-width: 768px){
	.sp_p_t5p{
		padding-top: 5%;
	}
	.sp_p_b10p{
		padding-bottom: 10%;
	}
	.sp_p_b80p{
		padding-bottom: 80%;
	}
	.sp_p_t40{
		padding-top: 40px;
	}
	.sp_p_t30{
		padding-top: 30px;
	}
	.sp_p_t20{
		padding-top: 20px;
	}
	.sp_m_t10{
		margin-top: 10%;
	}
	.sp_prl43p{
		padding: 0 4.3%;
	}
	.p_r20{
		padding-right: 0px;
	}
	.sp_btn_center{
		margin: 7% auto 0;
	}
}
/* 文字 */
.text_60.c_txt {
    font-size: clamp(48px, 4.5vw, 60px);
    line-height: 1.1;
}
.text_12_c{
	font-size: clamp(1.2rem, 1.1vw, 1.2rem);
}
@media screen and (max-width: 599px){
	.lh_24.lh_c{
		line-height: 2.8 !important;
	}

}/*END*/


/* グレーアウト */
.disabled-link {     
	pointer-events: none;   
	text-decoration: none;    
	cursor: default;   
	opacity: 0.5;   
	display:block;           
}

.news_list {
	padding: 0;
}
.news_item {
	position: relative;
	width: 100%;
}
.news_item a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 30px 25px;
	background-color: #fff;
	overflow: hidden;
	column-gap: 60px;
}
.news_item a:hover{
	opacity: 0.7;
}
.news_texts {
	display: flex;
	flex: 1;
	align-items: center;
	flex-wrap: wrap;
	row-gap: 5px;
	min-width: 0;
}

.news_meta {
	display: flex;
	gap: 8px;
	align-items: center;
}

.news_tags {
	display: flex;
	gap: 6px;
}

.news_mb_40{
	margin-bottom: 40px;
}
.news_mb_20{
	margin-bottom: 20px;
}

/* SP時 */
@media (max-width: 768px) {
	.news_item a {
    flex-direction: row;
	padding: 16px 13px;
    column-gap: 24px;
	}
	.news_texts {
	flex-direction: column;
	align-items: flex-start;
	row-gap: 10px;
}
}

@media (max-width: 600px){
	.news_meta {
	align-items: normal;
	gap: 0;
}
	.news_tags {
	flex-direction: row;
}
}

.news_date {
	color: #000;
	margin-right: 0.5em;
	font-size: 1.6rem;
}
.news_tags .news_tag {
	background: #a1c44e;
	padding: 3px 10px 5px;
	margin-right: 10px;
	font-size: 1.4rem;
	color: #fff;
}
.news_title{
	color: #000;
	font-size: 1.6rem;
	display: inline-block;         /* インライン要素だと省略できないのでblockまたはinline-blockに */
  	white-space: nowrap;         /* 改行させない */
  	overflow: hidden;            /* はみ出た部分を非表示に */
  	text-overflow: ellipsis;     /* 省略記号（…）をつける */
  	max-width: 100%;             /* 必要に応じて幅を制限 */
}
@media (max-width: 600px){
	.news_tags .news_tag {
		font-size: 1.2rem;
		white-space: nowrap;
		padding: 3px 3px 5px;
		margin-right: 0px;
	}
	.news_title{
	font-size: 1.4rem;
}
}
.btn_news_archive {
	display: inline-block;
	margin-top: 1em;
	background: #333;
	color: #fff;
	padding: 0.5em 1em;
	text-decoration: none;
}

.bg_gray{
	background-color: #eaeaea;
}

.news_bg {
    background-image: url(./images/news/news_bg.jpg);
	background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
	height: 50vh;
	position: relative;
}

.news_ttl{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* -----------------------------------------------
	会社案内
----------------------------------------------------*/
.inner_frame1160 {
    max-width: 1160px;
    margin-inline: auto;
    padding-right: 20px;
    padding-left: 20px;
}
.company_flex{
	display: flex;
}
.company_flex > div:nth-child(1) {
    width: 34%;
}
.company_flex > div:nth-child(2) {
    width: 60%;
}
.company_flex.c_flex_width > div:nth-child(1){
	width: 32%;
}
.company_flex.c_flex_width > div:nth-child(2) {
    width: 65%;
}
.p_r35{
	padding-right: 35px;
}
.p_left{
	padding-left: clamp(0rem, -31rem + 26.33vw, 6.875rem);
}
.company_t60 {
    font-size: clamp(38px, 5vw, 60px);
    line-height: 1;
}
@media screen and (max-width: 1200px){
	.company_flex.c_flex_width > div:nth-child(1){
		width: 27%;
	}
	.company_flex.c_flex_width > div:nth-child(2) {
		width: 74%;
	}
}
@media screen and (max-width: 850px){
	.company_flex{
		justify-content: space-between;
	}
	.company_flex > div:nth-child(1){
		width: 27%;
	}
	.company_flex > div:nth-child(2) {
		width: 68%;
	}
	.company_flex.c_flex_width > div:nth-child(1) {
		width: 24%;
	}
	.company_flex.c_flex_width > div:nth-child(2) {
		width: 76%;
	}
}
@media screen and (max-width: 745px){
	.sp_none745{
		display: none;
	}
}
@media screen and (max-width: 599px){
	.company_flex {
		flex-direction: column;
	}
    .company_flex > div:nth-child(1) {
		width: 100%;
	}
	.company_flex > div:nth-child(2) {
		width: 100%;
	}
	.company_flex.c_flex_width > div:nth-child(1){
		width: 100%;
	}
	.company_flex.c_flex_width > div:nth-child(2) {
		width: 100%;
	}
	.sp_m_b20{
		margin-bottom: 20px;
	}
	.p_r35{
		padding-right: 20px;
	}
	.company_t60 {
		font-size: clamp(2.188rem, 0.395rem + 8.96vw, 3.75rem);
		line-height: 1;
	}
}
@media screen and (max-width: 400px){
	.p_r35{
		padding-right: 0px;
	}
}
/* mv */
.page_mv {
    padding: 0 0 35%;
}
.mv_border_w{
	border-bottom: 1px solid #fff;
}
.page_mv_copy{
	max-width: 370px;
    width: 100%;
    position: absolute;
    top: 60%;
    left: auto;
    right: 	7%;
    transform: none;
    z-index: 1;
}
.page_mv_copy.news{
	max-width: 220px;
}
.page_mv_copy.media{
	max-width: 250px;
}
.page_mv_copy.privacy{
	max-width: 570px;
}
@media screen and (max-width: 1100px){
	.page_mv {
		padding: 0 0 45%;
	}

}
@media screen and (max-width: 880px) {
    .page_mv {
        padding: 0 0 55%;
    }
}
@media screen and (max-width: 768px){
	.page_mv_copy{
		max-width: 277px;
	}
	.page_mv_copy.news {
        max-width: 160px;
    }
	.page_mv_copy.media {
        max-width: 190px;
    }
	.page_mv_copy.privacy {
        max-width: 430px;
    }
}
@media screen and (max-width: 599px){
	.page_mv {
		padding: 0 0 75%;
	}
	.page_mv_copy {
        max-width: 54vw;
    }
	.page_mv_copy.news {
        max-width: 32vw;
    }
	.page_mv_copy.media {
        max-width: 34vw;
	}
	.page_mv_copy.privacy {
        max-width: 84vw;
    }
}
@media screen and (max-width: 400px){
	.page_mv_copy {
        max-width: 58vw;
    }
	.page_mv_copy.news {
        max-width: 33vw;
    }
	.page_mv_copy.media {
        max-width: 37vw;
    }
	.page_mv_copy.privacy {
        max-width: 87vw;
    }
}
.page_h1{
	font-size: 100px;
	color: #81ccfa;
}
@media screen and (max-width: 768px){
	.page_h1{
		font-size: 75px;
		color: #81ccfa;
	}
}
@media screen and (max-width: 599px){
	.page_h1{
		font-size: clamp(3.125rem, 0.691rem + 13.17vw, 8rem);
	}
}
/* Philosophy */
.philosophy_w{
	max-width: 40%;
}
/* overview */
.overview_table {
    width: 100%;
    text-align: left;
	font-family: "Zen Kaku Gothic New", sans-serif;

}
.overview_table th {
    width: 15%;
    padding-top: 2%;
    line-height: 1.8;
    border-bottom: 1px solid #81ccfa;
    vertical-align: baseline;
}
.overview_table td{
	width: 85%;
	padding: 2% 0 2% 30%;
	line-height: 1.8;
	border-bottom: 1px solid #fff;
	vertical-align: baseline;
}
@media screen and (max-width: 768px){
	.overview_table td {
		padding: 2% 0 2% 15%;
	}
}
@media screen and (max-width: 599px){
	.overview_table td {
		padding: 2% 0 2% 8%;
		line-height: 2.2;
	}
}
/* group */
.inner_frame1280 {
    max-width: 1280px;
    margin-inline: auto;
    padding-right: 20px;
    padding-left: 20px;
}
/* data */

.company_flex.data_c > div:nth-child(2) {
    width: 66%;
}
.company_data_flex{
    display: flex;
	gap: 20px;
}
.company_data_flex li {
    max-width: 240px;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    border: 2px solid #4f9ecf;
    display: flex;
    justify-content: center;
    flex-direction: column;
    text-align: center;
	font-size: clamp(1.2rem, 1.7vw, 1.8rem);
}
.company_data_flex li p{
	white-space: nowrap;
	line-height: 1.5;
}
.data_company_t60{
	font-size: 60px;
	line-height: 1.3;
}
.data_text_30{
	font-size: clamp(1.2rem, 2.2vw, 3rem);
}
@media screen and (max-width: 1349px){
	.data_company_t60{
		font-size: clamp(18px, 5.5vw, 60px);
	}
}
@media screen and (max-width: 850px){
	.company_flex.data_c{
		gap: 3%;
	}
	.company_flex.data_c > div:nth-child(2) {
		width: 72%;
	}
	.company_data_flex {
		gap: 15px;
	}
}
@media screen and (max-width: 599px) {
    .company_flex.data_c > div:nth-child(2) {
        width: 100%;
    }
	.company_data_flex {
		flex-wrap: wrap;
		justify-content: start;
	}
	.company_data_flex li {
        flex: 0 0 45.8%;
    }
	.data_company_t60{
		font-size: clamp(1.875rem, 0.441rem + 7.17vw, 6.125rem);
	}
	.data_text_30{
		font-size: 4vw;
	}
}
/* history */
.history_table {
	width: 100%;
	text-align: left;
}

.history_table th {
    width: 15%;
    font-size: 1.6rem;
    line-height: 1.5;
    position: relative;
    text-align: left;
    vertical-align: baseline;
    font-family: Arial;
}

.label-wrapper {
    display: flex;
    align-items: center; 
    height: 100%;
}

.label-text.label-text {
    font-size: 1.6rem;
    line-height: 1.5;
}
.label-text::after {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background-color: #4d4d4d;
    position: absolute;
    top: 1.5em;
    right: 0;
    transform: translateX(-4px);
    z-index: 0; 
}
.label-text.last::after {
    display: none;
}
.circle-marker {
    width: 10px;
    height: 10px;
    background-color: #4f9ecf;
    border-radius: 50%;
    margin-left: auto;
    z-index: 1; 
    position: relative; 
}
.history_table td {
	width: 90%;
	font-size: 1.6rem;
	padding: 2% 0 2% 5%;
	line-height: 1.5;
	vertical-align: baseline;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

@media screen and (max-width: 700px){
	.history_table th {
		width: 17%;
	}
	.history_table td{
		width: 65%;
	}
}
@media screen and (max-width: 599px) {
    .history_table td {
        line-height: 2;
    }
}
@media screen and (max-width: 400px) {
    .history_table th {
        width: 22;
    }
}
/* access */
.access_table {
    width: 73%;
    text-align: left;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
.access_table th {
    width: 20%;
    line-height: 1.8;
    border-bottom: 1px solid #81ccfa;
    vertical-align: baseline;
}
.access_table td {
    width: 80%;
    padding: 4.5% 0 4.5% 13%;
    line-height: 1.8;
    border-bottom: 1px solid #fff;
    vertical-align: baseline;
}
@media screen and (max-width: 599px){
	.access_table {
		width: 100%;
	}
	.access_table td {
		width: 80%;
		padding: 4.5% 0 4.5% 5%;
		line-height: 2;
	}
}

.about_bg {
    background-image: url(./images/about/about_bg.jpg);
	background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
	height: 50vh;
	position: relative;
}

.line_table {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.line_table th,.line_table td {
	padding: 2em 1em 2em 2em;
	vertical-align: top;
	box-sizing: border-box;
}
.line_table th {
	border-bottom: 2px solid #88af2d;
	text-align: left;
	width: 11em;
}
.line_table td {
	border-bottom: 2px solid #898989;
}
@media screen and (max-width: 768px) {
	.line_table tr {
		display: block;
	}
	.line_table th,.line_table td {
		display: block;
		width: 100%;
		border-bottom: none;
		padding: 1em 1em;
	}
	.line_table th {
		padding-top: 0.5em;
		padding-bottom: 0.5em;
		background-color: #88af2d;
        color: #fff;
	}
	.line_table td {
		padding-bottom: 2em;
	}
}
.history_list li {
	display: flex;
	align-items: start;
	min-height: 80px;
	position: relative;
	padding-left: 40px;
	box-sizing: border-box;
	margin-left: 30px;
	padding-bottom: 1em;
}
.history_list li::after {
	content: "";
	display: block;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background-color: #88af2d;
	position: absolute;
	top: 0.5em;
	left: 17.5%;
}
.history_list li:not(:last-child):before {
	content: "";
	display: block;
	width: 2px;
	height: 100%;
	background-color: #eee;
	position: absolute;
	top: 0.5em;
	left: 17.5%;
	transform: translateX(4px);
}
.history_list li > div:nth-child(1) {
	width: 6em;
	flex: none;
	line-height: 1.6;
}
@media screen and (max-width: 1000px) {
	.history_list li::after {
	left: 16.5%;
}
	.history_list li:not(:last-child):before {
	left: 16.5%;
}
}
@media screen and (max-width: 499px) {
	.history_list li {
		min-height: 70px;
		padding-left: 20px;
		margin-left: 0px;
	}
	.history_list li::after {
	left: 18%;
}
	.history_list li:not(:last-child):before {
	left: 18%;
}
@media screen and (max-width: 399px) {
	.history_list li::after {
	left: 20%;
}
	.history_list li:not(:last-child):before {
	left: 20%;
}
}
}


/*----------------------------------------
	投稿ページ
----------------------------------------*/
a.media_link:hover {
    color: #81ccfa;
}

.item_first{
	display: flex;
    gap: 5%;
}
.bg_cat_news {
    background-color: #a1c44e;
    padding: 0px 10px;
    color: #fff;
    line-height: 2;
    text-align: center;
}
.photo_label{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.category_tag{
	display: flex;
    flex-direction: column;
    gap: 10px;
}
.new_icon{
	font-family: Arial;
	font-size:clamp(1.2rem, 1.1vw, 1.2rem);
}
@media screen and (max-width: 599px){
	/* .news_item {
		flex-direction: column;
	}
	.news_item > div:nth-child(1){
		width: 100%;
	}
	.news_item > div:nth-child(2){
		width: 100%;
	} */
	.item_first{
		flex-direction: column;
		margin-bottom: 30px;
	}
	.category_tag {
		flex-direction: row;
		flex-wrap: wrap;
	}
}/*END*/
/* 詳細ページ*/
.news_single_item1{
	display: flex;
    gap: 1%;
    align-items: center;
}
.single_other_list li{
	padding-top: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgb(255, 255, 255);
}
.single_tag{
	display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.media_custom{
	display: flex;
    justify-content: center;
    align-items: end;
    gap: 5%;
}
@media screen and (max-width: 599px){
	.news_single_item1{
		gap: 10px;
		flex-direction: column;
		align-items: baseline;
	}	
	.single_other_list li:first-child{
		padding-top: 0px;
	}
	.media_custom{
		flex-direction: column;
		align-items: center;
		gap: 5%;
		gap: 25px;
	}
}
/*----------------------------------------
	投稿タイプ　一覧ページャー
----------------------------------------*/
.page-numbers.dots{
	display: inline-block;
	margin-top: 20px;
}
.pager{
	position: relative;
	margin-top: 50px;
	/*
	overflow: hidden;
	*/
}
.pager ul{
	position: relative;
	float: left;
	left: 50%;
}
.pager.pager_right ul{
	position: relative;
	float: right;
}
.pager li{
	position: relative;
	float: left;
	left: -50%;
	color:#000;
	list-style: none;
}
.pager li a,
.pager li .current{
	display: inline-block;
	margin-right: 10px;
	text-align: center;
}
.pager li a{
	color:#000;
	text-decoration: none;
	width: 40px;
	aspect-ratio: 1/1;
	padding-top: 5px;
	padding-bottom: 5px;
	box-sizing: border-box;
	display: grid;
	place-items: center;

	/*
	border: 1px solid #e1e1e1;
	*/
}
.pager li a.prev,
.pager li a.next{
	border-radius: 50%;
	position: relative;
	border: 1px solid #000;
	color:#000;
}
.pager li a.prev::before,
.pager li a.next::before{
	transition: all 0.7s;
	content: '';
	width: 12px;
	height: 12px;
	position: absolute;
	top: 50%;
	left: 50%;	
	aspect-ratio: 1;
	background-color: #000;
}
.pager li a.next::before{
	clip-path: polygon(0 7%, 7% 0, 57% 50%, 7% 100%, 0 93%, 43% 50%, 0 7%);
	translate: -30% -50%;	
}
.pager li a.prev::before{
	clip-path: polygon(100% 7%, 93% 0, 43% 50%, 93% 100%, 100% 93%, 57% 50%);
	translate: -70% -50%;	
}
.pager li a.prev:hover::before,
.pager li a.next:hover::before{
	background-color: #a1c44e;
}
.pager li a.prev{ margin-right: 20px; }
.pager li a.next{ margin-left: 20px; }
.pager li .current{
	width: 40px;
	padding-top: 5px;
	padding-bottom: 5px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	aspect-ratio: 1/1;
	box-sizing: border-box;
	opacity: 0.5;
}
.pager li a:hover {
    background: transparent;
    color: #a1c44e;
    outline: none;
}
.pager li a.prev:hover ,
.pager li a.next:hover {
	border: 1px solid #a1c44e;
	background-color: transparent;
	border-radius: 50%;
	position: relative;
	color:#a1c44e;
}
@media screen and (max-width: 960px){

	.pager ul{
		position: relative;
		float: left;
		left: 50%;
	}
	.pager.pager_right ul{
		position: relative;
		float: left;
		left: 50%;
	}
	.pager li{
		position: relative;
		float: left;
		left: -50%;
		/*color:#434343;*/
		list-style: none;
	}
	.pager.pager_right li{
		position: relative;
		float: right;
		left: -50%;
		/*color:#434343;*/
		list-style: none;
		font-size: 1.2rem;
	}

}/*END*/

@media screen and (max-width: 599px){
	.pager li .current,.pager li a{
		width: 35px;
	}

}/*END*/
/*----------------------------------------
	投稿タイプ　詳細ページャー
----------------------------------------*/
.single_pager{
    max-width: 350px;
    margin-inline: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15%;
}
.single_pager li{
	position: relative;
	width: fit-content;
	list-style: none;
	display: block;
	min-height: 30px;
	text-align: center;
}
.single_pager li a{
	position: relative;
	display: block;
	color: #000;
	background: transparent;
	text-decoration: none;
	border-radius: 25px;
}
.news_detail .single_pager li a{
	color: #000;
	background: transparent;
	outline: 1px solid #000;
}
.single_pager li a:hover{
	color: #a1c44e;
}
.news_detail .single_pager li a:hover{
	background: #000;
	color: #a1c44e;
	outline: 1px solid #000;
}
.single_pager li.single_prev a:hover::before,
.single_pager li.single_next a:hover::before{
	border-top: solid 1px #000;
    border-right: solid 1px #000;
}
.news_detail .single_pager li.single_prev a:hover::before,
.news_detail .single_pager li.single_next a:hover::before{
	border-top: solid 1px #a1c44e;
    border-right: solid 1px #a1c44e;
}
.single_prev{
	width: 23.5%;
}
.single_list{ width: 50%; }
.single_next{
	width: 23.5%;
}
.single_pager li.single_prev a:before{
	content: '';
	width: 7px;
	height: 7px;
	border-top: solid 1px #000;
	border-right: solid 1px #000;
	position: absolute;
	top: 50%;
	transform: rotate(-135deg) translateY(50%);
	left: -46px;
	z-index: 2; 
	transition: all 0.5s;
}
.single_pager li.single_prev a:hover:before{
	border-top: solid 1px #a1c44e;
	border-right: solid 1px #a1c44e;
}
.single_pager li.single_prev a:after{
    content: '';
    width: 40px;
    height: 40px;
    border: 1px solid #000;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: -60px;
    transform: translateY(-50%);
    box-sizing: border-box;
    z-index: 1;
	transition: all 0.5s;
}
.single_pager li.single_prev a:hover:after{
    border: 1px solid #a1c44e;
	background-color: transparent;
}
.single_pager li.single_next a:before {
	content: '';
	width: 7px;
	height: 7px;
	border-top: solid 1px #000;
	border-right: solid 1px #000;
	position: absolute;
	top: 50%;
	transform: rotate(45deg) translateY(-50%);
	right: -40px;
	z-index: 2; 
	transition: all 0.5s;
}
.single_pager li.single_next a:hover:before{
	border-top: solid 1px #a1c44e;
	border-right: solid 1px #a1c44e;
}
.single_pager li.single_next a:after{
    content: '';
    width: 40px;
    height: 40px;
    border: 1px solid #000;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: -60px;
    transform: translateY(-50%);
    box-sizing: border-box;
    z-index: 1;
	transition: all 0.5s;
}
.single_pager li.single_next a:hover:after{
    border: 1px solid #a1c44e;
	background-color: transparent;
}
@media screen and (max-width: 768px){

	.single_prev{ width: 28.5%; }
	.single_list{ width: 40%; }
	.single_next{ width: 28.5%; }

}/*END*/

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

	.single_prev{ width: 30%; }
	.single_list{ width: 35%; }
	.single_next{ width: 30%; }
	.single_list span{ display: none; }
	.single_pager {
		gap: 11%;
	}
}/*END*/

@media screen and (max-width: 380px){
	.single_pager li.single_prev a:after {
		left: -45px;
	}
	.single_pager li.single_prev a:before {
		left: -31px;
	}
	.single_pager li.single_next a:after {
		right: -45px;
	}
	.single_pager li.single_next a:before {
		right: -25px;
	}
}/*END*/
.more_news{
	display: flex;
    justify-content: space-between;
    align-items: center;

}
.more_news div{
	width: fit-content;
}
.more_news div.morenews_next{
	position: relative;
	padding-right: 55px;
	transition: all 0.5s;
}
.more_news div.morenews_next a{
	color: #fff;
}
.more_news div.morenews_next:hover a {
	color: #81ccfa; 
}

.more_news div.morenews_next a:before {
	content: '';
	width: 7px;
	height: 7px;
	border-top: solid 2px #81ccfa;
	border-right: solid 2px #81ccfa;
	position: absolute;
	top: 50%;
	transform: rotate(45deg) translateY(-50%);
	right: 20px;
	z-index: 2; 
	transition: all 0.5s;
}
.more_news div.morenews_next a:hover:before{
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
}
.more_news div.morenews_next a:after{
    content: '';
    width: 40px;
    height: 40px;
    border: 2px solid #81ccfa;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 0px;
    transform: translateY(-50%);
    box-sizing: border-box;
    z-index: 1;
	transition: all 0.5s;
}
.more_news div.morenews_next a:hover:after{
    border: 2px solid #fff;
	background-color: transparent;
}


/*----------------------------------------
	Gallery ギャラリー カラム
----------------------------------------*/
.entry_content .gallery,
.gallery_content .gallery{
    display: flex;
    flex-wrap: wrap;
    gap: 3.4%;
}

.entry_content .gallery-item:hover,
.gallery_content .gallery-item:hover{
    opacity: 0.7;
}

.gallery-item{
    margin-bottom: 30px;
}

.gallery-columns-1 .gallery-item{
    width: 100%;
}

.gallery-columns-2 .gallery-item{
   width: calc((100% - (1 * 3.4%)) / 2) !important;
}


.gallery-columns-3 .gallery-item{
    width: calc((100% - (2 * 3.4%)) / 3) !important;
}


.gallery-columns-4 .gallery-item{
     width: calc((100% - (3 * 3.4%)) / 4) !important;
}


.gallery-columns-5 .gallery-item{
    width: calc((100% - (4 * 3.4%)) / 5) !important;
}


.gallery-columns-6 .gallery-item{
    width: calc((100% - (5 * 3.4%)) / 6) !important;
}


.gallery-columns-7 .gallery-item{
    width: calc((100% - (6 * 3.4%)) / 7) !important;
}


.gallery-columns-8 .gallery-item{
    width: calc((100% - (7 * 3.4%)) / 8) !important;
}


.gallery-columns-9 .gallery-item{
    width: calc((100% - (8 * 3.4%)) / 9) !important;
}

.gallery-icon{
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 1/1;
}
.gallery-item img {
    width: 100%;
    height: 100%;
}

.gallery-item + br{
	display: none !important;
}

.gallery_content figcaption{
    padding: 8px 0;
    font-size: clamp(1.2rem, 1.36vw, 1.4rem);
    color: #898989;
    line-height: 1.3;
}

.gallery-caption{
	padding-top: 10px;
}


@media screen and (max-width:599px){
    .gallery-item{
        margin-bottom: 15px;
    }

    .gallery-columns-4 .gallery-item,
    .gallery-columns-5 .gallery-item,
    .gallery-columns-6 .gallery-item,
    .gallery-columns-7 .gallery-item,
    .gallery-columns-8 .gallery-item,
    .gallery-columns-9 .gallery-item{
    	width: 47% !important;
    }


}/*END*/

/*----------------------------------------
	個人情報保護方針ページ
----------------------------------------*/
.privacy_row {
  display: flex;
  align-items: center; /* タイトルを縦中央揃え */
  gap: 2em;
  flex-wrap: wrap; /* レスポンシブ対応 */
  background-color: #eee;
  border-top: #dcdcdc solid 1px;
  line-height: 2;
}
.privacy_row:last-child {
  border-bottom: #dcdcdc solid 1px;
}

.privacy_title {
  width: 300px;
  flex-shrink: 0;
  padding: 20px 0 20px 20px;
}

.privacy_text {
  flex: 1;
  background-color: #fff;
  padding: 20px 0 20px 20px;
}
.privacy_text span{
	padding-left: 16px;
}

/* レスポンシブ（スマホ時は縦並び） */
@media (max-width: 768px) {
  .privacy_row {
    flex-direction: column;
    align-items: flex-start;
	gap: 0;
  }

  .privacy_title {
    width: 100%;
	padding: 20px 0 20px 10px;
  }
  .privacy_text{
	width: 100%;
	padding: 20px 0 20px 0;
  }
  .privacy_text span{
	padding-left: 0;
}
}
/*----------------------------------------
	サイトマップページ
----------------------------------------*/
.inner_frame450 {
    max-width: 450px;
    margin-inline: auto;
    padding-right: 20px;
    padding-left: 20px;
}
.map_jigyo{
    display: flex;
    flex-direction: column;
    font-size: clamp(1.4rem, 1.5vw, 1.6rem);
    line-height: 3.75;
	margin: 30px 0 30px 30px;
}
.map_jigyo a {
    position: relative;
    display: inline-block;
    padding-left: 30px; /* 丸とテキストの間に余白をつくる */
    margin-bottom: 5px;
}

.map_jigyo a::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 11px;
    height: 11px;
    background-color: #5bb7ef;
    border-radius: 50%;
}
@media screen and (max-width: 820px) {
	.map_jigyo{
		line-height: 3;
	}
}
@media screen and (max-width: 768px) {
	.map_jigyo{
		margin: 20px 0 20px 20px;
	}
}
@media screen and (max-width: 599px) {
	.map_jigyo{
		margin: 15px 0 15px 15px;
	}
}
/*----------------------------------------
	404ページ
----------------------------------------*/
.p_t404{
	padding-top: 20%;
}
@media screen and (max-width: 1100px) {
	.p_t404{
		padding-top: 30%;
	}
}
@media screen and (max-width: 599px) {
	.p_t404{
		padding-top: 40%;
	}
}