/*
 Theme Name:   KIGUCHI RENEWAL
 Template:     xeory_extension
 Version:      2.0.0
*/

/* SYSTEM */
body{
	background: #FFF;
}
a{
	text-decoration: none;
}
a:hover{
	text-decoration: none;
}



@media only screen and (min-width: 768px){
	a,a:hover{
		transition: all .3s ease;
	}
	a:hover{
		opacity: .8;
	}
}

p,ul,li,dl,dt,dd{
	margin: 0;
	padding: 0;
}
p,li,dt,dd,th,td,h1,h2,h3,h4,h5,h6,span{
	color: #3E3A39;
	letter-spacing: 1px;
	line-height: 1.4;
}
.wrap{
	max-width: 1140px;
	margin: 0 auto;
	padding: 20px;
}
.center{
	text-align: center;
}
.left{
	text-align: left;
}
.right{
	text-align: right;
}
.ps_re{
	position: relative;
}
.ps_ab{
	position: absolute;
}
.flex{
	display: flex;
	flex-wrap: wrap;
}
.flex-end{
	align-items: flex-end;
}
.col_2{
	width: 48%;
	margin: 1%;
}
.col_3{
	width: 31.33%;
	margin: 1%;
}
.col_4{
	width: 23%;
	margin: 1%;
}
.col_4_3{
	width: 73%;
	margin: 1%;
}
.float_left{
	float: left;
}
.float_right{
	float: right;
}
.vert{
	writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode:vertical-rl;
}
.hover_anker{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background-color: #FFFFFF;
	opacity: 0;
	transition: all .3s ease;
}
@media only screen and (min-width: 641px){
	.hover_anker:hover{
		opacity: .2;
	}
}
@media only screen and (max-width: 640px){
	.hover_anker{
		background-color: transparent;
	}
}
.bg_grad{
	background: #009E41;
    background: -webkit-linear-gradient(to right, #AAA, #777, #444);
    background: linear-gradient(to right, #AAA, #777, #444);
}
.text_grad{
	color: #009E41;
	background: -webkit-linear-gradient(to right, #AAA, #777, #444);
	background: linear-gradient(to right, #AAA, #777, #444);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
@media all and (-ms-high-contrast: none) {
	.text_grad{
		background: transparent;
	}
}
.enfont{
	font-family: 'Montserrat', sans-serif;
	font-weight: bold;
	letter-spacing: 1px;
}
.mincho{
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.pagetop{
	z-index: 99;
}
.pagetop span i{
	color: #FFF;
}
.pc-only{
	display: block;
}
.sp-only{
	display: none;
}

/* LAYOUT */
header#sidebar{
	position: fixed;
	background-color: #FFF;
	top: 0;
	left: 0;
	width: 100px;
	height: 100vh;
	z-index: 99;
}
div#drawer{
	z-index: 98;
}
/* main#container{
	padding-left: 100px;
} */
footer#footer{
	position: relative;
	z-index: 97;
}

/* HEADER */
/* header#sidebar .inner{
	min-height: 100vh;
	background-color: #000000;
}
header#sidebar .logo{
	padding: 12px;
}
header#sidebar .drawer{
	margin: 20px auto;
	text-align: center;
}
header#sidebar .drawer a{
	color: #000;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 2px;
	text-decoration: none;
}
header#sidebar .drawer a img{
	max-width: 30px;
	margin-bottom: 10px;
	transition: all .3s ease;
}
header#sidebar .drawer a img:hover{
	transform: rotate(45deg);
}
header#sidebar .menu li{
	margin-bottom: 10px;
}
header#sidebar .menu a{
	display: block;
	color: #000;
}
header#sidebar .menu a img{
	margin-bottom: 10px;
	height: 35px;
}
header#sidebar .menu p{
	font-size: 12px;
	color: #fff;
}
header#sidebar .menu p.thin{
	transform: scale(0.9, 1);
}
header#sidebar .cert{
	margin-bottom: 20px;
	padding: 0 10px;
}
header#sidebar .lang{
	margin-bottom: 10px;
}
header#sidebar .lang p{
	font-size: 13px;
	margin-top: 10px;
	color: #fff;
}
header#sidebar .copyright{
	color: #939394;
	font-size: 11px;
	line-height: 1;
	padding: 10px 15px;
}
header#sidebar .copyright p {
	color: #fff;
	font-size: 9px;
}
*/

/* DRAWER */
/* div#drawer{
	transition: all .5s ease;
	position: fixed;
	width: 1000px;
	top: 0;
	left: -1100px;
	background-color: #FFF;
}
div#drawer .inner{
	padding: 2em;
}
div#drawer a#close{
	width: 40px;
	height: 40px;
	position: absolute;
	top: 2em;
	right: 2em;
}
div#drawer a#close span{
	width: 100%;
	height: 5px;
	display: block;
	background-color: #606060;
	position: absolute;
	top: 0;
	left: 0;
}
div#drawer a#close span:nth-of-type(1){
	transform: rotate(45deg);
}
div#drawer a#close span:nth-of-type(2){
	transform: rotate(-45deg);
}
div#drawer .menu h3{
	margin-bottom: 10px;
}
div#drawer .menu h3 a{
	color: #000;
}
div#drawer .menu ul{
	margin-bottom: 1em;
	padding-left: .5em;
}
div#drawer .menu ul li{
	font-size: 14px;
	padding-left: 1em;
}
div#drawer .menu ul li:before{
	content: '\f105';
	font-family: FontAwesome;
	display: block;
	position: absolute;
	margin-left: -0.8em;
}
div#drawer .menu ul li a{
	display: inline-block;
	color: #000;
	margin-bottom: 6px;
}
div#drawer .menu ul li ul li{
	font-size: 12px;
}
div#drawer .buttons{
	margin: 10px auto;
}
div#drawer .buttons .button{
	text-align: center;
	color: #595757;
	border: 1px solid #3E3A39;
	font-size: 14px;
	font-weight: bold;
	padding: 5px;
	display: flex;
	position: relative;
	height: 100%;
}
div#drawer .buttons .button div.img{
	width: 35%;
	padding: 15px;
}
div#drawer .buttons .button div.img img {
    mix-blend-mode: difference;
}
div#drawer .buttons .button p{
	width: 65%;
	padding: 0 15px 0 0;
	text-align: left;
	position: absolute;
	top: 50%;
	left: 40%;
	transform: translateY(-50%);
}
div#drawer .banner{
	margin-bottom: 25px;
}
div#drawer .banner .banner_box_1{
	width: 49.5%;
	margin-right: 1%;
}
div#drawer .banner .banner_box_2{
	width: 49.5%;
}
div#drawer .bottom_menu{
	max-width: 17rem;
	margin-left: auto;
}
div#drawer .bottom_menu a{
	color: #3E3A39;
	font-size: 12px;
}
div#drawer .bottom_menu a:before{
	content: '\f105';
    font-family: FontAwesome;
}
*/


/* HEADER */
#header{
	background: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 99;
}
#header .logo{
	background-color: #000;
	padding: 20px;
	display: inline-block;
	position: absolute;
	z-index: 99;
	top: 0;
	left: 0;
}
#header .logo img{
	width: 100px;
}
#header .header-menu{
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	flex-wrap: wrap;
	transition: all .3s;
}
#header .header-menu nav ul.sin-ul,
#header .header-menu nav ul.lang{
	display: flex;
	flex-wrap: wrap;
}
#header .header-menu nav ul.sin-ul>li:last-child{
	margin-left: 50px;
	margin-right: 40px;
	padding: 25px 0;
}
#header .header-menu nav ul.sin-ul>li:not(:last-child)>a{
	display: block;
	padding: 25px 20px;
	transition: .2s;
}
#header .header-menu nav ul.sin-ul>li:not(:last-child):hover>a{
	background-color: #4c4c4c;
	color: #fff;
	opacity: 1;
}
#header .header-menu nav ul.sin-ul>li>a{
	font-weight: bold;
}
#header .header-menu nav ul.sin-ul>li>a,
#header .header-menu nav ul.lang>li>a{
	/* font-family: 'Montserrat', sans-serif; */
	font-size: 18px;
	color: #000;
	cursor: pointer;
}
#header .header-menu nav ul.lang>li>a{
	opacity: .3;
	font-family: 'Montserrat', sans-serif;
}
#header .header-menu nav ul.lang>li>a.current{
	opacity: 1;
}
#header .header-menu .contact-btn a{
	background-color: #000;
	border: 1px solid #000;
	display: inline-block;
	padding: 22px 0;
	width: 210px;
	text-align: center;
	font-weight: bold;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
}
#header .header-menu .contact-btn a:hover{
	opacity: 1;
	background-color: #fff;
	color: #000;
}
#header .header-menu nav ul.sin-ul>li:hover > .header-hover-menu{
	opacity: 1;
	visibility: visible;
}

