@charset "utf-8";
/*===============================
	headre
======================*/
#header{
	position: fixed;
    width: 96%;
    top: 25px;
    left: 2%;
    display: flex;
    justify-content: space-between;
    align-items: center;
	z-index: 99;
}
h1.hlogo{
	width: 48%;
	max-width: 320px;
	min-width: 185px;
}
h1.hlogo a{
	display: flex;
	align-items: center;
	height: 100%;
}
h1.hlogo img{
	width: 100%;
	object-fit: contain;
}
.pcnav ul{
	display: flex;
	justify-content: flex-end;
}
.pcnav li{
	padding:0 20px;
	padding-right: 50px;
	position: relative;
}
.pcnav li:last-child{
	padding-right: 0px;
}
.pcnav li:not(:last-child)::before{
	position: absolute;
	content: '';
	width: 40px;
	height: 100%;
	background: url("../img/shape.png")no-repeat center/cover;
	top: 0;
	right: 0;
}
.pcnav li a{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #fff;
	padding-right: 20px;
	text-shadow: 1px 1px 3px #2e3192;
}
.pcnav li a .en{
	font-family: "League Gothic", sans-serif;
	font-size: 1.5rem;
	letter-spacing: .1rem;	
	line-height: 1.3;
}
.pcnav li a .ja{
	font-size: 16px;
}

.pcnav li a:hover{
	color: #1045B1;
	text-shadow: 1px 1px 3px #fff;
}
@media(max-width:1023px){
	#header{
		position: fixed;
		width: 96%;
		top: 5px;
		left: 2%;
	}
	.pcnav{
		display: none;
	}
}



/*===============================
	MobileMenu
======================*/
.openbtn{
	position: relative;
	cursor: pointer;
    width: 50px;
    height:50px;
	border-radius: 5px;
	border: 1px solid #fff;
	background: rgba(27,0,119,.3)
}

@media(min-width:1024px){
	.openbtn{
		display: none;
	}	
}

/*ボタン内側*/

.openbtn .openbtn-area{
    transition: all .4s;
}

.openbtn span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background: #fff;
  	width: 45%;
	text-shadow: 1px 1px 2px #2e3192;
  }


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

.openbtn span:nth-of-type(2) {
	top:23px;
}

.openbtn span:nth-of-type(3) {
	top:31px;
}

/*activeクラスが付与されると
線と周りのエリアが回転して×になる*/

.openbtn.active .openbtn-area{
	transform: rotateY(-360deg);
}

.openbtn.active span:nth-of-type(1) {
    top: 16px;
    left: 13px;
    transform: translateY(6px) rotate(-135deg);
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 28px;
    left: 13px;
    transform: translateY(-6px) rotate(135deg);
}

#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 88;
    /*ナビのスタート位置と形状*/
	top:0;
    right: -150%;
	width:430px;
    height: 100vh;/*ナビの高さ*/
	background:url("../img/bg_footer.jpg");
	transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    right: 0;
}
/*ナビゲーション*/
#g-nav ul {
    padding-top: 100px;
	width: 90%;
	margin: 0 auto;
	
}

/*リストのレイアウト設定*/

#g-nav li{
	list-style: none;
	border-bottom: dotted 1px #eee;
}

#g-nav li a{
	color: #fff;
	text-decoration: none;
	padding:15px 10px 5px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: bold;
	line-height: 1.2;
}

#g-nav li a .en{
	font-size: 1.8rem;
}

#g-nav li a .ja{
	padding-left: 15px;
	font-size: 16px;
}
#g-nav li a:hover{
	color:#1d29b7;
}
.sp_cta{
	color: #fff;
	margin: 30px auto 0;
	text-align: center;
}
.telbtn,.mailbtn{
	width: 80%;
	max-width: 300px;
	display: block;
	color: #fff;
	border: 1px solid #fff;
	padding: .5rem;
	margin: 0 auto 15px;
	font-size: 1.2rem;
}
.telbtn:hover,.mailbtn:hover{
		background: rgba(255,255,255,.2);
}

@media(max-width:550px){
	#g-nav{
		width:100%;
	}	
	#g-nav li a .en{
		font-size: 1.5rem;
	}

	#g-nav li a .ja{
		font-weight: 400;
	}	
}

