@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Gantari:wght@300&family=Zen+Kaku+Gothic+New:wght@400;500;700&family=Zen+Old+Mincho:wght@500&display=swap');
html { 
	font-size: 62.5%;
}
body {
	min-width: 1300px;
    background: #FFFFF8;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
    font-size: 1.6rem;
    color: #262525;
    letter-spacing: 0.1em;
    line-height: 2;
}
li{
	list-style: none;
}
a{
	text-decoration: none;
    transition: all 0.3s ease-in-out;
	color: #262525;
}
img{
	width: 100%;
    vertical-align: bottom;
}
.flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.s-flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.fr-reverse{
    flex-direction: row-reverse;
}
.inner1300{
	max-width: 1300px;
    width: 90%;
    margin: 0 auto;
}
.inner1200{
    max-width: 1200px;
    margin: 0 auto;
}
.inner997{
    max-width: 997px;
    margin: 0 auto;
}
.inner800{
    max-width: 800px;
    margin: 0 auto;
}
.sp{
    display: none;
}
/* スクロールすると下からふわっとさせるためのコード */
.inview {
  /* 30px下げる */
  transform: translateY(30px);
  /* 要素を透明にする */
  opacity: 0;
  /* 2秒かけて、変化させる */
  transition: transform 1s, opacity 1s;
}
.inview.show {
  transform: translateY(0);
  opacity: 1;
}
/*上に戻るボタンここから*/
.top{
	position: fixed;
	right: 10px;
    bottom: 10px;
    width: 50px;
    height: 50px;
	border-radius: 50%;
    background: #F9F9FC;
    border: solid 1px #92928a;
    z-index: 100;
}
.top a{
	postion: relative;
	display: block;
	width: 50px;
	height: 50px;
	text-decoration: none;
}
.top a::before{
	font-family:'Material Symbols Outlined';
	content: '\e5d8';
	font-size: 2.4rem;
	color: #92928a;
	position: absolute;
	top: 0%;
	right: 10px;
	margin: auto;
}
/*↓↓↓↓前頁共通パーツ:ボタン、セクションタイトル、ヘッダー、コンタクト、フッター、上に戻るボタン↓↓↓↓*/

/*========= ボタンコンポ―ネント ===============*/
.btn{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: #FBE233;
    padding: 15px 24px;
    border-radius: 50px;
    text-align: center;
    height: 50px;
    letter-spacing: 0.05em;
    overflow: hidden;
    position: relative;
    z-index: 100;
    white-space: nowrap;
}
.btn:hover{
    color: #fff;
}
.btn::after{
    content: "\e941";
    display: inline-block;
    font-family: "Material Symbols Outlined";
    font-size: 1.9rem;
    font-weight: 400;
    padding-left: 4px;
}
.btn::before{
    content: "";
    width: 0%;
    height: 0%;
    border-radius:50%;
    background: #948F43;
    position: absolute;
    top:50%;
    left:50%;
    transition: 0.3s ease-in;
    opacity: 0;
    z-index: -1;
}
/*ホバー時内側から円広がる*/
.btn:hover.btn::before{
    opacity: 1;
    width: 400px;
    height: 400px;
    margin: -200px 0 0 -200px;
}
/*丸ボタン*/
.more_btn {
    display: inline-flex;
    align-items: center;
    padding-top: 20px;
    font-size: 1.4rem;
}
.more_btn_circle {
    display: block;
    content: "";
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: #FBE233;
    position: relative;
    margin-right: 8px;
}
.more_btn_circle::before{
	font-family: 'Material Symbols Outlined';
    content: '\e941';
    font-size: 2.4rem;
    font-weight: 100;
    position: absolute;
    width: 32px;
    height: 32px;
    top: 28%;
    left: 13%;
    right: 0;
    margin: auto;
    transition: 0.2s ease;
    line-height: 1.3;
}
.more_btn:hover .more_btn_circle::before{
    transform: translateX(5px);
}
/*========= セクションタイトル ===============*/
.sec-title_ja{
    font-family: "Zen Old Mincho", serif;
	font-size: 2.8rem;
    font-weight: 400;
}
.sec-title_en{
    color: #A7A4A4;
	font-family: "Gantari", sans-serif;
	font-size: 2rem;
    font-weight: 300;
	display: block;
    line-height: 0.3;
}
/*========= 見出しデザイン ===============*/
.heading-title{
    font-family: "Zen Old Mincho", serif;
	font-size: 3.2rem;
    font-weight: 400;
}
.heading-title::before{
    content: "";
    width: 35px;
    height: 8px;
    background: url(../images/hd-img.png) center / cover, no-repeat;
    margin-right: 8px;
    display: inline-block;
    transform: translateY(-8px);
}