#header .header-menu nav ul.sin-ul>li:first-child>a {
    padding-left: 30px;
}

.header-menu {
    background-color: #fff;
}

/* HEADER MENU HOVER */
#header .header-hover-menu{
	position: fixed;
	width: 100%;
	top: 75px;
	left: 0;
	padding: 50px 0;
	background-color: #4c4c4c;
	opacity: 0;
	visibility: hidden;
	transition: .2s;
}
#header .header-hover-menu-inner{
	max-width: 1400px;
	margin: 0 auto;
}
#header .header-hover-menu .flex{
	justify-content: space-between;
}
#header .header-hover-menu .img{
	width: 300px;
	height: 200px;
	position: relative;
}
#header .header-hover-menu .img img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: .3s;
}
#header .header-hover-menu .img img.parent,
#header .header-hover-menu .img img.current{
	opacity: 1;
}
#header .header-hover-menu .cont{
	width: calc(100% - 380px);
}
#header .header-hover-menu .cont .parent-link a{
	display: block;
	background-color: #000;
	color: #fff;
	padding: 10px 20px;
	font-weight: bold;
	font-size: 20px;
	position: relative;
}
#header .header-hover-menu .cont .parent-link a:hover{
	opacity: 1;
	color: #000;
	background-color: #fff;
}
#header .header-hover-menu .cont .parent-link a::after{
	content: "\f105";
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
	right: 20px;
	font-family: FontAwesome;
}
#header .header-hover-menu .cont .ul-flex{
	display: flex;
	flex-wrap: wrap;
	padding: 20px 20px 0;
}
#header .header-hover-menu .cont .ul-flex .cont-sin-ul{
	width: 33.333%;
}
#header .header-hover-menu .cont .ul-flex .cont-sin-ul>li{
	padding-left: calc(1em + 10px);
	margin-bottom: 5px;
}
#header .header-hover-menu .cont .ul-flex .cont-sin-ul>li>a{
	font-size: 18px;
}
#header .header-hover-menu .cont .ul-flex .cont-sin-ul>li::before{
	content: "\f105";
	font-family: FontAwesome;
	margin-left: -1em;
	padding-right: 10px;
	color: #fff;
	position: relative;
	top: -1px;
}
#header .header-hover-menu .cont .ul-flex .cont-sec-ul{
	margin-top: 5px;
	padding-left: 10px;
}
#header .header-hover-menu .cont .ul-flex .cont-sec-ul>li{
	padding-left: 18px;
	position: relative;
}
#header .header-hover-menu .cont .ul-flex .cont-sec-ul>li::before{
	content: "";
	display: inline-block;
	width: 8px;
	height: 1px;
	background-color: #fff;
	position: absolute;
	top: 10px;
	left: 0;
}

.header-menu-sp,
.h-menu {
	display: none;
}

/* FOOTER */
section#under_banner{
	padding: 60px 0 0;
}
section#under_banner .under_banner_bg{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	opacity: .36;
}
section#under_banner .banners .banner{
	box-sizing: border-box;
	background-color: #FFF;
	border-right: 10px solid #CFCFCF;
	display: flex;
}
section#under_banner .banners .banner .banner_img{
	width: 30%;
	padding: 15px;
}
section#under_banner .banners .banner p{
	width: 70%;
	padding: 27px 12px 30px;
	color: #595757;
	font-size: 16px;
	font-weight: 900;
}
section#under_banner .footer_headline{
	margin-top: 60px;
	position: relative;
	z-index: 2;
}
section#under_banner .footer_headline img{
	width: 100%;
}
footer#footer{
	color: #FFFFFF;
	background-color: #4c4c4c;
	border: 0;
}
footer#footer .footer_wrap{
	max-width: 1280px;
	margin: 0 auto;
	padding: 2em 40px;
	display: flex;
}
footer#footer .logo{
	width: 24%;
	padding: 15px;
}
footer#footer .menu{
	margin-top: 20px;
	padding: 15px;
}
footer#footer .menu ul li{
	display: inline-block;
	font-size: 17px;
	padding: 3px 15px;
	border-left: 1px solid #FFF;
}
footer#footer .menu ul li:last-child{
	border-right: 1px solid #FFF;
}
footer#footer .menu p{
	color: #FFF;
	font-size: 13px;
	margin-top: 20px;
	margin-left: 15px;
}
footer#footer .bottom_menu{
	text-align: right;
	margin-right: 15px;
	padding-bottom: 1em;
}
footer#footer .bottom_menu ul li{
	display: inline-block;
	font-size: 12px;
	padding: 3px 15px;
	border-left: 1px solid #FFF;
}
footer#footer .bottom_menu ul li:last-child{
	border-right: 1px solid #FFF;
}
.chatbot{
	position: fixed;
	right: 40px;
	bottom: 40px;
	z-index: 100;
}
.chatbot img{
	max-width: 170px;
}
.pagetop{
	bottom: 130px;
}
.pagetop span{
	/* background: #009E41;
    background: -webkit-linear-gradient(to right, #44AF35, #009E41, #1C2087);
	background: linear-gradient(to right, #44AF35, #009E41, #1C2087); */
	border-radius: 0;
}
#fixed-autho{
	position: fixed;
	z-index: 98;
	left: 0;
	bottom: 0;
	width: 100%;
	text-align: center;
	padding: 10px 0;
	background-color: #fff;
	box-shadow: 0 -3px 5px rgba(32,32,32,.1);
}
#fixed-autho img{
	width: 310px;
}


/* PAGE COMMON */
.page_header{
	background-size: cover;
	background-position: center center;
	height: 530px;
	filter: grayscale(40%);
}
.page_header.movie{
	background: transparent;
	overflow: hidden;
}
.page_header.movie video{
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;
	width: 100%;
	transform: translate(-50%, -50%);
}
.page_header .page_header_inner{
	padding: 150px 20px;
	max-width: 1240px;
	margin: 0 auto;
}
.page_header .page_header_inner .logo{
	margin: 0 auto 15px;
}
.page_header .page_header_inner .logo img{
	max-height: 164px;
}
.page_header .page_header_inner h2{
	color: #FFF;
	font-size: 40px;
	line-height: 40px;
}

.page_header.wide{
	height: 950px;
}
.page_header.wide .page_header_inner{
	padding: 320px 20px;
}
.page_header.wide .page_header_inner .logo img{
	max-height: 220px;
}

.page_header.mini{
	height: 250px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.page_header.mini .page_header_inner{
	padding: 40px 20px;
}
.page_header.mini .page_header_inner .logo img{
	max-height: 100px;
}

.page_content .page_top_title{
	margin: 30px 0;
	font-size: 22px;
	font-weight: bold;
}
.page_content .page_top_title span.jptitle{
	display: block;
	margin-top: -25px;
}
.page_content .page_top_title span.enfont{
	display: inline-block;
	font-size: 50px;
	opacity: .4;
}
.page_content .page_top_title span.underline{
	display: block;
	max-width: 7em;
	height: 2px;
	margin: 30px auto 0;
}
.page_content .page_link_button_box{
	padding: 120px 0px;
	width: 300px;
	margin: 0 auto;
}
.page_content .page_link_button_box .page_link_button{
	display: inline-block;
	position: relative;
	padding: 10px 45px 10px 25px;
	color: #FFF;
	margin-bottom: 30px;
}
.page_content .page_link_button_box .page_link_button:after{
	content: '\f105';
	font-family: FontAwesome;
	position: absolute;
	top: 10px;
	right: 10px;
}
.page_sec{
	background-size: cover;
	background-position: center center;
}

.left_line{
	font-weight: bold;
	position: relative;
	padding-left: 20px;
}
.left_line:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 100%;
	background: #009E41;  /* fallback for old browsers */
    background: -webkit-linear-gradient(to bottom, #AAA, #777, #444);  /* Chrome 10-25, Safari 5.1-6 */
    background: linear-gradient(to bottom, #AAA, #777, #444);
}

/* FRONT-PAGE */
.front_sec{
	background-size: cover;
	background-position: center center;
}
.front_sec.h100{
	min-height: 800px;
	height: 100vh;
	color: #FFFFFF;
}
.front_zindex{
	position: relative;
	z-index: 1;
}
.front_slick{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
.front_slick>div{
	width: 100%;
	height: 100%;
}
.front_slick .bg img{
	width: 3145px;
}
.front_slick .slick-track{
	width: 15725px !important;
}
/* .front_slick .bg{
	width: 100%;
	min-height: 800px;
	height: 100vh;
	background-size: cover;
	background-position: center center;
} */
.front_slick.half .bg{
	min-height: 400px;
	height: 50vh;
}
.front_sec .front_zindex h2{
	color: #FFF;
	font-size: 40px;
	margin-bottom: 30px;
}
.front_sec .front_zindex p{
	color: #FFF;
	line-height: 2.4;
	margin-bottom: 30px;
}
.front_sec .link_box{
	color: #FFF;
	font-weight: bold;
	display: inline-block;
	padding: 10px 25px;
	border: 2px solid #FFFFFF;
	padding-left: 45px;
	position: relative;
	transition: all .3s ease;
}
.front_sec .link_box:before{
	content: '+';
	position: absolute;
	top: 10px;
	left: 15px;
	transition: all .3s ease;
}
.front_sec .link_box:hover{
	background-color: #FFF;
	color: #595757;
	border-color: #595757;
}
.front_sec .link_box:hover:before{
	color: #595757;
	transform: rotate(45deg);
}
#sec01.front_sec .logo{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#company #sec01.page_sec{
	filter: grayscale(100%);
}

section#sec01 video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

section#sec01 .front_slick {
    top: 18%;
    max-height: 150px;
}

section#sec01 .front_slick h1 {
    font-size: 2.5rem;
    font-weight: bold;
    max-width: 1200px;
	width: 100%;
    margin: 0 auto;
    mix-blend-mode: difference;
	margin-top: 20px;
}