/*===============================
	Footer
======================*/
.fcta{
	background: url("../img/bg_footer.jpg");
	background-size: cover;
	color: #fff;
}
.fbtn{
	margin: 20px;
	margin-bottom: 0;
	width: 320px;
	transition: .4s;
	border: 1px solid #fff;
}
.fbtn a{
	display: block;
	padding: .8rem 1rem;
	color: #fff;
	text-align: center;
	font-size: 1.7rem;
	font-weight: 600;
  font-family: "Zen Kaku Gothic New", sans-serif;
	letter-spacing: .1rem;
}
.fbtn:hover{
	background: rgba(255,255,255,.2);
	transition: .4s;
}
@media(max-width:370px){
	.fbtn{
		margin: 20px auto 0;
		width: 290px;
	}
}


footer{
	padding: 50px 0;
	position: relative;
	text-align: center;
	background: #fff;
	z-index: 0;
}
footer::before{
    position: absolute;
    content: '';
    min-width: 200px;
    width: 40vw;
    aspect-ratio: 16 / 9;
    min-height: 150px;
    background: url(../img/truck01.png) no-repeat right / cover;
    bottom: -6px;
    left: -9vw;
    z-index: -1;
}
.flogo{
	width: 80%;
	max-width: 300px;
	margin: 0 auto 20px;
}
.flogo img{
	width: 100%;
	object-fit: contain;
}
.ftel,.ffax{
  font-family: "Poppins", sans-serif;
	margin-bottom: 10px;
	font-size: 1.2rem;
	
}
.ftel span,.ffax span{
    font-family: "Zen Kaku Gothic New", sans-serif;
	padding: 5px 8px;
	background: #1d29b7;
	color: #fff;
	margin-right: 15px;
	width: 100px;
	text-align: center;
	display: inline-block;
}
.copy{
	background: url(../img/bg_footer.jpg)no-repeat center/cover;
	padding: 8px 0;
	text-align: center;
	color: #fff;
}


/*===============================
	PageTop
======================*/
#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	border-radius: 5px;
	width: 60px;
	height: 60px;
	color: #fff;
	text-align: center;
	text-transform: uppercase; 
	text-decoration: none;
	font-size:0.6rem;
	transition:all 0.3s;
	position: relative;
}

#page-top a::after{
	position: absolute;
	content: '';
	display: block;
	width:40%;
	aspect-ratio:1/1;
	transform: rotate(-45deg);
	border-top:1px solid #808080;
	border-right:1px solid #808080;
	bottom: 15px;
}


#page-top a::before{
	position: absolute;
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    border-bottom: 1px solid #808080;
    bottom: 10px;
}

#page-top a:hover::after{
	animation: loop2 800ms linear infinite;
}

@keyframes loop2 {
	
	0%{transform: translateY(0) rotate(-45deg);}
	50%{transform: translateY(-10px) rotate(-45deg);}
  100%{transform: translateY(0) rotate(-45deg);}
}

/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 30px;
	bottom:18px;
	z-index: 2;
    /*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove{
	animation: UpAnime-pagetop 0.5s forwards;
}
@keyframes UpAnime-pagetop{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
	animation: DownAnime-pagetop 0.5s forwards;
}
@keyframes DownAnime-pagetop{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}



@media(max-width:800px){
	
	#page-top {
		right: 10px;
    	bottom: 10px;
	}
	
	#page-top a {
    	width: 40px;
		height: 40px;
	}
	
}


/*===============================
	FV-topSlide
======================*/
#fv{
	width: 100%;
	aspect-ratio: 7 / 5;
	max-height: 100vh;
	overflow: hidden;
	position: relative;
}
.top_slider {
	position:relative;
	z-index: 1;
	width: 100%;
	aspect-ratio: 7 / 5;
	max-height: 100vh;
}
/*　背景画像設定　*/

.slider-item01 {
    background:url(../img/img06.jpg);
}

.slider-item02 {
    background:url(../img/img05.jpg);
}

.slider-item03 {
    background:url(../img/img07.jpg);
}

.slider-item {
    width: 100%;
	aspect-ratio: 7 / 5;
	max-height: 100vh;
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}

.catch_mask{
	position: absolute;
	width: 100%;
	height: 50%;
	bottom: 0;
	left: 0;
	background: rgba(29,41,183,.4);
	clip-path: polygon(0 0,100% 50%,100% 100%,0 100%);
	z-index: 2;
}
.catchtxt{
	position: absolute;
	width: 70%;
	max-width: 1000px;
	aspect-ratio: 1063 / 163;
	bottom:5vh;
	left: 10vw;
	z-index: 3;
	line-height: 0;
}
.spfv{
	display: none;
}
@media(max-width:500px){
	.pcfv{
		display: none;
	}	
	.spfv{
		display: block;
	}
	.catchtxt{
		aspect-ratio: 580 / 220;
		bottom:0;
		width: 60%;
	}	
}