/*========= 基本の文字 ===============*/
.basic-txt{
    padding-top: 16px;
}

/*========= ヘッダー ===============*/
.header {
	width: 100%;
    height: 100px;
    background: #FFFFF8;
    border-bottom: 1px solid #CBC8C8;
    padding: 20px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 997;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.header_logo img{
	width: 80%;
    min-width: 170px;
}
/*HeightMinというクラス名がついたら高さを小さく、上部固定に*/
.header.HeightMin{
	position: fixed;
    z-index: 998;/*最前面へ*/
	height:80px;
	animation: DownAnime 0.7s forwards;
}

@keyframes DownAnime{
  from {
  	opacity: 0;
	transform: translateY(-100px);
  }
  to {
  	opacity: 1;
	transform: translateY(0);
  }
}

/*========= ナビゲーションのためのCSS ===============*/
#g-nav{
    display: inline-flex;
    align-items: center;
}
#g-nav span{
    display: none;
}
/*ナビゲーション*/
#g-nav ul {
    display: inline-flex;
}
/*リストのレイアウト設定*/
#g-nav li a{
    font-weight: 500;
	text-decoration: none;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
    margin-right: 32px;
}
#g-nav li a:hover{
	color: #948F43;
    font-weight: 700;
}
/*問い合わせボタン*/
.nav-btn{
    display: inline-flex;
    align-items: center;
    border-radius: 50px;
    background: #FBE233;
    text-align: center;
    font-weight: 500;
    position: relative;
    overflow: hidden;
    z-index: 100;
    padding: 12px 24px;
    box-shadow: 0px 3px 13px #E7E5D7;
}
/*メールアイコン*/
.nav-btn::before{
    content: "\e158";
    font-family: "Material Symbols Outlined";
    font-size: 1.6rem;
    font-weight: 400;
    padding-right: 4px;
}
/*ホバー時*/
.nav-btn:hover{
    transform: translateY(-2px);
    box-shadow: 0px 0px  0px #E7E5D7;
}

/*========= ボタンのためのCSS ===============*/
.openbtn{
	display:none;
}

/*========= お問い合わせ ===============*/
.c-contact_area{
    width: 100%;
    padding: 80px 0;
    background: url("../images/common-contact.jpg") right bottom/cover, no-repeat;
    position: relative;
}
.c-contact-text{
    width: 50%;
}
.c-contact-text::after{
    content:"";
    display: block;
    background: #878471;
    width: 1px;
    height:60%;
    position: absolute;
    top: 20%;
    left: 50%;
}
.c-contact-text_inner{
    width: 80%;
}
    
.c-contact-cta{
    width: 50%;
    text-align: center;
    font-weight: 500;
}
.c-contact-tel a{
    font-size: 4rem;
    line-height: 0.5;
    letter-spacing: 0.08em;
    font-weight: 500;
}
.c-contact-tel a::before{
    content: "\e9cd";
    display: inline-block;
    font-family: "Material Symbols Outlined";
    font-size: 3.2rem;
    font-weight: 400;
    padding-right: 4px;
}
.c-contact-p{
    padding-bottom: 12px;
}
.reception{
    font-size: 1.3rem;
    font-weight: 600;
}
.c-contact-mail{
    padding-top: 40px;
}
.c-contact-mail a{
    background: #fff;
    padding: 24px 100px;
    height: auto;
}

/*========= フッター ===============*/
.footer-left{
    width: 70%;
    height: 400px;
}
.footer-right{
    width: 30%;
    height: 400px;
    background: #FAF6D1;
    padding: 40px 24px;
    position: relative;
}
.prepa{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    display: inline-block;
    width: 100px;
    height: 50px;
    font-size: 20px;
    text-align: center;
}
.footer-leftwrap{
    height: 90%;
}
.footer-company{
    width: 40%;
    padding: 80px 0;
    font-weight: 600;
}
.footer-company p{
    padding-top: 8px;
}
.footer-company img{
    width: 180px;
}
.footer-access{
    font-size: 1.252rem;
}
.footer-nav{
    width: 45%;
    display: flex;
    flex-wrap: wrap;
}
.footer-nav a{
    display: block;
    margin-right: 2em;
    margin-bottom: 2em;
    font-size: 1.4rem;
    font-weight: 500;
}
.footer-nav a:hover{
    color: #948F43;
    font-weight: 700;
}
.copyright{
    font-size: 1.252rem;
    border-top: solid 1px #CBC8C8;
    height: 10%;
    line-height: 3;
}
/*========= 下層ページFV ===============*/
.subfv-area{
    padding: 48px 0 32px;
    border-bottom: 1px solid #CBC8C8;
}
/*パンくずリスト*/
.breadcrumbs-area{
    width: 100%;
    border-bottom: 1px solid #CBC8C8;
}
.breadcrumbs{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 10px 0;
	background-color: transparent;
}
.breadcrumbs_items:first-child{
	margin-left: 0px;
}
.breadcrumbs_items{
	font-size: 1.4rem;
	font-weight: 400;
    margin-left: 10px;
}