#sec01.front_sec .logo p{
	margin-bottom: 3em;
}
#sec01.front_sec .front_slick_01 .slick-dots{
	bottom: 70px;
	right: 40px;
	width: 0;
	text-align: right;
}
#sec01.front_sec .front_slick_01 .slick-dots li{
	display: block;
}
.front_sec .slick-dots li.slick-active button:before{
	color: white !important;
	text-shadow: 2px 2px 3px gray;
}
.front_sec .slick-dots li button:before{
	color: white !important;
	text-shadow: 2px 2px 3px gray;
}

#sec02.front_sec #front_newtopics{
	position: absolute;
	width: 55%;
	top: -2em;
	right: 0;
	z-index: 2;
	background-color: #FFFFFF;
}
#sec02.front_sec #front_newtopics .front_newtopics_wrap{
	padding: 25px;
	max-width: 700px;
	margin-right: auto;
}
#sec02.front_sec #front_newtopics h2{
	margin-bottom: 15px;
}
#sec02.front_sec #front_newtopics dl{
	display: flex;
}
#sec02.front_sec #front_newtopics dl dt, #sec02.front_sec #front_newtopics dl dd{
	padding: 4px 15px;
}
#sec02.front_sec #front_newtopics dl dt{
	border-right: 1px solid #000000;
}
#sec02.front_sec .front_zindex{
	width: 100%;
	padding: 20px;
	position: absolute;
	top: 60%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#sec02.front_sec .front_zindex h2,
#sec02.front_sec .front_zindex p {
	text-align: center;
}

#sec02.front_sec .front_zindex p.st {
	font-weight: bold;
	font-size: 1.5rem;
	letter-spacing: 3px;
}

section#sec02 video {
    z-index: -1;
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#sec02.front_sec .front_slick_02 .slick-dots{
	bottom: 40px;
	right: 40px;
	width: 0;
	text-align: right;
}
#sec02.front_sec .front_slick_02 .slick-dots li{
	display: block;
}

#sec02.front_sec.h100 {
	height: 130vh;
}

#sec02.front_sec .link_box:before {
    top: 10px;
	left: 35px;
}

section#sec02 .link_box {
	padding: 10px 38px 10px 62px;
    letter-spacing: 1px;
}

#sec02.front_sec .front_zindex h2 {
    font-size: 55px;
    margin-bottom: 10px;
}

#sec02 .link_col {
	align-items: center;
	justify-content: space-between;
}

#sec02 .link_col .text_box {
	width: 45%;
	text-align: right;
}

section#sec02 figure.img {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 43%;
}

#sec03.front_sec .halfcut{
	width: 50%;
}
#sec03.front_sec #sec03-2,#sec03.front_sec #sec03-3{
	min-height: 400px;
	height: 50vh;
}
#sec03.front_sec #sec03-1{
	position: relative;
}
#sec03.front_sec #sec03-1 .front_zindex{
	max-width: 640px;
	width: 100%;
	padding: 20px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
#sec03.front_sec #sec03-2 .front_zindex, #sec03.front_sec #sec03-3 .front_zindex{
	width: 80%;
	max-width: 640px;
	padding: 20px;
	position: absolute;
	top: 50%;
	left: 60px;
	transform: translateY(-50%);
}
#sec03.front_sec .front_slick_03 .slick-dots{
	bottom: 40px;
	left: 40px;
	width: 0;
	text-align: right;
}
#sec03.front_sec .front_slick_03 .slick-dots li{
	display: block;
}
#sec03.front_sec .front_slick_04 .slick-dots{
	bottom: 40px;
	right: 40px;
	width: 0;
	text-align: right;
}
#sec03.front_sec .front_slick_04 .slick-dots li{
	display: block;
}
#sec03.front_sec .front_slick_05 .slick-dots{
	bottom: 40px;
	right: 40px;
	width: 0;
	text-align: right;
}
#sec03.front_sec .front_slick_05 .slick-dots li{
	display: block;
}
/* addcontent */

.business_slick {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 35px;
    background-color: #fff;
	position: relative;
}

#sec03 .business_slick .box {
	width: 442px;
}
#sec05 .business_slick .box {
	width: 347px;
}

.business_slick .box {
    position: relative;
    transition: all 0.2s;
	margin-right: 40px;
}

.business_slick .box a {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.business_slick .box:hover {
    opacity: 0.5;
}

section#sec03,
section#sec05 {
    padding-top: 7rem;
    margin-top: 3rem;
	position: relative;
}

section#sec05 {
	padding-top: 13rem;
}

section#sec03::before,
section#sec05::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 62%;
    height: 73%;
    background: linear-gradient(90deg, #fff, #e3e3e3);
    z-index: 0;
}
section#sec03 .wrap{
	position: relative;
	z-index: 1;
}

section#sec05::before {
	height: 100%;
}

.slide_wrap .title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.slide_wrap .title h2 {
	font-size: 3.5rem;
	margin-right: 3rem;
	width: 51%;
	color: #000;
}

.slide_wrap .title h2::before {
    content: '・';
    color: #4c4c4c;
}

.slide_wrap .title h2 span {
    font-size: 14px;
    margin-left: 20px;
    font-weight: 400;
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.slide_wrap {
    max-width: calc(100% - 20%);
    margin-left: auto;
	position: relative;
}

.slide_wrap .business_slick .box h3.enfont {
    font-size: 2.5rem;
	margin-bottom: 15px;
}

.slide_wrap .business_slick .box figure {
	margin-bottom: 15px;
}

.slide_wrap .business_slick .box h3.enfont.under span {
	border-bottom: 1px solid #000;
}

.slide_wrap .business_slick .box p.text {
	line-height: 2;
}

.arrow_box span img {
    width: 70px;
    cursor: pointer;
    padding: 5px;
}

#sec04.front_sec .front_topics{
	padding: 15px 25px;
	border-bottom: 1px solid #000;
	max-width:920px;
	align-items: center;
}

#sec04.front_sec .front_topics_box .viewall {
	max-width: 920px;
}

#sec04.front_sec .slide_wrap .cat_box ul {
    display: flex;
    flex-wrap: wrap;
}

#sec04.front_sec .slide_wrap .cat_box ul li {
    padding: 10px 15px;
    background-color: #babbbb;
    border-radius: 5px;
    margin-right: 10px;
	cursor: pointer;
	transition: .2s;
}

#sec04.front_sec .slide_wrap .cat_box ul li.active {
	pointer-events: none;
}

#sec04.front_sec .slide_wrap .cat_box ul li:hover,
#sec04.front_sec .slide_wrap .cat_box ul li.active {
	background-color: #000;
	color: #fff;
}

#sec04.front_sec .slide_wrap .cat_box ul li:last-of-type {
    margin-right: 0;
}

#sec04.front_sec .slide_wrap .title h2.enfont {
    width: 30%;
}

#sec04.front_sec .front_topics:first-of-type {
    max-width: 100%;
    border-bottom: inherit;
    background: linear-gradient(90deg, white, #e4e4e4);
}

#sec04.front_sec .front_topics .date {
    min-width: 175px;
	max-width: 175px;
    margin-right: 10px;
}

#sec04.front_sec .front_topics .cat {
    min-width: 130px;
	max-width: 130px;
    margin-right: 1%;
}

section#under_banner .banners .banner {
    box-sizing: border-box;
    background-color: #FFF;
    border-right: 10px solid #CFCFCF;
    display: flex;
    background: linear-gradient(270deg, #ededed, #fff);
}

#sec05.front_sec.h100 {
	height: inherit;
	min-height: auto;
	padding-bottom: 50px;
}

#sec05 .slide_wrap {
    align-items: flex-start;
}