/*===============================
	index
======================*/
/*==t_about===*/
.t_about{
	background: url("../img/bg_concept.png");
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: contain;
	padding-bottom: 30vh;
}

.tabout_img{
	width: 350px;
	aspect-ratio: 4 / 7;
	overflow: hidden;	
}

.tabout_txt{
	width: calc(98% - 400px);
	margin-left: 50px;
}
.tabout_txt h3{
	font-size: clamp(2.4rem, 1.333rem + 2.22vw, 3rem);
	margin-left: -130px;
	margin-bottom: 20px;
}
@media (max-width: 1200px) {
	.t_about{
		padding-bottom: 20vh;
	}	
}
@media (max-width: 768px) {
	.tabout_img{
		width: 100%;
		aspect-ratio: 16 / 9;
		overflow: hidden;	
	}	
	.tabout_txt{
		width: 98%;
		margin:-40px auto 0;
	}	
	.tabout_txt h3{
		font-size: 3rem;
		margin-left: 0px;
		margin-bottom: 20px;
		text-shadow: 1px 1px 3px #fff;
		line-height: 1.3;
	}	
}

/*==t_business==*/


.t_business{
	padding: 0;
	background: #fff;
}

.t_busi{
    max-width: 1450px;
    margin: 0 auto;
	position: relative;
}


.t_busi_wrap {
    position: absolute;
    max-width: 1040px;
    width: 63%;
    height: 500px;
    bottom: 0;
    text-align: center;
    left: 0;
}

.t_busi-head {
  background: url("../img/img08.jpg")no-repeat;
  background-size: cover;
}

.t_busi-content {
    position: relative;
    max-width: 720px;
    width: 45%;
    height: auto;
    margin: 0 0 0 auto;
    background: #fff;
    padding: 40px 50px 30px 80px;
}

.busi-block {
    position: absolute;
    padding: 60px 0;
    border: solid 10px #fff;
    width: 545px;
    max-height: 300px;
    color: #fff;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
}

.busi-head span {
    display: block;
    font-size: clamp(3rem, 2.398rem + 2.54vw, 4.3rem);
    font-weight: 600;
}

.busi-head {
    font-size: clamp(1.5rem, 1.268rem + 0.98vw, 2rem);
	line-height: 1.2;
}

.busi-catch {
    display: block;
    font-size:clamp(1.2rem, 0.922rem + 1.17vw, 1.8rem);
}
.t_busi-subhead {
    padding-bottom: 20px;
    font-size: clamp(1.2rem, 1.061rem + 0.59vw, 1.5rem);
    color: #2e3192;
    font-weight: bold;
}
.t_busi-content .m-button {
    margin-top: 40px;
}
.t_service{
	z-index: 0;
}

.service_ttl{
	text-align: center;
    color: #2e3192;
	position: relative;
	margin-bottom: 50px;
	z-index: -1;
}
.service_ttl::after{
	position: absolute;
	content: "SERVICE";
  font-family: "Poppins", sans-serif;
	font-size: 15vw;
	font-weight: 600;
	color: rgba(14,0,143,.2);
	top: -80px;
	left: 50%;
	transform: translateX(-50%);
	line-height: 1;
	z-index: -1;
}

@media (max-width: 1200px) {
	.t_busi_wrap {
		height: 400px;
	}
	.busi-block {
		border: solid 8px #fff;
		width: 430px;
		max-height: 280px;
	}	

	.t_busi-content {
		padding: 40px 3%;
	}
	#business{
		scroll-margin-top: 120px!important
	}
}

@media (max-width: 999px) {
	.t_business{
		padding-top: 150px;
	}
	.t_busi_wrap {
		width: 95%;
        height: 280px;
		bottom: auto;
		top: -260px;
    }
	.busi-block {
		border: solid 8px #fff;
		width: 85%;
		max-width: 400px;
		max-height: 180px;
		margin: auto;
		padding: 30px 0;
	}		
	.busi-head span {
		font-size:3rem;
	}

	.busi-head {
		font-size:1.5rem;
	}

	.busi-catch {
		font-size:1.2rem
	}
	.t_busi-content {
		max-width: 100%;
		width: 90%;
		margin: 0 0 0 auto;
		
	}	
}
@media (max-width: 768px) {
.service_ttl::after{
	font-size: 22vw;
	top: -7vh;
}	
}
@media(max-width:500px){
	#business{
		scroll-margin-top: 0px!important
	}
}