.breadcrumbs_items::after{
	content:"\e315";
	font-family: "Material Symbols Outlined";
	color: #A6A5A5;
	display: inline-block;
	transform: translateY(2px);
	padding-left: 10px;
}
.breadcrumbs_items:last-child::after{
	display: none;
}

/*========= main ===============*/
main{
    padding-top: 100px;
}

/*========= LoadingのためのCSS ===============*/

/* Loading背景画面設定　*/
#splash {
  /*fixedで全面に固定*/
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 999;
	background: #FBE233;
    text-align: center;
	color:#fff;
}

/* Loading画像中央配置　*/
#splash_logo {
	position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 90px;
    visibility: hidden;/* ちらつき防止 * 初期状態で非表示にする */
}

#splash_logo.visible {
    visibility: visible;/* ちらつき防止 * アニメーション後に表示する */
}

/* Loading アイコンの大きさ設定　*/
#splash_logo svg{
    width: 30%;
}

/*=============== SVGアニメーション内の指定 =================*/

/*アニメーション前の指定*/
#mask path {
		fill-opacity: 0;/*最初は透過0で見えない状態*/
		transition: fill-opacity .5s;/*カラーがつく際のアニメーション0.5秒で変化*/
		fill: none;/*塗りがない状態*/
		stroke: #262525;/*線の色*/
}

/*アニメーション後に.doneというクラス名がで付与された時の指定*/
#mask.done path{
	  fill: #262525;/*塗りの色*/
	  fill-opacity: 1;/*透過1で見える状態*/
	  stroke: none;/*線の色なし*/
}

/*========= 画面遷移のためのCSS ===============*/

body.loading {
    background:#262525;/*遷移アニメーションと同じ色を指定*/
}

body.appear{
    background:#FFFFF8;/*画面を開いた後の背景色を指定*/
}

/*画面遷移アニメーション*/
.splashbg1,
.splashbg2{
    display: none;
}

/*bodyにappearクラスがついたら出現*/
body.appear .splashbg1,
body.appear .splashbg2{
	display:block;
}

/*右に消えるエリア*/
body.appear .splashbg1{
	animation-name:PageAnime;
	animation-duration:1.2s;
	animation-timing-function:ease-in-out;
	animation-fill-mode:forwards;
    content: "";
    position:fixed;
	z-index: 999;
    width: 100%;
    height: 100vh;
    top: 0;
	left:50%;
    transform: scaleX(1);
    background-color: #262525;/*伸びる背景色の設定*/
}

@keyframes PageAnime{
	0% {
		transform-origin:left;
		transform:scaleX(1);
	}
	50% {
		transform-origin:right;
	}
	100% {
		transform-origin:right;
		transform:scaleX(0);
	}
}

/*左に消えるエリア*/
body.appear .splashbg2{
	animation-name:PageAnime2;
	animation-duration:1.2s;
	animation-timing-function:ease-in-out;
	animation-fill-mode:forwards;
    content: "";
    position:fixed;
	z-index: 999;
    width: 100%;
    height: 100vh;
    top: 0;
	right:50%;
    transform: scaleX(1);
    background-color: #262525;/*伸びる背景色の設定*/
}

@keyframes PageAnime2{
	0% {
		transform-origin:right;
		transform:scaleX(1);
	}

	50% {
		transform-origin:left;
	}
	100% {
		transform-origin:left;
		transform:scaleX(0);
	}
}

/*画面遷移の後現れるコンテンツ設定*/
#container{
	opacity: 0;/*はじめは透過0に*/
}

/*bodyにappearクラスがついたら出現*/
body.appear #container{
	animation-name:PageAnimeAppear;
	animation-duration:1s;
	animation-delay:0.2s;
	animation-fill-mode:forwards;
	opacity: 0;
}

@keyframes PageAnimeAppear{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
}
}