#sec05 .slide_wrap .title h2 {
	width: 100%;
	margin-bottom: 5rem;
}
#sec05 .slide_wrap .title {
	width: 20%;
}

#sec05 .slide_wrap .business_slick {
    width: 80%;
}

#sec05 .slide_wrap .business_slick .box h3 {
	font-weight: bold;
	font-size: 1.3rem;
	color: #4c4c4c;
}

.front_topics_box {
	display: none;
}
.front_topics_box.open {
    display: block;
}

#sec04.front_sec .front_topics .cat span {
	background-color: #000 !important;
}

#sec04.front_sec .front_topics .date p {
    color: #000 !important;
    font-weight: bold;
}

footer#footer .footer_wrap {
	display: block !important;
}

/* footer#footer .bottom_menu {
	position: absolute !important;
    bottom: 0;
    right: 0;
} */

footer#footer .footer_wrap {
	padding-bottom: 0;	
}

footer#footer .menu p {
    color: #FFF;
    font-size: 13px;
    margin-top: 5rem !important;
    margin-left: 0 !important;
}

footer#footer .menu p strong {
    display: block;
    margin-bottom: 10px;
    font-size: 1.1rem;
}

section#sec04 .slide_wrap>.title {
    align-items: center;
    margin-bottom: 35px;
}

#sec04.front_sec .front_topics {
    padding: 35px 15px;
    border-bottom: 1px solid #000;
    max-width: 920px;
    align-items: center;
}

#sec04.front_sec .front_topics .title{
	width: 100%;
    margin-right: 1%;
    font-weight: bold;
    max-width: 550px;
}

section#sec05::before {
    height: 100%;
    width: 68vw;
}

/* addcontent - end*/

#sec04.front_sec{
	padding: 60px 0;
}
#sec04.front_sec h2{
	font-size: 3.5rem;
	margin-right: 15px;
}

#sec04.front_sec .front_topics .date{
	width: 19%;
	margin-right: 1%;
}
#sec04.front_sec .front_topics .date p{
	color: #44A035;
	font-weight: bold;
}

#sec04.front_sec .front_topics .title{
	/* width: 59%;
	margin-right: 1%;
	font-weight: bold; */
}
#sec04.front_sec .front_topics .title h3{
	color: #595757;
}
#sec04.front_sec .front_topics .cat{
	width: 11%;
	margin-right: 1%;
}
#sec04.front_sec .front_topics .cat span{
	display: inline-block;
	background-color: #182757;
	color: #FFF;
	font-size: 13px;
	padding: 3px 12px;
}
#sec04.front_sec .front_topics .expand{
	width: 8%;
}
#sec04.front_sec .front_topics .expand_btn{
	display: inline-block;
	position: relative;
	width: 20px;
	height: 20px;
}
#sec04.front_sec .front_topics .expand_btn span{
	position: absolute;
	width: 100%;
	height: 3px;
	transition: all .3s ease;
}
#sec04.front_sec .front_topics .expand_btn span.vert{
	top: 8px;
	left: 0;
	transform: rotate(90deg);
	background: #44A035;
}
#sec04.front_sec .front_topics .expand_btn.open span.vert{
	transform: rotate(0deg);
}
#sec04.front_sec .front_topics .expand_btn span.bg_grad{
	top: 8px;
	left: 0;
}
#sec04.front_sec .front_topics .expand_container{
	width: 100%;
	padding-top: 5px;
}
#sec04.front_sec .front_topics .expand_container .space{
	width: 20%;
}
#sec04.front_sec .front_topics .expand_container .excerpt{
	width: 59%;
	margin-right: 1%;
}
#sec04.front_sec .front_topics .expand_container .excerpt p{
	color: #595757;
	font-size: 14px;
}
#sec04.front_sec .front_topics .expand_container .link{
	width: 20%;
}
#sec04.front_sec .front_topics .expand_container .link a{
	margin-top: 1em;
	display: inline-block;
	color: #595757;
}
#sec04.front_sec .front_topics_box .viewall{
	margin-top: 1em;
}
#sec04.front_sec .link_box.mini{
	color: #000;
	border-color: #000;
	font-size: 80%;
	padding: 8px 16px 6px 32px;
}
#sec04.front_sec .link_box.mini:before{
	top: 8px;
}
#sec04.front_sec .link_box.mini:hover{
	color: #FFF;
	border-color: #FFF;
	background-color: #595757;
}
#sec04.front_sec .link_box.mini:hover:before{
	color: #FFF;
}
#sec05.front_sec .wrap{
	position: relative;
	top: 97px;
	z-index: 1;
}
#sec05.front_sec .front_footer_btn{
	background-size: cover;
	background-position: center right;
}
#sec05.front_sec .front_footer_btn p{
	color: #FFF;
	font-weight: 900;
	padding: 80px 15px;
}


/* COMPANY */
#company #sec01.page_sec .rightline{
	float: right;
	padding: 15px;
}
#company #sec01.page_sec .wrap{
	max-width: 600px;
}
#company #sec01.page_sec .wrap p{
	color: #FFF;
	margin-bottom: 1em;
	line-height: 2;
}
#company #sec01.page_sec .wrap p.mt{
	margin-top: 10em;
}
#company #sec01.page_sec .wrap p.glow{
	font-size: 120%;
	font-weight: bold;
	letter-spacing: 4px;
	text-shadow: 0px 0px 22px #FFF;
}
#company .company_btns{
	padding: 120px 0;
}
#company .company_btns .company_btn{
	background-size: cover;
	background-position: center center;
	padding: 40px 15px;
}
#company .company_btns .company_btn h3, #company .company_btns .company_btn h4{
	color: #FFF;
	position: relative;
}
#company .company_btns .company_btn h3{
	font-size: 120%;
	font-weight: bold;
	margin-bottom: 10px;
}
#company .company_btns .company_btn h4{
	font-size: 90%;
}
#company .company_btns .company_btn .curtain{
	position: absolute;
	top: 0;
	left: 0;
	width: 8%;
	height: 100%;
	opacity: .4;
	transition: all .3s ease;
}
#company .company_btns .company_btn:hover .curtain{
	width: 100%;
}

/* COMPANY - MOTTO */
#company_motto .page_sec h3{
	margin-bottom: 3em;
}
#company_motto .page_sec h4{
	font-size: 32px;
	line-height: 2.2;
}
#company_motto .page_sec h4 strong{
	font-size: 130%;
	letter-spacing: 6px;
	font-weight: normal;
}
#company_motto #sec01.page_sec{
	background-color: #F5F5F5;
	padding-top: 2em;
	padding-bottom: 120px;
	margin-bottom: 3rem;
}
#company_motto #sec01.page_sec .wrap{
	z-index: 2;
}
#company_motto #sec01.page_sec .pointdiv{
	position: absolute;
	z-index: -1;
	top: 2em;
	right: 0;
	background-color: #FFF;
	padding: 40px;
	width: 70%;
}
#company_motto #sec01.page_sec .pointdiv .inner img{
	max-width: 480px;
	margin-bottom: 1em;
}
#company_motto #sec01.page_sec .pointdiv .inner p{
	line-height: 2;
}
#company_motto #sec02.page_sec{
	padding-top: 8em;
	padding-bottom: 8em;
	margin-bottom: 3rem;
}
#company_motto #sec02.page_sec .background{
	background-color: #F5F5F5;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 85%;
	height: 100%;
}
#company_motto #sec02.page_sec .backimg{
	text-align: center;
	position: absolute;
	top: 1em;
	left: 0;
	width: 100%;
}
#company_motto #sec03.page_sec .background{
	background-color: #F5F5F5;
	position: absolute;
	z-index: -1;
	top: 2em;
	right: 0;
	width: 70%;
	height: 70%;
}
#company_motto #sec03.page_sec .greetings img.float_left{
	max-width: 470px;
	margin-right: 25px;
	margin-bottom: 25px;
}
#company_motto #sec03.page_sec .greetings p{
	margin-bottom: 1em;
	line-height: 2;
}
#company_motto #sec03.page_sec .signature{
	margin-left: auto;
	width: 100%;
	max-width: 300px;
}
#company_motto #sec03.page_sec .signature p{
	margin-bottom: 1em;
}