/*t_recruit*/
.t_recruit{
	background: url("../img/recruit_bg.jpg")no-repeat;
	background-size:cover;
	background-position: bottom left;
	color: #fff;
}
.r_txt_wrap{
	padding: 5% 8%;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	max-width: 670px;
	min-height: 390px;
}
.r_title{
	font-size: 2.8rem;
	line-height: 1.3;
}
.r_title span{
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 1.2rem;
	display: block;
}

.r_img{
	max-height: 476px;
}

@media(max-width:768px){
	.r_img {
		max-height: 100%;
	}
}

/*お知らせ*/
#newsWrap{
	padding: 1.5rem;
}

#newsList{
	max-height: 200px;
	overflow-y: auto;
	padding: 1rem;
}

#newsList li{
	padding: 1rem 1.5rem;
	border-bottom: 1px dotted #2e3192;
	transition: .4s
}
#newsList .title{
	padding-left: 2rem;
	transition: .4s
}
#newsList li:hover{
	opacity: .7;
	background: rgba(255,255,255,.1);
	transition: .4s
}
#newsList a:hover .title{
	letter-spacing: .1rem;
	transition: .4s
}

#newsList::-webkit-scrollbar {
  width: 3px;
}

#newsList::-webkit-scrollbar-track {
  background-color: transparent;
}

#newsList::-webkit-scrollbar-thumb {
  background-color: #eee;
  border-radius: 8px;
}
@media(max-width:600px){
	#newsWrap{
		padding: .5rem;
	}	
}
@media (max-width: 460px) {
	#newsList li {
		padding: .8rem .3rem;
	}
	#newsList .title{
		display: block;
		padding-left: .8rem;
	}
}
/*AboutUs*/
.about_ttl{
	position: relative;
}
.about_ttl_bg{
	width: 70%;
	height: 350px;
}
.about_ttl_bg img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.about_ttl h2{
	position: absolute;
	font-size: 8rem;
	color:rgba(255,255,255,.3);
	z-index: 2;
	top: 25%;
	right: 5%;
	letter-spacing: .3rem;
	font-family: "Ramabhadra", sans-serif;
}

.about_txt_wrap{
	display: flex;
	justify-content:space-between;
	padding: 100px 0;
}

.about_txt{
	width: 65%;
	padding-bottom: 40px
}
.about_txt_wrap .btn_wrap{
	width: 30%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	margin-bottom: 0;
}

.about_txt h3{
	font-size: 2.3rem;
	margin-bottom: 35px;
	line-height: 1.5;
}
.about_txt_wrap .mbtn{
	margin-left: auto;
}
@media(max-width:1023px){
	.about_ttl_bg{
		width: 90%;
		height: auto;
        padding-bottom: 7vh;
	}
	.about_ttl_bg img{
		vertical-align: top;
		height: auto;
	}
	.about_ttl h2{
		font-size:clamp(3.5rem, 0.845rem + 11.18vw, 8rem);
		top: 40%;
		right: 5%;
	}
	.about_txt_wrap{
		padding: 3vh 0;
		flex-direction: column;
	}
	.about_txt{
		width: 95%;
		margin: 0 auto;
	}
	.about_txt_wrap .btn_wrap{
		width:95%;
	}
}
@media(max-width:820px){
	.about_txt h3{
		font-size: clamp(1.35rem, 0.53rem + 3.45vw, 2.3rem)
	}
}
@media(max-width:500px){
	.about_txt_wrap{
		padding: 3vh 0;
		flex-direction: column;
	}	
}


/*===============================
	Subfv
======================*/
.subfv{
	position: relative;
	height: 300px;
	background: url("../img/img05.jpg")no-repeat left/cover;
	z-index: 0;
}
.subfv.rec{
	background: url("../img/rttl_bg.jpg")no-repeat left/cover;
}
.subfv::before{
	position: absolute;
	content: '';
	width: 100%;
	height: 100%;
	background: #2e3192;
	opacity: .5;
	top: 0;
	left: 0;
	z-index: -1;
}
.pagettl{
	position: absolute;
	content: '';
	width: 80%;
	max-width: 380px;
	height: 50%;
	color: #fff;
	top: 100px;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	font-size: 1.3rem;	
	line-height: 1.2;
	padding: 30px 0;
	border: 6px solid #fff;
}
.pagettl span{
	font-size:clamp(2.4rem, 2.122rem + 1.17vw, 3rem);
	display: block;
}