/*========= FV ===============*/
.top-fv{
    width: 100%;
    height: 550px;
    position: relative;
    overflow: hidden;
}
.top-fv_copy{
    width: 45%;
    padding: 0px 0px 0px 80px
}
.top-fv_copy p{
    font-family: "Zen Old Mincho", serif;
    font-size: 4rem;
    line-height: 1.3;
    letter-spacing: 0.15em;
}
.top-fv_copy h1{
    font-family: "Zen Old Mincho", serif;
    font-size: 1.2rem;
    font-weight: 400;
    padding-top: 16px;
    padding-bottom: 24px;
}
.top-fv_copy span{
    display: inline-block;
    padding: 4px 12px;
    border: solid 1px #CBC8C8;
    font-size: 1.6rem;
    margin-right: 8px;
}
.fv-img{
    background: url("../images/fv-img.jpg")center/ cover, no-repeat;
    width: 55%;
    height: 100%;
}
.text-slide{
    display: flex;
    width: 100vw;
    margin-inline: calc(50% - 50vw);
    position: absolute;
    top: 76%;
    line-height: 1;
}
.text-item {
    flex-shrink: 0;
    white-space: nowrap;
    font-size: 13rem;
    font-family: "Gantari", sans-serif;
    color: #DCDCCF;
}
.text-item:nth-child(odd) {
    animation: MoveLeft 200s -100s infinite linear; /*//64秒かけて-32秒後に無限ループさせる*/
  }

.text-item:nth-child(even) {
    animation: MoveLeft2 200s infinite linear; /*//64秒かけて無限ループさせる*/
  }
@keyframes MoveLeft {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes MoveLeft2 {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

/*========= about ===============*/
.about-area{
    border-top: 1px solid #CBC8C8;
    border-bottom: 1px solid #CBC8C8;
    margin-top: 80px;
}
.about-img{
    width: 40%;
    height: 450px;
    background: url("../images/about-img.jpg")center/ cover, no-repeat;
}
.about-text{
    width: 60%;
    padding-left: 80px;
}
.about-text h2{
    font-family: "Zen Old Mincho", serif;
	font-size: 2.8rem;
    font-weight: 400;
}
.about-text p{
    width: 90%;
}

/*========= 事業内容・企業情報 ===============*/
.works-area{
    border-bottom: solid 1px #CBC8C8;
}
.busi-com-area{
    width: 50%;
}
.busi-com-area:last-child{
    border-left: solid 1px #CBC8C8; 
}
.busi-com-wrap{
    padding: 80px;
}
.busi-com-tb{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.busi-com-tb p{
    width: 60%;
}
.busi-com-btn{
    width: 20%;
}
/*========= お知らせ ===============*/

.news-area{
    padding: 24px 0 0;
}
.news-title{
    width: 30%;
}
.news-content{
    width: 70%;
}

/*お知らせ一覧ページ*/
#newsWrap{
    padding-top: 40px;
    padding-bottom: 40px;
}
ul#newsList{
	margin: 0 0 15px;
	padding: 0;
}
ul#newsList li{
    display: flex;
    align-items: center;
	margin: 0;
	padding: 32px 0;
	margin-bottom: 3px;
	border-bottom: 1px dotted #ccc;
	line-height: 120%;
	list-style-type: none;
}
ul#newsList li::after{
	content: "\e941";
    display: inline-block;
    font-family: "Material Symbols Outlined";
    font-size: 1.9rem;
    font-weight: 400;
    margin-left: auto;
}
a:hover{
    opacity: 0.5;
}
.news-wrap{
    display: flex;
}
.title{
    display: block;
}
.ymd-cat{
    display: flex;
    align-items: center;
}
.ti-new{
    display: flex;
    align-items: center;
}
.catName{
	display:inline-block;
	padding: 3px 8px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 11px;
	line-height: 100%;
	margin: 0 32px;
}
.newMark{
	display: inline-block;
    font-size: 1.252rem;
    line-height: 100%;
    font-weight: 700;
    color: #bca81f;
    margin-left: 16px;
}
.comment{
	display: block;
	padding: 3px 0;
	float: left;
	overflow: hidden;
	width: 500px;/* 本文部分の幅。ここは特に設置ページ合わせて変更下さい */
}
.thumbNailWrap{
	display: block;
	width: 110px;
	float: left;
	height: 80px;
	overflow: hidden;
}

/* Pager style（外部化可） */
.pager{
	text-align: right;
	padding: 10px;
	clear: both;
}
/*ページャーボタン*/
.pager a{
    border: 1px solid #999;
    border-radius: 5px 5px 5px 5px;
    font-size: 12px;
    padding: 3px 7px 2px;
    text-decoration: none;
	margin: 0 1px;
}

/*現在のページのボタン*/
.pager a.current{
    background: #999;
    border: 1px solid #999;
    border-radius: 5px 5px 5px 5px;
    color: #fff;
    font-size: 12px;
    padding: 3px 7px 2px;
	margin: 0 1px;
    text-decoration: none;
}

.pager a:hover{
    background: #999;
    color: #fff;
}
/*お知らせ詳細ページ*/
#up_ymd{
	text-align: left;
    padding-top: 8px;
    padding-bottom: 24px;
}
.detailUpfile{
	margin: 32px 0 35px;
	text-align: center;
}
.backORcloseBtn{
	text-align: center;
	line-height: 100%;
	margin-top: 40px;
}
.backORcloseBtn a{
	display:inline-block;
    background: #f5f2de;
    width: 250px;
    padding: 16px; 
}
.detailText{
    font-size: 1.6rem;
}
.detailUpfile img{
	max-width: 80%;
	height: auto;
}
.news-inner{
    margin-top: 40px;
    margin-bottom: 40px;
}