/* COMPANY - HISTORY */
#company_history #hh01.history_head{
	background-color: #F5F5F5;
}
#company_history .history_head h3{
	font-size: 42px;
	font-weight: bold;
}
#company_history .history_head h4{
	font-size: 18px;
	line-height: 2;
	font-weight: bold;
}
#company_history .history_head .hh_btn_box{
	margin: 1em 0;
}
#company_history .history_head .hh_btn{
	cursor: pointer;
	color: #FFF;
	padding: 6px 40px 6px 20px;
	border-radius: 24px;
	position: relative;
	display: inline-block;
	left: 50%;
	transform: translateX(-50%);
}
#company_history .history_head .hh_btn:after{
	content: '+';
	color: #FFF;
	position: absolute;
	top: 5px;
	right: 10px;
}
#company_history .history_head .hh_btn.open:after{
	content: '-';
}
#company_history .timeline{
	margin-top: 2em;
	margin-left: auto;
	padding-bottom: 50px;
	box-sizing: border-box;
	width: 50%;
	border-left: 4px solid #006934;
	border-color: #444;
}
#company_history .timeline .timeline_box{
	width: 100%;
	margin-bottom: 2em;
	box-sizing: border-box;
	position: relative;
	top: -10px;
}
#company_history .timeline .timeline_box_right{
	padding-left: 10%;
}
#company_history .timeline .timeline_box_right.return{
	margin-top: -12em;
}
#company_history .timeline .timeline_box_left{
	padding-right: 10%;
	position: relative;
	top: 0;
	right: 100%;
}
#company_history .timeline .timeline_box_left.return{
	margin-top: -12em;
}
#company_history .timeline .timeline_box h5{
	position: relative;
	color: #006934;
	color: #444;
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 15px;
}
#company_history .timeline .timeline_box_right h5:before{
	content: '';
	position: absolute;
	width: 12%;
	height: 2px;
	background: #006934;
	background: #444;
	top: 14px;
	right: 100%;
}
#company_history .timeline .timeline_box_right h5:after{
	content: '';
	position: absolute;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #006934;
	background: #444;
	top: 6px;
	right: 109.6%;
}
#company_history .timeline .timeline_box_left h5,#company_history .timeline .timeline_box_left p{
	text-align: right;
}
#company_history .timeline .timeline_box_left h5:before{
	content: '';
	position: absolute;
	width: 12%;
	height: 2px;
	background: #006934;
	background: #444;
	top: 14px;
	left: 100%;
}
#company_history .timeline .timeline_box_left h5:after{
	content: '';
	position: absolute;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #006934;
	background: #444;
	top: 6px;
	left: 108.8%;
}
#company_history .timeline .timeline_box p{
	margin-bottom: 1em;
}
#company_history .newera{
	font-size: 24px;
	font-weight: bold;
	margin: 1em auto;
	color: #006934;
	color: #444;
}
#company_history #history02, #company_history #history03, #company_history #history04{
	display: none;
}

/* COMPANY - ABOUT */
#company_about #sec01.page_sec{
	background-color: #F5F5F5;
	padding-top: 2em;
	padding-bottom: 5em;
}
#company_about #sec01.page_sec .image{
	position: absolute;
	top: 0;
	left: 0;
	width: 35%;
}
#company_about #sec01.page_sec .maindiv{
	width: 70%;
	margin-top: 2em;
	margin-left: auto;
	background: #FFF;
	padding: 25px 25px 25px 10%;
}
#company_about #sec01.page_sec .maindiv h3{
	margin-bottom: 2em;
}
#company_about #sec01.page_sec .maindiv .detail dl{
	margin-top: 1em;
	display: flex;
}
#company_about #sec01.page_sec .maindiv .detail dl dt{
	font-weight: bold;
	width: 7em;
}
#company_about #sec01.page_sec .maindiv .detail dl dt,#company_about #sec01.page_sec .maindiv .detail dl dd{
	line-height: 1.8;
}

/* COMPANY - AUTHORIZATION */
#authorization #sec01.page_sec{
	background-color: #F5F5F5;
	padding-top: 2em;
	padding-bottom: 2em;
}
#authorization .tab_btns{
	margin-top: 2em;
}
#authorization .tab_btns .btn{
	display: inline-block;
	padding: 15px 25px;
	border-top-left-radius: 25px;
	border-top-right-radius: 25px;
	font-size: 18px;
	font-weight: bold;
	background: #BABBBB;
	box-shadow: 5px 0 5px gray;
}
#authorization .tab_btns .btn p{
	color: #FFF;
}
#authorization .tab_btns .btn.btn_01.open{
	background: #097657;
	background: #444;
}
#authorization .tab_btns .btn.btn_02.open{
	background: #008FCA;
	background: #444;
}
#authorization .tab{
	position: relative;
	top: -2px;
	box-sizing: border-box;
	padding: 30px;
	border: 12px solid #BABBBB;
}
#authorization .tab#tab_01{
	border-color: #097657;
	border-color: #444;
}
#authorization .tab#tab_02{
	border-color: #008FCA;
	border-color: #444;
}
#authorization .menus{
	justify-content: center;
	margin-bottom: 2em;
}
#authorization .menus .menu{
	padding: 0 25px;
	border-left: 1px solid #323232;
	border-color: #777;
}
#authorization .menus .menu:last-child{
	border-right: 1px solid #323232;
	border-color: #777;
}
#authorization .menus .menu h3{
	color: #097657;
	color: #444;
	font-weight: bold;
	font-size: 13px;
}
#authorization .menus .menu p i{
	color: #097657;
	color: #777;
}
#authorization p.fas{
	font-family: FontAwesome;
	font-weight: 900;
}
#authorization .clearboth{
	clear: both;
}
#authorization .authorization_box{
	clear: both;
	margin-bottom: 2em;
}
#authorization .authorization_box header.authorization_head{
	background: #F5F5F5;
	padding: 15px 25px;
	margin: 1em 0;
}
#authorization .authorization_box header.authorization_head h3.left_line{
	font-size: 120%;
}
#authorization .authorization_box header.authorization_head span.cat{
	color: #FFF;
	padding: 3px 8px;
	margin-top: -3px;
	background: #097657;
	background: #000;
}
#authorization .authorization_box .thumbs{
	gap: 1em;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
#authorization .authorization_box .thumbs .img{
	display: inline-block;
	max-width: 180px;
	margin-bottom: 2em;
}
#authorization .authorization_box .thumb_mini .img{
	max-width: 175px;
}
#authorization .authorization_box .thumbs .img i{
	font-family: FontAwesome;
	font-weight: 900;
	position: absolute;
	right: -10px;
	bottom: -10px;
}
#authorization .authorization_box .details{
	padding-left: 3em;
	margin-bottom: 2em;
}
#authorization .authorization_box .details h4{
	color: #097657;
	color: #444;
	font-size: 120%;
	font-weight: bold;
	margin-bottom: 1em;
}
#authorization .authorization_box .details h5{
	padding: 1em 0;
	margin-bottom: 1em;
	font-weight: bold;
	position: relative;
}
#authorization .authorization_box .details h5:before{
	content: '';
	position: absolute;
	width: 100%;
	height: 1px;
	background: #444;
	left: 0;
	bottom: 0;
}
#authorization .auth_flex_left{
	width: 65%;
	margin-right: 1%;
}
#authorization .auth_flex_right{
	width: 34%;
}
#authorization .authorization_box .details .nadcap_gray{
	padding: 25px;
	background: #F5F5F5;
}
#authorization .authorization_box .details .nadcap_gray p{
	font-weight: bold;
	font-size: 90%;
	margin-bottom: 1em;
}
#authorization .authorization_box .details .flex h5{
	font-weight: bold;
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
	margin: 1em 0;
}
#authorization .authorization_box .details .flex h6{
}
#authorization .auth_table{
	margin-bottom: 2em;
}
#authorization .auth_table table th{
	background-color: #F5F5F5;
	font-weight: bold;
	text-align: center;
}
#authorization .auth_table table th, #authorization .auth_table table td{
	border: 1px solid #3E3A39;
	border-color: #AAA;
}
#authorization .menu_2{
	margin-bottom: 3em;
}
#authorization .menu_2 .menu{
	padding: 10px;
	border: 2px solid #008FCA;
	border-color: #AAA;
	border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#authorization .menu_2 .menu .title{
	display: inline-block;
}
#authorization .menu_2 .menu .title img{
	float: left;
	max-width: 115px;
	vertical-align: top;
}
#authorization .menu_2 .menu .title p{
	display: inline-block;
	padding: 1em 0 1em 1em;
	font-size: 13px;
	max-width: 250px;
	text-align: left;
	vertical-align: middle;
}
#authorization .menu_2 .menu .title img.wide{
	padding: 1em 0;
}
#authorization .menu_2 .menu .title p.wide{
	padding-top: 2em;
}
#authorization #tab_02 .authorization_box .details{
	margin: 2em auto;
}
#authorization #tab_02 .authorization_box .details h4{
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
}
#authorization #tab_02 .authorization_box .details .flex .bottom_inner{
	padding-bottom: 2em;
	font-size: 14px;
}
#authorization #tab_02{
	display: none;
}

.authorization .modaal-gallery-item img {
	max-width: 500px;
}