@media(max-width:500px){
	.subfv{
		height: 200px;
	}	
	.pagettl{
		height: 55%;
		top: 70px;
		left: 50%;
		transform: translateX(-50%);
		text-align: center;
		font-size: 1.3rem;	
		line-height: 1.2;
		padding: 15px 0;
		border: 6px solid #fff;
	}	
}


/*===============================
	Recruit
======================*/
.recruit{
	background: url("../img/rcontents_bg.png");
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: contain;
}


.r_about_box{
	max-width: 980px;
	margin: 0 auto;
	border: 10px solid #fff;
	padding: 5vh 3vw;
	text-align: center;
}

.r_about_box h3{
	font-size:clamp(1.4rem, 1.122rem + 1.17vw, 2rem);
	margin-bottom: 30px;
	text-align: center;
}


.r_welcom {
	max-width: 980px;
    position: relative;
    padding-top: 120px;
	margin: 0 auto 80px;
}

.r_welcom_img {
    position: absolute;
    right: 0;
    top: 0;
    max-width: 700px;
    width: 55%;
}

.r_welcom_detail {
    position: relative;
    background: #fff;
    max-width: 600px;
    padding: 20px 30px;
}

.r-head{
	font-size: 1.3rem;
	margin-bottom: 20px;
}
.r-head .pop{
	display: block;
	line-height: 1.5;
	font-size: 2.5rem;
	color: #2e3192;
}
@media(max-width:768px){
	.r_welcom {
		padding-top: 280px;
	}
	.r_welcom_img {
		max-width: 700px;
		width: 100%;
		height: 300px;
		overflow: hidden;
	}
}
@media(max-width:714px){
	.r_about_box{
		text-align:left;
	}	
}
@media(max-width:450px){
	.r_welcom {
		padding-top: 180px;
	}	
}





/*===============================
	company
======================*/
.company{
	background:#fff url("../img/bg_concept.png");
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: contain;
}
.comp_ttl{
	font-size: clamp(3rem, 2.444rem + 2.34vw, 4.2rem);
	color: #2e3192;
}
.comp_ttl span{
	font-size: 40%;
	padding-left: 20px;
}
.greet_container{
	padding-top: 120px;
	position: relative;
	
}
.g_img {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 600px;
	width: 55%;
}
.gtxt {
        position: relative;
        padding: 70px;
        background: #fff;
        max-width: 740px;
        width: 67%;
        margin: 0 0 0 auto;
    }
.name{
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	text-align: end;
	font-size: 20px;
	padding-top: 20px;
}
.about tr{
	border-top: 1px solid #999;
	border-bottom: 1px solid #999;
}
.about th{
	width: 28%;
	padding: .8rem 1rem;
	vertical-align: top;
	background: rgba(0,57,135,.2);
}
.about td{
	padding: .8rem 1rem;	
	background: rgba(255,255,255,.30);
}
.about ul.inlin li{
	display: inline-block;
	padding-left:15px;
}
.about ul.inlin.paden li{
	padding-right:20px;
	padding-left: 0;
}
@media(max-width:768px){
	.greet_container{
		padding-top: 28vh;

	}
	.g_img {
		height: 35vh;
		max-width: 100%;
		width: 100%;
	}	
	.gtxt {
		position: relative;
		padding: 4vh 3vw;
		background: #fff;
		max-width: 95%;
		width: 95%;
		margin: auto;
    }	
}

/*===============================
	Contact
======================*/
.contact .tel_contact{
	text-align: center;
	border-top: 3px double rgba(255, 255, 255, 0.5);
	border-bottom: 3px double rgba(255, 255, 255, 0.5);
	padding: 15px 0;
	margin: 0 auto;
	width: 94%;
	max-width: 600px;
}
.contact .tel_contact a{
	display: inline-block;
	font-size: 2.4rem;
	font-weight: 500;
	white-space: nowrap;
	letter-spacing: 0.08em;
	line-height: 1.7;
	color: #2e3192;
}
.contact .tel_contact a:hover{
	opacity: 0.6;
}
.contact .tel_contact p{
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.2em;
}
@media (max-width: 750px){
	.contact .tel_contact{
		padding: 20px 0;
	}
	.contact .tel_contact a{
		font-size: 2rem;
	}
}
@media (max-width: 450px){
	.contact .tel_contact a{
		font-size: 1.6rem;
	}
}