/*========= 事業内容ページ ===============*/
.business-about_area{
    border-bottom: solid 1px #CBC8C8;
    padding: 80px 0;
}
.business-ttl{
    width: 50%;
}
.business-text{
    width: 50%;
    font-size: 2rem;
    padding-top: 8px;
}
.detail-text{
    width: 50%;
    padding: 0 80px;
}
.detail-text h3{
    font-weight: 500;
    font-size: 2.4rem;
    line-height: 1;
    padding-bottom: 16px;
}
.detail-text h3::before{
    content: "";
    background: #BFC229;
    width: 8px;
    height: 8px;
    display: inline-block;
    margin-right: 12px;
    transform: translateY(-4px);
}
.detail-text ul{
    padding-top: 24px;
}
.detail-text ul li{
    margin-bottom: 16px;
}
.detail-text ul li::before{
    content: "";
    border-bottom: 2px solid #CBC8C8;
    border-left: 2px solid #CBC8C8;
    width: 8px;
    height: 8px;
    display: inline-block;
    margin-right: 12px;
    transform: translateY(-4px);
}
.em-txt{
    font-style: normal;
    color: #BFC229;
}
.small{
    font-size: 1.3rem;
    margin-left: 12px;
}
.detail-img{
    width: 50%;
}
 .detail-img img{
    height: 600px;
    object-fit: cover;
}   

/*========= 企業情報ページ ===============*/
.greeting-area{
    margin: 80px auto 0;
    position: relative;
}
.greeting-text{
    width: 50%;
}
.greeting-img::before{
    content: "";
    position: absolute;
    bottom: 10%;
    right: 0%;
    display: inline-block;
    width: 40%;
    height: 260px;
    background: #FFF3A2;
}
.greeting-img::after{
    content: "";
    display: inline-block;
    position: absolute;
    bottom: 10%;
    right: 7%;
    background: url(../images/greeting.png) center / cover, no-repeat;
    width: 330px;
    height: 355px;
}
.overview-area{
    margin: 80px auto 0;
}
.dldt-content_fill dl{
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	padding-top: 30px;
}
.dldt-content_fill dt{
	width: 15%;
	border-bottom: solid 2px #BAAA3E;
	padding: 16px;
	font-weight: 600;
}
.dldt-content_fill dd{
	width: 85%;
	border-bottom: solid 1px #D5D5D5;
	padding: 16px;
}
.access-area{
    margin: 80px auto;
}
/* Google Mapを囲う要素 */
.map{
	position: relative;
  	width: 100%;
  	height: 0;
  	padding-top: 75%; /* 比率を1:1に固定(100%)(4:3の場合75％) */
}
/* Google Mapのiframe */
.map iframe{
  	position: absolute;
  	top: 0;
  	left: 0;
  	width: 100%;
  	height: 100%;
}
/* 横幅を指定するための要素 */
.map_wrap{
   	width: 45%; /* ここに横幅を指定 */
}
.access-text ul{
    padding-top: 16px;
}
/*========= お問い合わせページ ===============*/
.contact-area{
    padding: 80px 0 160px;
    width: 100%;
    border-bottom: solid 1px #CBC8C8;
}
.form-table{
    width: 100%;
    padding: 40px 0;
}
.form-table tr{
	width: 100%;
	border-bottom: 1px solid #DDDDDD;
	padding: 25px 0px;
	display: flex;
}
.form-table tr:last-child{
	border-bottom: none;
}
.form-table th{
	width: 30%;
	text-align: left;
	padding-left: 5px;
	display: flex;
	align-items: center;
    justify-content: space-between;
}
.form-table td{
	width: 70%;
	text-align: left;
}
.form-table .allow{
	position: relative;
  	display: inline-flex;
  	align-items: center;
}
.form-table .allow::after{
	content: '';
	position: absolute;
	right: 1em;
	width: 10px;
	height: 7px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	pointer-events: none;
	background-color: #333;
}
.form-table select:focus, .form-table textarea:focus, .form-table input:focus {
	outline: #DCDCDC solid 4px;
}
.form-table select{
    background: #F5F2DE;
	height: 40px;
	padding: 0px 100px 0px 10px;
	border-radius: 5px;
	cursor: pointer;
	position: relative;
	font-size: 1.6rem;
	appearance: none;
}
.form-table input{
	width: 80%;
	height: 40px;
    background: #F5F2DE;
	padding-left: 15px;
	border-radius: 5px;
	font-size: 1.6rem;
}
.form-table textarea{
	width: 80%;
	height: 180px;
    background: #F5F2DE;
	border-radius: 5px;
	padding: 10px 15px;
	font-size: 1.6rem;
}
.essential, .any{
	font-size: 1.2rem;
	padding: 0px 4px;
	border-radius: 3px;
	margin-right: 24px;
    display: inline-block;
}
.essential{
	background: #FBE233;
    white-space: nowrap;
    font-weight: 500;
}
.any{
	background: #F5F2DE;
    white-space: nowrap;
    font-weight: 500;
}
.check-area{
    border-radius: 12px;
}
.check-area strong{
    font-weight: 700;
    color: #033AAA;
    text-decoration: underline;
}
.check_content label{
    width: 100%;
	background: #F5F2DE;
	padding: 20px;
	margin: 40px auto;
	display: inline-block;
    cursor: pointer;
    border-radius: 12px;
    text-align: center;
}
.check_content input[name="個人情報保護方針"]{
	margin-right: 8px;
}
.submit_btn{
    text-align: center;
}
.submit_btn input[type="submit"]{
	background: #FBE233;
	display: inline-block;
	width: 300px;
	padding: 20px;
	border-radius: 50px;
	transition: 0.3s;
    appearance: none;
    -webkit-appearance: none;
    font-weight: 500;
}
.submit_btn input[type="submit"]:hover{
	opacity: 0.5;
}