/* COMPANY - OFFICE */
#company_office #sec01.page_sec{
	background-color: #F5F5F5;
	padding-top: 2em;
	padding-bottom: 5em;
}
#company_office #sec01.page_sec .office_sec{
	background: #FFF;
	padding: 25px;
	margin-bottom: 60px;
	padding-bottom: 200px;
	clear: both;
}
#company_office #sec01.page_sec .office_sec.normal_sec{
	padding-bottom: 25px;
}
#company_office #sec01.page_sec .office_sec .image{
	position: absolute;
	width: 100%;
	max-width: 800px;
}
#company_office #sec01.page_sec .office_sec.right_sec{
	width: 100%;
	margin-left: 45%;
}
#company_office #sec01.page_sec .office_sec.right_sec .inner{
	max-width: 620px;
	margin-left: 10%;
	padding-left: 20px;
	padding-right: 20px;
}
#company_office #sec01.page_sec .office_sec.middle_sec .image{
	left: 50%;
	margin-top: 5em;
	margin-right: 40px;
}
#company_office #sec01.page_sec .office_sec.right_sec .image{
	right: 90%;
	margin-top: 5em;
	margin-left: 40px;
}
#company_office #sec01.page_sec .office_sec h3{
	font-size: 120%;
	margin-bottom: 1em;
}
#company_office #sec01.page_sec .office_sec p{
	font-weight: bold;
	line-height: 2;
	margin-bottom: 1em;
}
#company_office #sec01.page_sec .office_sec .map{
	margin-bottom: 2em;
}

/* COMPANY - ACCESS */
#access #sec01.page_sec{
	padding: 80px 0;
}
#access #sec01.page_sec h3{
	margin-bottom: 15px;
}
#access #sec01.page_sec .access_box p{
	font-weight: bold;
	line-height: 2;
}
#access #sec01.page_sec .access_box p.access_mode{
	color: #006934;
	color: #777;
}
#access #sec01.page_sec .access_box p.access_mode img{
	filter: grayscale(100%);
}

/* COMPANY - CALENDER */
#calender #sec01.page_sec{
	background-color: #F5F5F5;
	padding-top: 2em;
	padding-bottom: 5em;
}
#calender .calender_wrap{
	margin: 5em auto;
	background-color: #FFF;
	padding: 35px 20px;
}
#calender .calender_wrap h3{
	margin-bottom: 2em;
}
#calender .calender_set table th, #calender .calender_set table td{
	text-align: center;
	border: 2px solid #A5B0A8;
	border-color: #444;
	height: 2.5em;
	font-weight: bold;
}
#calender .calender_set table th{
	font-size: 110%;
	font-weight: 900;
	background-color: #D6DFDB;
	background-color: #AAA;
}
#calender .calender_set table td.b_holiday {
	color: #243FE6;
}
#calender .calender_set table td.holiday {
	color: #d93331;
	background: rgba(217, 51, 49, .2);
}
#calender .calender_set table td.blank {
	color: #AAAAAA;
	background: #F1F1F1;
}
#calender .calender_box .detail .low{
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 0;
}
#calender .calender_box .detail p.red{
	color: #FF0033;
	font-weight: bold;
}
#calender .calender_box .detail p.blue{
	color: #243FE6;
	font-weight: bold;
}

/* CSR */
#csr .menu{
	margin: 2em 0;
}
#csr .menu .btn{
	background-size: cover;
	background-position: center right;	
}
#csr .menu .btn p{
	color: #FFF;
	font-weight: 900;
	padding: 80px 15px;
}
#csr .page_sec h3{
	margin: 3em auto 5em;
	font-weight: bold;
	font-size: 18px;
}
#csr .page_sec h4{
	font-size: 32px;
	line-height: 2.2;
	margin-bottom: 1em;
}
#csr .page_sec p{
	line-height: 2.2;
}
#csr #csr01.page_sec{
	margin-bottom: 12em;
	/* filter: grayscale(100%); */
}
#csr #csr01.page_sec h3, #csr #csr01.page_sec h4, #csr #csr01.page_sec p{
	color: #FFF;
}
#csr #csr01.page_sec p{
	max-width: 55%;
	margin-bottom: 10em;
}
#csr #csr01.page_sec .timeline{
	position: absolute;
	width: 46%;
	height: auto;
	left: 54%;
	bottom: -9em;
	background: #F5F5F5;
	padding: 35px;
}
#csr #csr01.page_sec .timeline .inner{
	max-width: 600px;
	padding-left: 50px;
	margin-right: auto;
}
#csr #csr01.page_sec .timeline dl{
	display: flex;
	margin-bottom: 1em;
}
#csr #csr01.page_sec .timeline dl dt{
	width: 7em;
}
#csr #csr02.page_sec{
	margin-bottom: 3em;
}
#csr #csr02.page_sec p{
	margin-bottom: 10em;
}
#csr #csr03.page_sec h3, #csr #csr03.page_sec h4, #csr #csr03.page_sec p{
	color: #FFF;
}
#csr #csr03.page_sec p{
	margin-bottom: 16em;
}
#csr #csr03.page_sec .memo{
	position: absolute;
	width: 100%;
	max-width: 1100px;
	left: 50%;
	top: 500px;
	transform: translateX(-50%);
	background: #FFF;
	padding: 45px;
}
#csr #csr03.page_sec .memo h5, #csr #csr03.page_sec .memo p{
	color: #3E3A39;
}
#csr #csr03.page_sec .memo h5{
	font-size: 110%;
	font-weight: bold;
	padding-bottom: 10px;
	border-bottom: 2px solid #3E3A39;
	margin-bottom: 1em;
}
#csr #csr03.page_sec .memo p{
	margin-bottom: 2em;
}
#csr .csr03_undergray{
	background: #F5F5F5;
	height: 18em;
	max-width: 90%;
	margin-left: auto;
}

/* KIGUCHITOWN */
.town{
	background: #FEF5EE;
}
.town .town_map{
	opacity: 0;
	transition: all 1s ease;
}
.town .pin{
	position: absolute;
}
.town .pin a img{
	position: relative;
	z-index: 3;
	animation-name: pulse;
	transform: scale(0.9, 0.9);
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
}
.town_startopen.wrap.flex.town.pc_only .title h2 img {
	mix-blend-mode: luminosity;
}
@keyframes pulse {
  100% {
    transform: scale(1, 1);
  }
}
.town .pin a h3{
	position: absolute;
	z-index: 2;
	display: inline-block;
	text-align: center;
	font-weight: bold;
	word-break: keep-all;
	color: #E6302D;
	background-color: #FFF;
	border: 3px solid #E6302D;
	border-radius: 8px;
	min-width: 5em;
	opacity: 0;
}
.town .pin a:hover h3{
	opacity: 1;
}
.town_modal{
	display: none;
}
.page-id-6 .modaal-container{
	background: transparent;
}
.page-id-6 .modaal-content-container{
	box-sizing: border-box;
	background: #FFF;
	border-radius: 10px;
}
.page-id-6 .modaal-content-container .wrap{
	width: 100%;
}
.page-id-6 .modaal-content-container h4{
	font-size: 32px;
	font-weight: bold;
	color: #E6302D;
	opacity: .2;
}
.page-id-6 .modaal-content-container h3{
	font-size: 24px;
	font-weight: bold;
	color: #E6302D;
	margin-top: -1em;
	margin-bottom: 2.6em;
}
.town_modal .slide-item img{
	width: 100%;
}
.modaal-content-container .town{
	background: #FFF;
}
#startopen{
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,.7);
	z-index: 9;
}
.town_startopen{
	border-radius: 20px;
	background: #FFF;
	position: relative;
    top: 50%;
    left: 0;
    transform: translate(0%,-50%);
}
.town_startopen .panel01{
	width: 25%;
	position: relative;
}
.town_startopen .panel01 img{
	position: absolute;
	top: -50px;
	left: 0;
	width: 90%;
}
.town_startopen .title{
	width: 75%;
}
.town_startopen .title h2{
	margin-bottom: 15px;
}
.town_startopen .title p img{
	margin-right: 1em;
	max-width: 40%;
}
.town_startopen .title p{
	margin-top: 2em;
}
.town_startopen .gobtn{
	width: 100%;
	text-align: center;
	padding: 3em 0 0;
}
.town_startopen .gobtn a{
	cursor: pointer;
	display: inline-block;
	font-size: 18px;
	font-weight: bold;
	padding: 10px 30px;
	border-radius: 15px;
	color: #FFF;
	background-color: #525252;
}

.sptown.sp_only{
	display: none;
}