/*メールフォーム*/
.mailform{
	margin: 0 auto;
	width: 94%;
	max-width: 960px;
}
.mailform .row{
	padding: 20px 0;
	display: flex;
	justify-content: space-between;
}
.mailform .row:not(.last){
	border-bottom: 1px dotted #cccccc;
}
.mailform .row div:nth-child(1){
	width: 28%;
	font-weight: 500;
	letter-spacing: 0.08em;
	font-size: 0.9rem;
}
.mailform .row div:nth-child(2){
	width: 70%;
	line-height: 1.5;
}
.mailform .row span{
  	color: #fff;
  	background: #2e3192;
  	padding: 5px;
  	margin-right: 5px;
  	font-size: 11px;
	border-radius: 2px;
	vertical-align: middle;
	font-weight: 500;
}
.mailform .row small{
	display: block;
	margin-top: 3px;
}
.mailform .box, .mailform textarea{
	border: 1px solid #ddd;
  	padding: 5px;
  	width: 100% !important;
  	border-radius: 0;
	-webkit-appearance: none;
	margin-bottom: 5px;
	background: #fff;
}
.mailform .postal_btn{
	padding: 2px 10px;
	background: #2e3192;
	color: #fff;
	border-radius: 2px;
	margin-top: 5px;
	border: 1px solid #aaa;
	font-size: 0.9rem;
}
.mailform .postal_btn:hover{
	opacity: 0.8;
}
.mailform button{
	display: block;
	text-align: center;
	transition: .6s;
	font-size: 1rem;
	font-weight: 500;
	padding: 8px 5px;
	margin: 0 auto;
	width: 250px;
	background: #2e3192;
	border: 1px solid #2e3192;;
	color: #fff;
}
.mailform button:hover{
	background: #fff;
	color: #2e3192;
}
.mailform button::before{
	font-family: "Font Awesome 6 Free";
	content: "\f1d8";
	font-weight: 700;
	margin-right: 10px;
}

@media (max-width: 750px){
	.mailform .row{
		padding: 20px 0;
		flex-direction: column;
	}
	.mailform .row div:nth-child(1){
		width: 100%;
		margin-bottom: 20px;
	}
	.mailform .row div:nth-child(2){
		width: 100%;
	}
}

/*チェックボックス*/
input[type=checkbox] {
    display: none;
}
input[type=checkbox] + label{
    display: inline-block;
	padding-left: 20px;
	position:relative;
	margin-right: 20px;
	margin-bottom: 10px;
	cursor: pointer;
}
input[type=checkbox] + label::before{
    background: #fff;
    border: 1px solid #999;
    content: '';
    display: block;
	position: absolute;
	top: 55%;
	transform: translate(0,-50%);
  	left: 0;
    width: 15px;
  	height: 15px;
	border-radius: 3px;
}
input[type=checkbox] + label::after{
    border-right: 3px solid #222;
    border-bottom: 3px solid #222;
    content: '';
    display: block;
    height: 15px;
    left: 8px;
    margin-top: -7px;
    opacity: 0;
    position: absolute;
    top: 36%;
    width: 5px;
	transform: rotate(45deg) translate3d(0,2px,0) scale3d(.7,.7,1);
	transition: transform .2s ease-in-out, opacity .2s ease-in-out;
}
input[type=checkbox]:checked + label::after{
    opacity: 1;
	transform: rotate(45deg) scale3d(1,1,1);
}
@media (max-width: 750px){
	input[type=checkbox] + label{
		display: block;
	}
}