/*========= 個人情報保護方針ページ ===============*/
.privacy-wrap{
    margin: 80px auto;
}
.privacy-wrap h3{
    padding-top: 32px;
    font-weight: 500;
}
.privacy-wrap ul li{
    font-size: 1.4rem;
}
.privacy-wrap ul li::before{
    content: "";
    background: #BFC229;
    width: 6px;
    height: 6px;
    display: inline-block;
    margin-right: 8px;
    transform: translateY(-2px);
}
@media (max-width: 959px){
    body {
        min-width: 650px;
        font-size: 1.4rem;
        line-height: 1.8;
    }
    .flex{
        flex-direction: column;
        align-items: flex-start;
    }
    .flex-re{
        flex-direction: column-reverse;
    }
     .inner1300{
        width: 100%;
        padding: 0 24px;
    }
    .inner1200{
        width: 100%;
        padding: 0 24px;
    }
    .inner997{
        width: 100%;
        padding: 0 24px;
    }
    .inner800{
        width: 100%;
        padding: 0 40px;
    }
    /*ボタンコンポーネント*/
    .btn{
        font-size: 1.4rem;
    }
    /*========= ヘッダー ===============*/
    .header {
        height: 60px;
    }
    .header_logo img{
        width: 80%;
        min-width: 170px;
    }
    
    /*========= ナビゲーションのためのCSS ===============*/
    #g-nav{
        /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
        display: block;
        position:fixed;
        z-index: 999;
        /*ナビのスタート位置と形状*/
        top:0;
        right: -80%;
        width: 80%;
        height: 100%;/*ナビの高さ*/
        background:#F5F2DE;
        padding: 80px 32px;
        /*動き*/
        transition: all 0.6s;
    }
    #g-nav span{
        font-family: "Gantari", sans-serif;
        margin-bottom: 64px;
        color: #979696;
        display: block;
        font-size: 3.2rem;
        padding-bottom: 16px;
        line-height: 1;
    }
    /*アクティブクラスがついたら位置を0に*/
    #g-nav.panelactive{
        right: 0;
    }
    /*ナビゲーションの縦スクロール*/
    #g-nav.panelactive #g-nav-list{
        /*ナビの数が増えた場合縦スクロール*/
        z-index: 999; 
        width: 100%;
        height: 100%;/*表示する高さ*/
        overflow: auto;
    }
    /*ナビゲーション*/
    #g-nav ul {
        display: block;
    }
    /*リストのレイアウト設定*/
    #g-nav li a{
        font-size: 2rem;
        margin-bottom: 64px;
    }
    /*========= ボタンのためのCSS ===============*/
    .openbtn{
        display: block;
        position:fixed;
        z-index: 9999;/*ボタンを最前面に*/
        top:10px;
        right: 10px;
        cursor: pointer;
        width: 50px;
        height:50px;
    }
    /*×に変化*/	
    .openbtn span{
        display: inline-block;
        transition: all .4s;
        position: absolute;
        left: 14px;
        height: 1px;
        border-radius: 2px;
        background-color: #666;
        width: 45%;
    }
    .openbtn span:nth-of-type(1) {
        top:15px;	
    }
    .openbtn span:nth-of-type(2) {
        top:23px;
    }
    .openbtn span:nth-of-type(3) {
        top:31px;
    }
    .openbtn.active span:nth-of-type(1) {
        top: 18px;
        left: 18px;
        transform: translateY(6px) rotate(-45deg);
        width: 30%;
    }
    .openbtn.active span:nth-of-type(2) {
        opacity: 0;
    }
    .openbtn.active span:nth-of-type(3){
        top: 30px;
        left: 18px;
        transform: translateY(-6px) rotate(45deg);
        width: 30%;
    }
    /*問い合わせボタン*/
    .nav-btn{
        box-shadow: none;
        width: 100%;
        justify-content: center;
        padding: 24px 32px;
        font-size: 2rem;
    }
    /*メールアイコン*/
    .nav-btn::before{
        font-size: 2.4rem;
    }
    .top-fv_copy {
        width: 45%;
        padding: 0px 24px;
    }
    
    /*========= お問い合わせ ===============*/
    .c-contact-text_inner{
        width: 100%;
        padding: 0 24px 0 0;
    }
    .c-contact-tel a {
        font-size: 3.2rem;
    }
    .c-contact-tel a::before {
        font-size: 2.4rem;
    }
    .reception {
        font-size: 1.2rem;
    }
    .c-contact-mail a {
        padding: 16px 50px;
    }
    
    /*========= フッター ===============*/
    .footer-left{
        width: 100%;
        height: auto;
    }
    .footer-right{
        width: 100%;
    }
    .footer-company{
        width: 100%;
        padding: 40px 0;
    }
    .footer-nav {
        width: 100%;
    }
    /*========= 下層ページFV ===============*/
    .breadcrumbs{
	    padding-top: 8px;
        padding-bottom: 8px;
    }

    /*========= main ===============*/
    main{
        padding-top: 60px;
    }
    
    /*========= FV ===============*/
    .top-fv_copy p{
        font-size: 3.2rem;
    }
    
    /*========= about ===============*/
    .about-text h2{
	    font-size: 2.4rem;
    }
    .about-img{
        width: 40%;
        height: 550px;
    }
    .about-text{
        width: 60%;
        padding-left: 24px;
    }
    .about-text p{
        width: 95%;
    }
    
    /*========= 事業内容・企業情報 ===============*/
    .busi-com-area{
        width: 100%;
    }
    .busi-com-area:last-child{
        border-left: none; 
        border-top: solid 1px #CBC8C8; 
    }
    .busi-com-wrap{
        padding: 80px 24px;
    }
    .busi-com-tb p{
        width: 60%;
    }
    .busi-com-btn{
        width: 10%;
    }
    /*========= お知らせ ===============*/
    .news-area{
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .news-title{
        width: 100%;
        display: flex;
        justify-content: space-between;
    }
    .news-content{
        width: 100%;
    }
    .ti-new{
        margin-top: 16px;
    }
    
    /*========= 事業内容ページ ===============*/
    .business-ttl{
        width: 100%;
    }
    .business-text{
        width: 100%;
    }
    .detail-text{
        width: 100%;
        padding: 40px 24px;
    }
    .detail-img{
        width: 100%;
    }
    .detail-img img{
        height: 300px;
        object-position: top;
    }
    
    /*========= 企業情報ページ ===============*/
    .greeting-img::before{
        width: 45%;
    }
    .greeting-img::after {
        right: 2%;
        width: 280px;
        height: 315px;
    }
    .dldt-content_fill dl{
        flex-direction: column;
        padding-top: 0px;
    }
    .dldt-content_fill dt{
        width: 100%;
        border-bottom: none;
        padding: 16px 16px 8px 16px;
    }
    .dldt-content_fill dd{
        width: 100%;
        padding: 0 16px 16px 16px;
    }
    .map_wrap {
        width: 100%;
        padding-top: 40px;
    }
    .map {
        padding-top: 35%;
    }

    /*========= お問い合わせページ ===============*/
    .form-table tr{
        flex-direction: column;
    }
    .form-table th{
        width: 100%;
        padding-bottom: 15px;
        justify-content: flex-start;
    }
    .form-table td{
        width: 100%;
    }
    .form-table input{
        width: 100%;
    }
    .essential, .any {
        margin-left: 8px;
    }
}
@media (max-width: 560px){
     body {
        min-width: 360px;
        font-size: 1.4rem;
    }
    .s-flex{
        flex-direction: column;
        align-items: flex-start;
    }
    .fc-reverse{
        flex-direction: column-reverse;
    }
     /*ボタンコンポーネント*/
    /*丸ボタン*/
    .more_btn_circle {
        width: 48px;
        height: 48px;
    }
    .more_btn_circle::before{
        font-size: 2rem;
        left: 28%;
        top: 25%;
    }
    
    /*========= セクションタイトル ===============*/
    .sec-title_ja{
        font-size: 2.4rem;
    }
    .sec-title_en{
        font-size: 1.6rem;
        line-height: 0.3;
    }
    /*========= 見出しデザイン ===============*/
    .heading-title{
        font-size: 2rem;
        letter-spacing: 0.01em;
    }
    .heading-title::before {
        width: 20px;
        height: 5px;
        margin-right: 4px;
        transform: translateY(-5px);
    }
    
    /*========= ヘッダー ===============*/
    .header {
        height: 60px;
    }
    .header_logo img{
        width: 80%;
        min-width: 170px;
    }
    
    /*========= ナビゲーションのためのCSS ===============*/
    #g-nav{
        padding: 40px 32px;
    }
     #g-nav span{
        margin-bottom: 32px;
    }
     /*リストのレイアウト設定*/
    #g-nav li a{
        margin-bottom: 32px;
        font-size: 1.6rem;
    }
    /*問い合わせボタン*/
    .nav-btn{
        padding: 24px 8px;
        font-size: 1.6rem;
    }
    /*========= お問い合わせ ===============*/
    .c-contact_area{
        padding: 40px 0;
    }
    .c-contact-text{
        width: 100%;
    }
    .c-contact-text::after{
        width: 90%;
        height: 1px;
        top: 45%;
        left: 5%;
    }
    .c-contact-text_inner{
        padding: 0;
    }
    .c-contact-cta{
        width: 100%;
        padding-top: 64px;
    }
    
    /*========= フッター ===============*/
    .footer-nav a{
        font-size: 1.252rem;
    }
    /* Loading アイコンの大きさ設定　*/
    #splash_logo svg{
        width: 60%;
    }
    /*========= FV ===============*/
    .top-fv{
        height: 550px;
    }
    .top-fv_copy {
        width: 100%;
        padding: 40px 0px 0px 24px;
    }
    .top-fv_copy h1{
        letter-spacing: 0.01em;
    }
    .top-fv_copy p{
        font-size: 2.4rem;
    }
    .top-fv_copy span{
        font-size: 1.2rem;
        padding: 4px 6px;
        margin-right: 4px;
    }
    .fv-img{
        width: 80%;
        margin-left: auto;
        margin-top: 32px;
    }
    .text-slide{
        display: flex;
        width: 100vw;
        margin-inline: calc(50% - 50vw);
        position: absolute;
        top: 83%;
    }
    .text-item {
        flex-shrink: 0;
        white-space: nowrap;
        font-size: 8rem;
        font-family: "Gantari", sans-serif;
        color: #DCDCCF;
    }
    
    /*========= about ===============*/
    .about-area{
        margin-top: 40px;
    }
    .about-text h2{
	    font-size: 2.4rem;
    }
    .about-img{
        width: 100%;
        height: 120px;
    }
    .about-text{
        width: 100%;
        padding: 40px 24px;
    }
    .about-text p{
        width: 100%;
    }
    
    /*========= 事業内容・企業情報 ===============*/
     .busi-com-wrap{
        padding: 40px 24px;
    }
    
    /*========= お知らせ ===============*/
    
    .news-area {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    
    /*お知らせ一覧ページ*/
    #newsWrap{
        padding-bottom: 0px;
    }
    
    /*お知らせ詳細ページ*/
    .detailUpfile img{
        max-width: 100%;
    }
    
    /*========= 事業内容ページ ===============*/
    .business-about_area{
        padding: 40px 0;
    }
    .business-text{
        font-size: 1.4rem;
    }
    .detail-text h3{
        font-size: 2rem;
    }
    .detail-img img{
        height: 180px;
    }
    
    /*========= 企業情報ページ ===============*/
    .greeting-text {
        width: 100%;
        padding-top: 140px;
    }
    .greeting-img::before{
        bottom: 80%;
        width: 100%;
        height: 120px;
    }
    .greeting-img::after {
        right: 29%;
        width: 140px;
        height: 149px;
        bottom: 80%;
    }
    .overview-area{
        margin: 40px auto 0;
    }
    .dldt-content_fill dt{
        padding: 16px 0 8px 0;
    }
    .dldt-content_fill dd{
        width: 100%;
        padding: 0 0 16px 0px;
    }
    .access-area{
        margin: 40px auto;
    }
    
    /*========= お問い合わせページ ===============*/
    .contact-area{
        padding: 40px 0 80px;
    }
    .form-table{
        padding: 16px 0;
    }
    .form-table .allow::after{
        right: 6em;
    }
    .form-table select{
        width: 80%;
    }
    .form-table textarea{
        width: 100%;
    }
    .submit_btn input[type="submit"]{
        color: #262525;  
}
    /*========= 個人情報保護方針ページ ===============*/
    .privacy-wrap{
        margin: 40px auto;
    }
}