.sptown{
	background-size: cover;
	background-position: center center;
}
.sptown .sp-slider{
	padding: 80px 10px;
}
.sptown .sp-slider .sp-slide img{
	width: 100%;
	margin: 0 auto;
}
.sptown .sp-slider .sp-slide h3{
	position: absolute;
	display: inline-block;
	width: 90%;
	padding: 10px 20px;
	font-weight: bold;
	color: #E6302D;
	background-color: #FFF;
	border: 6px solid #E6302D;
	border-radius: 10px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.slick-prev,.slick-next{
	z-index: 9;
}
.slick-prev{
	left: -12px !important;
}
.slick-next{
	right: -8px !important;
}
.slick-prev:before, .slick-next:before{
	color: #E6302D !important;
	font-size: 24px !important;
}

/* KIGUCHI TOWN NEWS */
.news:not(body){
	display: none;
	padding-top: 80px;
}
.news .news_tab{
	padding: 20px 60px;
	box-shadow: 10px 10px 26px #000;
	background-attachment: fixed;
}
.news .hand{
	position: fixed;
	bottom: 0;
}
.news .hand.left_hand {
	transform: translateX(-19%);
}
.hand.right_hand {
    transform: translateX(-20%);
}
.news .news_tab_title{
	position: relative;
	padding: 15px 25px 10px;
	border-top: 3px solid #000;
	border-bottom: 3px solid #000;
	margin-bottom: 2em;
}
.news .news_tab_title:after{
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: -27px;
	width: 100%;
	height: 5px;
	background-color: #000;
	margin: 10px auto 1em;
}
.news .news_tab_title .logo{
	width: 20%;
}
.news .news_tab_title .title{
	width: 58%;
	margin: 0 1%;
}
.news .news_tab_title .date{
	font-weight: 900;
	background-color: #000;
	width: 20%;
	padding: 15px 15px 0;
	max-width: 162px;
}
.news .news_tab_title .date .day{
	color: #FFE7C5;
	font-size: 54px;
	line-height: 54px;
	vertical-align: top;
}
.news .news_tab_title .date .year{
	color: #FFE7C5;
	font-size: 24px;
	line-height: 24px;
	vertical-align: top;
}
.news .news_tab_title .date .month{
	color: #FFE7C5;
	font-size: 26px;
	line-height: 26px;
	vertical-align: top;
}
.news .news_tab h3{
	color: #FFE7C5;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 2px;
	text-align: center;
	background: #000;
	padding: 5px 10px 3px;
	margin-bottom: 1em;
}
.news .news_tab_container .categories{
	width: 20%;
	position: relative;
}
.news .news_tab_container .categories .categories_inner{
	position: sticky;
	top: 15px;
}
.news .news_tab_container .categories h3{
	font-size: 14px;
}
.news .news_tab_container .categories ul li{
	margin-bottom: 1em;
}
.news .news_tab_container .categories ul li a{
	font-weight: 900;
	color: #000;
}
.news .news_tab_container .articles{
	margin-left: 1%;
	width: 79%;
}
.news .news_tab_container .articles .col_2{
	width: 44%;
	margin: 3%;
}
.news .news_tab_container .articles .headline_container{
	margin-bottom: 1em;
}
.news .news_tab_container .articles article{
	border: 1px solid #717071;
	border-radius: 15px;
	padding: 10px;
}
.news .news_tab_container .articles article h4{
	font-size: 110%;
	font-weight: bold;
	margin-bottom: 1em;
}
.news .news_tab_container .articles article h4 img{
	max-width: 34%;
	margin-left: 1%;
}
.news .news_tab_container .articles article a{
	color: #3A5F80;
	padding: 15px;
	display: block;
}
.news .news_tab_container .articles article p{
	clear: both;
}
.news .news_tab_container .articles article ul.info{
	margin: 1em auto .5em;
}
.news .news_tab_container .articles article ul.info li{
	display: inline-block;
	padding: 0 15px;
	color: #717071;
	font-size: 90%;
	border-right: 1px solid #717071;
}
.news .news_tab_container .articles article ul.info li:first-of-type{
	padding-left: 0;
}
.news .news_tab_container .articles article ul.info li:last-of-type{
	border-right: 0;
}
.news .news_tab_container .articles .category_container{
	margin-bottom: 3em;
}
.news .news_tab_container .articles .category_container h4{
	font-weight: bold;
	font-size: 110%;
	padding: 5px 0;
	border-bottom: 1px solid #000;
	margin-bottom: 1em;
}
.news .news_tab_container .articles .category_container h4 span{
	color: #595757;
	font-size: 90%;
	font-weight: normal;
}
.news .news_tab_container .articles .category_container ul{
	margin-bottom: 2em;
}
.news .news_tab_container .articles .category_container ul li{
	font-size: 14px;
	letter-spacing: 0;
	margin-bottom: 24px;
}
.news .news_tab_container .articles .category_container ul li a{
	color: #000;
}
å
/* TOPICS ARCHIVE */
#topics_archive .topics_categories{
	background-color: #F5F5F5;
}
#topics_archive .topics_categories .all_btns{
	display: inline-block;
	padding: 3px 15px;
}
#topics_archive .topics_categories .cat_btns{
	display: inline-block;
	border-left: 1px dotted #3E3A39;
	padding: 3px 15px;
}
#topics_archive .topics_categories .cat_btns span{
	font-size: 12px;
	padding: 0 15px;
}
#topics_archive .topics_categories a.cat_btn{
	display: inline-block;
	color: #182757;
	color: #AAA;
	background: #FFF;
	font-size: 12px;
	font-weight: bold;
	padding: 3px 7px;
	margin: 3px;
	border: 1px solid #182757;
	border-color: #AAA;
}
#topics_archive .topics_categories a.cat_btn.cat_current{
	color: #FFF;
	font-weight: bold;
	background: #182757;
	background: #444;
	border: 1px solid #182757;
	border-color: #444;
}
#topics_archive .topics_articles .row{
	padding: 15px 0;
}
#topics_archive .topics_articles .row:nth-of-type(2n){
	background-color: #F5F5F5;
}
.topics_archive_box .thumb{
	background-size: cover;
	background-position: center center;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
}
.topics_archive_box .thumb .date{
	position: absolute;
	top: -1%;
	left: -1%;
	color: #FFF;
	background: #44A035;
	background: #777;
	font-size: 12px;
	font-weight: 900;
	padding: 3px 7px;
}
.topics_archive_box .detail{
	margin-bottom: 15px;
}
.topics_archive_box .detail h3{
	color: #595757;
	font-size: 17px;
	font-weight: bold;
	padding: 10px 3px;
	border-bottom: 1px solid #595757;
	margin-bottom: 15px;
}
.topics_archive_box .footer .cat{
	color: #FFF;
	background: #182757;
	background: #777;
	font-size: 12px;
	padding: 3px 7px;
}
.topics_archive_box .footer a{
	display: inline-block;
	color: #595757;
	color: #AAA;
	font-size: 90%;
}
.pagination{
	display: inline-block;
}

/* TOPICS SINGLE */
#topics_single{
	padding: 80px 0;
}
#topics_single .thumb{
	background-size: cover;
	background-position: center center;
	margin-left: auto;
	width: 99%;
	height: 0;
	padding-top: 55.6875%;
}
#topics_single .thumb .title{
	position: absolute;
	top: -1%;
	left: -1%;
	background: #44A035;
	background: #444;
	padding: 6px 18px;
}
#topics_single .thumb .title h2{
	color: #FFF;
	font-size: 22px;
	font-weight: bold;
}
#topics_single .info{
	padding: 8px 0 16px;
}
#topics_single .info .date{
	display: inline-block;
	font-weight: bold;
	color: #717071;
	color: #444;
}
#topics_single .info .cat{
	display: inline-block;
	margin: 0 1%;
	padding: 2px 6px;
	color: #FFF;
	background: #182757;
	background: #777;
}
#topics_single .content{
	width: 90%;
	margin-right: auto;
}
#topics_single .paginavigation{
	margin-top: 80px;
	text-align: center;
}
#topics_single .paginavigation a{
	color: #FFF;
	font-weight: bold;
	display: inline-block;
	position: relative;
	padding: 20px;
}
#topics_single .paginavigation a.prev-link{
	padding-right: 10px;
}
#topics_single .paginavigation a.next-link{
	padding-left: 10px;
}
#topics_single .paginavigation a.middle{
	border-radius: 10px;
	background: #44A035;
	background: #444;
}
#topics_single .paginavigation a.middle img{
	margin-left: 5px;
}
#topics_single .paginavigation a.prev-link:before{
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	right: 0;
	width: 0;
	height: 0;
	border-right: 150px solid #444;
	border-top: 32.5px solid transparent;
	border-bottom: 32.5px solid transparent;
}
#topics_single .paginavigation a.prev-link.nomore:before{
	border-right-color: #CDCDCE;
}
#topics_single .paginavigation a.next-link:before{
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border-left: 150px solid #444;
	border-top: 32.5px solid transparent;
	border-bottom: 32.5px solid transparent;
}
#topics_single .paginavigation a.next-link.nomore:before{
	border-left-color: #CDCDCE;
}

/* PRIVACY POLICY */
.privacy h3{
	font-size: 1.3em;
	margin-bottom: 40px;
}
.privacy_sec01{
	padding-bottom: 80px;
}
.privacy_sec01 ul li{
	line-height: 2;
}