/*ラジオボタン*/
input[type=radio]{
	display: none;
}
input[type=radio] + label{
    display: inline-block;
	padding-left: 20px;
	position:relative;
	margin-right: 20px;
	margin-bottom: 10px;
	cursor: pointer;
}
input[type=radio] + label::before {
	content: "";
	display: block;
	position: absolute;
	top: 55%;
	transform: translate(0,-50%);
  	left: 0;
    width: 15px;
  	height: 15px;
	background: #f4f4f4;
	border-radius: 100%;
	border: 1px solid #b4b4b4;
	cursor: pointer;
	text-align: center;
	transition: all 250ms ease;
}
input[type=radio]:checked + label::before {
	background-color: #f4f4f4;
	box-shadow: inset 0 0 0 2px #f4f4f4;
}
input[type=radio]:focus + label::before{
	outline: none;
	border-color: #eee;
}
input[type=radio]:disabled + label::before {
	box-shadow: inset 0 0 0 2px #f4f4f4;
	border-color: #b4b4b4;
	background: #b4b4b4;
}
input[type=radio] + label:empty::before{
	margin-right: 0;
}
@media (max-width: 750px){
	input[type=radio] + label{
		display: block;
	}
}


.contact_info ul li{
	margin-bottom: 5px;
	text-align: center;
	font-size: 0.9rem;
}

/*アコーディオン*/
.privacy{
}
.privacy li{
}
.privacy li .privacy_wrap{
	border: 1px solid #ccc;
}
.privacy li .privacy_wrap .privacy_subject{
	cursor: pointer;
	transition: all .5s ease;
	padding: 15px 20px;
	padding-right: 30px;
	position: relative;
	background-color: #2e3192;
	color: #fff;
}
.privacy li .privacy_wrap .privacy_subject.area_close{
}
.privacy li .privacy_wrap .privacy_subject h3{
	font-size: 1.1rem;
}
/*アイコンの＋と×*/
.privacy li .privacy_wrap .privacy_subject::before,
.privacy li .privacy_wrap .privacy_subject::after{
	position: absolute;
	top:48%;
	right: 15px;
	content:'';
	width: 15px;
	height: 2px;
	background-color: #aaa;
}
.privacy li .privacy_wrap .privacy_subject::before{
	transform: rotate(0deg);
}
.privacy li .privacy_wrap .privacy_subject::after{
	transform: rotate(90deg);
}
/*area_closeクラスがついたら形状変化*/
.privacy li .privacy_wrap .privacy_subject.area_close::before{
transform: rotate(45deg);
}
.privacy li .privacy_wrap .privacy_subject.area_close::after{
transform: rotate(-45deg);
}
/*アコーディオンで現れるエリア*/
.privacy li .privacy_wrap .privacy_box{
	position: relative;
	display: none;/*はじめは非表示*/
	padding: 20px;
}

.privacy_flame{
	height: 250px;
	overflow-y: scroll;
}
.privacy_flame p{
	padding: 10px;
	font-size: 0.8rem;
}
.privacy_flame p span{
	display: block;
	color: #2e3192;
	font-size: 0.95rem;
	font-weight: 500;
}
.privacy_flame p span::before{
	content: "■";
	display: inline-block;
	font-size: 0.6rem;
	margin-right: 0.5em;
	transform: translateY(-2.5px);
}
.privacy_flame ul li{
	font-size: 0.8rem;
}

/*スクロールバー*/
.privacy_flame::-webkit-scrollbar{
    overflow: hidden;
    width: 1px;
    background: #fff;
}
.privacy_flame::-webkit-scrollbar-button {
    display: none;
}
.privacy_flame::-webkit-scrollbar-thumb, .privacy_flame::-webkit-scrollbar-corner {
    background: #2e3192;
}

@media(max-width:599px){
	.contact .t_center{
		text-align: left;
	}
	.contact_info ul li{
		text-align:left
	}	
}


/*==============
	news-detail.php用
==========================================*/

.detail{
	border-bottom: 2px solid #2e3192;
}
/*.detail div{
	font-size: clamp(16px, 2vw, 18px) !important;
}*/
.ntitle{
	padding-bottom: 3px;
	border-bottom: 1px solid #2e3192;
}

.detail #up_ymd{
	text-align: end;
	font-size: 16px;	
}
.detail #up_ymd span{
	position: relative;
	padding-left: 25px;
}

.detail #up_ymd span::before{
	position: absolute;
	content: '\f073';
	font-family: "Font Awesome 6 Free";
	font-weight: 600;
	width: 10px;
	height: 18px;
	left: 3px;
}

.topic{
	padding: 1rem 2vw;
}


.detailUpfile{
	max-width: 680px;
	margin: 15px 0;
}
.detailUpfile img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.detail font{
	padding-bottom: 2px;
	border-bottom: 1px solid #eee;
}

.backORcloseBtn{
	margin: 50px 0 30px;
}