/* ORDER DOWNLOAD */
#orderpdf_archive .order_articles{
	padding: 3em 0;
}
#orderpdf_archive .order_articles .wrap{
	max-width: 900px;
}
#orderpdf_archive .order_articles h3{
	font-size: 120%;
	margin-bottom: 60px;
}
#orderpdf_archive .order_articles .order_article{
	padding: 1em;
	margin-bottom: 2em;
}
#orderpdf_archive .order_articles .order_article span.underline{
	position: absolute;
	bottom: 0;
	left: 0;
	height: 2px;
	width: 100%;
}
#orderpdf_archive .order_articles .order_article dl{
	display: flex;
	width: 80%;
}
#orderpdf_archive .order_articles .order_article dl dt{
	padding: 14px;
	padding-left: 2em;
	width: 100%;
	padding-right: 1em;
	font-size: 110%;
	font-weight: bold;
	position: relative;
}
#orderpdf_archive .order_articles .order_article dl dt:before{
	content: '・';
	position: absolute;
	top: 15px;
	left: 12px;
}
#orderpdf_archive .order_articles .order_article dl dd{
	padding: 14px;
	width: 65%;
}
#orderpdf_archive .order_articles .order_article div.download_btn{
	width: 20%;
}
#orderpdf_archive .order_articles .order_article a{
	display: inline-block;
	padding: 15px;
	color: #FFF;
	font-weight: bold;
}
#orderpdf_archive .order_articles .order_article a i{
	margin-right: 8px;
}

/* 追記 2020.07.16 */
.page_header{
	height: 340px;
}
.page_header .page_header_inner .logo{
	display: none;
}
.company .page_header .page_header_inner .logo{
	display: block;
}
.service-child .page_header .page_header_inner h2{
	font-size: 25px;
}
.service-child .page_header .page_header_inner .text{
	margin-top: 0;
	font-size: 2rem;
	font-weight: bold;
}
div#drawer .banner img{
	width: 100%;
	mix-blend-mode: luminosity;
}
div#drawer .banner .banner_box_0{
	width: 49%;
}
div#drawer .banner .banner_box_1,
div#drawer .banner .banner_box_2{
	width: 24%;
	margin: 0;
}
div#drawer .banner .banner_box_1{
	margin: 0 1%;
}
div#drawer .banner.flex{
	justify-content: space-between;
	flex-wrap: nowrap;
}
#sec02.front_sec #front_newtopics{
	top: 0;
	transform: translateY(-100%);
}
#sec01.front_sec .front_slick_01 .slick-dots{
	bottom: 170px;
}
#authorization .auth_flex_left.w100_adjust{
	width: 100%;
	margin-right: 0;
}
#authorization .auth_flex_right.w100_adjust{
	width: 100%;
}
#authorization .menu_2 .menu .title p{
	font-size: 16px;
	padding-left: 0;
	max-width: 100%;
}
#authorization .menu_2 .menu .title p.wide{
	padding-top: 1.5em;
}
body.page-id-52{
	overflow-x: hidden;
}

.tb_logo {
	display: none;
}

/* IE対応 */
@media all and (-ms-high-contrast: none){
	#sec04.front_sec .front_topics{
		width: calc(100% - 74px);
	}
}

/* パンくずリスト */
footer#footer .bottom_menu{
	position: relative;
}
footer#footer .bottom_menu .breadcrumbs{
	position: static;
	top: 0;
	left: calc((100% - 1200px)/2);
	color: #fff;
}
footer#footer .bottom_menu .breadcrumbs span,
footer#footer .bottom_menu .breadcrumbs a{
	color: #fff;
	font-size: 14px;
}
@media screen and (max-width: 1280px){
	footer#footer .bottom_menu .breadcrumbs{
		left: 35px;
	}
}
@media screen and (max-width: 767px){
	footer#footer .bottom_menu .breadcrumbs{
		position: initial;
		padding-left: 15px;
		margin-bottom: 10px;
	}
}

/* 追記 2022.01.27 */
/* DL CONTENTS */
.topics_categories a.tbtn{
	cursor: pointer;
	display: inline-block;
    color: #182757;
    background: #FFF;
    font-size: 12px;
    font-weight: bold;
    padding: 3px 7px;
    margin: 3px;
    border: 1px solid #182757;
    transition: all .3s ease;
}
.topics_categories a.tbtn.current{
	color: #FFF;
    font-weight: bold;
    background: #182757;
    border: 1px solid #182757;
}
.dl_articles{
	display: flex;
	flex-wrap: wrap;
	padding: 2em 20px 6em;
}
.dl_articles article{
	width: 48%;
	margin: 1%;
	padding: 1em;
	background: #F7F7F7;
}
.dl_articles article .thumb{
	width: 45%;
}
.dl_articles article .content{
	width: 55%;
	padding-left: 2em;
}
.dl_articles article .content .category{
	margin-bottom: 12px;
}
.dl_articles article .content .category span{
	display: inline-block;
    color: #182757;
    background: #FFF;
    font-size: 12px;
    font-weight: bold;
    padding: 3px 7px;
    margin: 3px;
    border: 1px solid #182757;
}
.dl_articles article .content h3{
	font-size: 120%;
	font-weight: bold;
}

@media only screen and (max-width: 767px){
	.dl_articles article{
		width: 100%;
		margin: 0 0 1%;
	}
	.dl_articles article .content h3{
		font-size: 105%;
	}
	.dl_articles{
		padding: 1em 0 4em;
	}
}

header#sidebar .drawer a .enfont {
    color: #fff;
}

#sec02.front_sec #front_newtopics dl.ful-col {
    flex-wrap: wrap;
	flex-direction: column-reverse;
}

#sec02.front_sec #front_newtopics dl.ful-col dt {
    width: 100%;
    padding-top: 15px;
    margin-top: 10px;
	border-right: inherit;
	border-top: 1px solid #000;
}



#service-calibration #equipment .arrangement {
	display: grid;
	grid-template: auto / 1fr 1fr;
	gap: clamp(1em, 2vw, 2em);
	margin: 6em 0;
}

#service-calibration #equipment .arrangement .card {
	display: grid;
	grid-template: auto / 1fr;
	gap: 1em;
}

#service-calibration #equipment .arrangement .card > picture img {
	width: 100%;
}

#service-calibration #equipment .arrangement .card > header {
	text-align: center;
}

#service-calibration #equipment .arrangement .card dl > div {
	display: grid;
	grid-template: auto / min-content auto;
	align-items: center;
	border: 1px solid #3E3A39;
	width: 80%;
	margin: auto;
	font-size: clamp(0.8em, 1vw, 1em);
}

#service-calibration #equipment .arrangement .card dl > div dt {
	white-space: nowrap;
	background: #3E3A39;
	color: #ffffff;
	padding: 0.25em 1em;
}

#service-calibration #equipment .arrangement .card dl > div dt + dd {
	padding: 0.25em 1em;
}



#service-calibration #certificates .arrangement {
	display: grid;
	grid-template: auto / 40% auto;
	align-items: center;
	justify-content: center;
	gap: clamp(1.5em, 3vw, 3em);
	background: #ffffff;
	padding: clamp(1.5em, 2vw, 2em);
}

#service-calibration #certificates .arrangement figcaption {
	margin: 1.5em 0 0 0;
}

#service-calibration #certificates .arrangement > div ul {
	display: flex;
	flex-wrap: nowrap;
	gap: clamp(0.75em, 2vw, 2em);
	justify-content: space-between;
}



#service-calibration #form iframe {
	overflow: hidden;
}

#service-calibration #form iframe html {

	overflow: hidden;
}



#contact-for-inquiries h3 {
	font-size: 1.25em;
}

#contact-for-inquiries section:not(:last-child) {
	margin: 4em 0 0 0;
}

#contact-for-inquiries .cards {
	display: grid;
	grid-template: auto / repeat(3, 1fr);
	gap: 1.5em;
	margin: 1.5em 0 4em 0;

}

#contact-for-inquiries .cards .card {
	display: grid;
	grid-template: auto minmax(5em, auto) auto / 1fr;
	background: #F5F5F5;
	padding: 1.5rem;
	gap: 1.25em;
}

#contact-for-inquiries .cards .card > header {
	font-size: clamp(1em, 1.25vw, 1.25em);
	text-align: center;
	font-weight: bold;
}

#contact-for-inquiries .cards .card > p {
	align-self: center;
	font-size: 0.8em;
	line-height: 1.75em;
}


#contact-for-inquiries .cards .card > div > a {
	display: block;
	background: #000000;
	color: #ffffff;
	text-align: center;
	font-size: clamp(1em, 1.1vw, 1.1em);
	padding: clamp(0.25em, 0.5vw, 0.5em);
}