@charset "UTF-8";
/* CSS Document */

html {font-size:62.5%;}
body {
font-size:1.6rem;
font-family: 'Zen Kaku Gothic New', sans-serif;
letter-spacing: 0.1rem;
text-align: justify; /* 両端揃え */
text-justify: inter-ideograph;/* 両端揃えの種類win */
font-feature-settings: "palt" 1;/* カーニング */
line-break: strict;/* 禁則 */
}
@media (max-width: 992px) {
body {font-size:1.4rem;}
}
@media (min-width: 751px) {
a[href*="tel:"] {pointer-events: none;cursor: default;text-decoration: none;}
}

/*font-family: 'Zen Kaku Gothic New', sans-serif;
font-family: 'Zen Old Mincho', serif;*/

/*---nav---*/
.navbar-expand-lg{
padding: 0 0 0 1rem;
}
nav .navbar-brand img{
width: 300px;
}
.nav-item{
font-size: 1.4rem;
padding: 0;
border-bottom: 1px solid #4a8000;
margin: 2.5rem 1rem;
line-height: 1.6rem;
font-weight: 500;
}
.nav-item:hover{
opacity: 0.5;
}
.nav-item:nth-of-type(6){
margin-right: 3rem;
}
.nav-item a{
color: #000!important;
display: inline-block!important;
padding: 0 0 1rem!important;
}
.nav-link{
padding: 0!important;
}
.navbar-toggler{
border: none!important;
}
.navbar-toggler:focus {
outline: none;
}
.nav-info{
background: #4a8000;
margin: 0;
padding: 1rem;
text-align: center;
}
.nav-info .nav-link{
color: #fff!important;
font-family: 'Zen Old Mincho', serif;
padding: 1.3rem 2rem!important;
}
.nav-info span{
display: block;
font-family: 'Zen Kaku Gothic New', sans-serif;
font-weight: 300;
font-size: 1.1rem;
}
.palmenu{
display: inline-block;
padding: 1.2rem 1rem 0 ;
margin-left: -1.5rem;
}
.palmenu img{
width: 50px;
}
@media (max-width: 992px) {
body{padding-top:43px;}
header{position: fixed!important;top:0;left:0;z-index: 20;background: #fff;width: 100%;}
nav .navbar-brand{padding: 1rem 1rem 1rem 0;}
nav .navbar-brand img{width: 200px;}
.navbar-toggler{margin-right: 1rem;}
.navbar-toggler i{color:#000;}
.nav-item{font-size: 1.6rem;margin: 0.5rem 1.5rem 0.5rem 0.5rem;padding-bottom: 0.5rem;text-align: center;}
.nav-item:nth-of-type(5){margin-right: 1.5rem;}
.nav-item a{padding: 0 0 0.5rem!important;width: 100%!important;}
.nav-info .nav-link{padding: 0 0 0.5rem!important;}
.navbar-nav{padding-bottom: 1rem;}
.palmenu{
display: flex;
padding: 1rem;
margin-left: 0;
justify-content: center;
}
.palmenu img{
width: 70%;
}
}
@media (max-width: 992px) {
.pc-dn {display:block;}
.sp-dn {display:none;}
}
@media (min-width: 992px) {
.pc-dn {display:none;}
.sp-dn {display:block;}
}

/*---共通---*/
a:hover {
-webkit-transition: all 0.3s;
transition: all 0.3s;
opacity: 0.8;
text-decoration: none;
}
h2{
font-size: 3.8rem;
font-weight: 600;
letter-spacing: 0.5rem;
}
h2 span{
color: #4a8000;
}
h2:first-letter{
font-size: 7.5rem;
}
h2 p{
font-size: 2.5rem;
font-weight: 500;
letter-spacing: 0.3rem;
margin-top: 1.5rem;
}
.links{
max-width: 300px;
text-align: center;
margin-left: auto;
margin-right: auto;
}
.links a{
display: inline-block;
padding: 1rem 3rem;
font-size: 1.6rem;
letter-spacing: 0.2rem;
color: #fff;
width: 100%;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-transition: all 0.3s;
transition: all 0.3s;
text-align: center;
vertical-align: middle;
text-decoration: none;
background: #4a8000;
}
.links a:hover {
background: #ccd8c0;
opacity: 1;
}
@media (max-width: 767px) {
h2{font-size: 3rem;}
h2:first-letter{font-size:3.5rem;}
h2 p{font-size: 2rem;margin-top: 0.5rem;}
}
footer{
margin-top: 5rem;
}
footer .box{
padding: 2rem;
background: rgb(209,218,200);
background: linear-gradient(180deg, rgba(144,186,44,1) 0%, rgba(144,186,44,1) 38%, rgba(130,175,20,1) 38%, rgba(130,175,20,1) 41%, rgba(209,218,200,1) 41%)}
footer .row div{
margin: 1.5rem 0;
}
footer img{
width: 100%;
}
footer h5{
font-size: 2rem;
font-weight: 600;
margin-bottom: 2rem;
letter-spacing: 0.2rem;
}
footer .GoogleMap{
position: relative;
height: 0;
padding-top: 25%;
padding-right: 15rem!important;
}
footer .GoogleMap iframe{
position: absolute;
top: 0;
left: 0;
width: calc(100% - 15px);
height: 100%;
}
footer .inner2{
margin-top: 2rem;
}
footer .inner2 a{
color: #000;
}
footer .links{
max-width: 150px;
margin: 1rem 0 0;
}
footer .links a{
padding: 0.8rem 2rem;
font-size: 1.6rem;
letter-spacing: 0.2rem;
color: #fff;
}
footer .links a:hover{
color: #000;
}
footer .box2{
padding: 2rem;
background: #4a8000;
color: #fff;
}
footer .logo{
width: 250px;
}
footer hr{
border-color: #fff;
}
footer .box2 a{
color: #fff;
font-size: 1.4rem;
}
footer .box2 a:hover{
text-decoration: underline;
}
footer h6{
font-size: 1.6rem;
font-weight: 600;
}
footer h6 i.fa-solid{
display: none;
}
footer .box3{
padding: 1rem;
text-align: center;
font-size: 1.2rem;
}
@media (max-width: 767px) {
footer .box{padding: 5px;}
footer .inner div{padding: 5px;margin: 5px 0 0;}
footer .GoogleMap{padding-top: 35%;}
footer .GoogleMap iframe{width: calc(100% - 30px);margin: 0 0 0 15px;}
footer .box2{padding: 2rem 1.5px;}
footer h6 i.fa-solid{display: inline-block;margin-right: 0.5rem;}
}

/*---index---*/
.jumbotron{
padding: 0;
margin-bottom: 0;
}
.jumbotron .col-12{
padding: 0;
}
#index h1{
font-size: 1.6rem;
line-height: 1em;
}
.carousel-caption {
width: 100%;
  position: absolute;
	top: 58%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
  z-index: 10;
  color: #fff;
  text-align: center;
}
.carousel-caption h5{
font-size: 5rem;
font-family: 'Zen Old Mincho', serif;
letter-spacing: 0.5rem;
text-shadow: 2px 2px 10px #003338 ,
-2px 2px 10px #003338 ,
2px -2px 10px #003338 ,
-2px -2px 10px #003338;
}	
}
.carousel-caption p{
font-size: 2rem;
font-family: 'Zen Old Mincho', serif;
letter-spacing: 0.5rem;
margin-top: 2rem;
}
@media (max-width: 992px) {
.carousel-caption h5{font-size: 2rem;}
.carousel-caption p{font-size: 1.6rem;letter-spacing: 0rem;margin-top: 1rem;}
.carousel-indicators{margin-bottom: 0;}
}
/*i-about*/
#i-about{
position: relative;
background:url("/img/i-about_bk.jpg") center bottom / cover;
margin-top: 9rem;
padding-bottom: 15rem;
z-index: 0;
}
#i-about .container-fluid{
padding: 0;
width: 48%;
margin: 0;
}
#i-about .container-fluid img{
width: 100%;
}
#i-about .box-insert{
position: relative;
}
#i-about .box{
width: 55%;
background:rgba(255,255,255,0.8);
box-shadow: 10px 10px rgba(150, 150, 150,0.3);
border: 1px solid #8c8c8c;
padding: 5rem 7rem 4rem;
}
#i-about .box:nth-child(1){
margin-top: 3rem;
position: relative;
z-index: 2;
}
#i-about .box:nth-child(2){
position: absolute;
width: 49%;
top: -18rem;
right: 0;
z-index: 1;
}
#i-about h3{
  position: relative;
  padding:2rem 3rem;
  display: inline-block;
	font-size: 3rem;
	line-height: 5.8rem;
	font-weight: 600;
	width: 100%;
	text-align: center;
}
#i-about h3:before, #i-about h3:after { 
  content:'';
  width: 35px;
  height: 35px;
  position: absolute;
  display: inline-block;
}
#i-about h3:before {
  border-left: solid 1px #000;
  border-top: solid 1px #000;
  top:0;
  left: 0;
}
#i-about h3:after {
  border-right: solid 1px #000;
  border-bottom: solid 1px #000;
  bottom:0;
  right: 0;
}
#i-about ruby[data-ruby] {
  position:relative;
}
#i-about ruby[data-ruby]::before {
  content: attr(data-ruby);
  position:absolute;
  top: -2em;
	left: 0;
	right: 0;
	margin: auto;
	font-size: 0.5em;
	font-weight: 400;
}
#i-about rt {
	display: none;
}
#i-about p{
margin-top: 2rem;
line-height: 4rem;
}
#i-about .links-box{
width: 40%;
position: absolute;
bottom: 5rem;
right: 0;
z-index: 3;
}
@media (max-width: 991px) {
#i-about{padding-bottom: 20rem;}
#i-about .container-fluid{width: 100%;padding-right: 2rem;}
#i-about .box{width: 100%;padding: 5rem 7rem 4rem;}
#i-about .box:nth-child(2){
position: relative;
width: 100%;
top: 4rem;}
#i-about .links-box{
width: 100%;
position: absolute;
bottom: -12rem;
right: 0;
z-index: 3;}
}
@media (max-width: 767px) {
#i-about{margin-top: 3rem;}
#i-about .box{padding: 2rem 2rem 1rem;}
#i-about h3{padding:1rem 2rem;font-size: 2.5rem;line-height:4rem;}
#i-about ruby[data-ruby]::before {position:absolute;top: -1.6em;}
#i-about p{margin-top: 1.3rem;line-height: 3rem;}
}
/*i-works*/
#i-works{
position: relative;
margin-top: -10rem;
padding-bottom: 10rem;
}
#i-works h2{
text-align: right;
}
#i-works h2 p{
display: inline-block;
margin-left: 2rem;
}
#i-works .title-inner {
margin-left: calc(50% - 50vw);
}
#i-works .title-line {
height: 7px; 
background: url("/img/titleline_r_long.png") no-repeat top right 30rem;
margin-left: calc(50% - 50vw);
padding-left: calc(50vw - 50%);
width: 100vw;
margin-top: -4rem;
}
#i-works .main-box{
margin-top: 3rem;
}
#i-works img{
width: 100%;
}
#i-works .box{
position: relative;
margin-top: 2rem;
}
#i-works .h3_box{
width: calc(100% - 30px);
padding: 25px 0;
background-color: #000;
position: absolute;
bottom: 0;
right: 15px;
opacity: 0.6;
mix-blend-mode:multiply;
}
#i-works h3{
width: calc(100% - 30px);
height: 30px;
position: absolute;
bottom: 0;
right: 15px;
text-align: center;
color: #fff;
}
#i-works .links-box{
margin-top: 4rem;
}
@media (max-width: 767px) {
#i-works{margin-top: 0;}
#i-works .title-line {background-position: top right 24rem;background-size: 280%; margin-top: -3rem;}
}
/*i-inter*/
#i-inter{
padding-bottom: 10rem;
background: url(/img/i_inter_back.jpg) center /cover;
}
#i-inter h2 p{
display: inline-block;
margin-left: 2rem;
}
#i-inter .box a{
color: #000;
}
#i-inter .title-inner {
margin-right: calc(50% - 50vw);
padding: 0;
}
#i-inter .title-line {
height: 7px; 
background: url("/img/titleline_l_long.png") no-repeat top left 40rem;
margin-left: calc(50% - 50vw);
padding-left: calc(50vw - 50%);
margin-top: -4rem;
}
#i-inter .main-box{
margin-top: 3rem;
}
#i-inter img{
width: 100%;
}
#i-inter .box{
margin-top: 2rem;
}
#i-inter .box a{
display: block;
box-shadow: 10px 10px 0px 0 rgba(0, 0, 0, .1);
}
#i-inter .h3_box{
position: relative;
}
#i-inter h3{
position: absolute;
bottom: 1rem;
left: 2rem;
font-size: 1.9rem;
color: #000;
font-weight: 700;
line-height: 3.6rem;
}
#i-inter h3 span{
background: #fff;
}
#i-inter .name-box{
background: #f8f9f6;
padding: 1.5rem 2.5rem 1rem;
}
#i-inter .name-box p:nth-of-type(2){
color: #4a8000;
font-size: 2.1rem;
font-weight: 600;
margin-bottom: 0;
}
#i-inter .name-box p:nth-of-type(3){
font-size: 1.7rem;
font-weight: 300;
}
#i-inter .links-box{
margin-top: 4rem;
}
@media (max-width: 767px) {
#i-inter{margin-top: 0;}
#i-inter .title-line {background-position: top left 32rem;background-size: 280%; margin-top: -3rem;}
#i-inter h3{position: absolute;bottom: 1rem;left: 1.5rem;}
#i-inter .name-box p:nth-of-type(1){margin-bottom: 0;}
#i-inter .name-box p:nth-of-type(2){margin-bottom: 0;}
}
/*i-iceh*/
#i-iceh{
padding-bottom: 10rem;
background-image: url(/img/i_iceh_back.jpg);
background-repeat: no-repeat;
background-position: center top;
background-size: 100%;
}
#i-iceh h2{
text-align: right;
}
#i-iceh h2 p{
display: inline-block;
margin-left: 2rem;
}
#i-iceh .title-inner {
margin-left: calc(50% - 50vw);
}
#i-iceh .title-line {
height: 7px; 
background: url("/img/titleline_r_long.png") no-repeat top right 55rem;
margin-left: calc(50% - 50vw);
padding-left: calc(50vw - 50%);
width: 100vw;
margin-top: -4rem;
}
#i-iceh img{
width: 100%;
}
#i-iceh h3{
margin-top: 10rem;
font-size: 3.8rem;
font-weight: 600;
letter-spacing: 0.5rem;
text-align: center;
}
#i-iceh h3 span{
color: #4a8000;
}
#i-iceh .box{
margin-top: -3rem;
}
#i-iceh .box a{
color: #000;
}
#i-iceh h4{
font-size: 2.1rem;
margin-bottom: 1rem;
}
#i-iceh .cara{
text-align: center;
display: block;
width: 100%;
}
#i-iceh .cara img{
max-width: 200px;
}
#i-iceh .cara p{
margin: 0;
font-weight: 500;
}
#i-iceh .links-box{
margin-top: 8rem;
}
@media (max-width: 991px) {
#i-iceh h3{margin-top: 5rem;}
#i-iceh .box{margin-top: 3rem;}
}
@media (max-width: 767px) {
#i-iceh{padding-bottom: 5rem;margin-top: 0;background-size: 150%;}
#i-iceh .title-line {background-position: top right 46rem;background-size: 280%; margin-top: -3rem;}
#i-iceh .box{margin-top: 3rem;}
#i-iceh .box div{margin-top: 2rem;}
#i-iceh .links-box{margin-top: 5rem;}
}
@media (max-width: 575px) {
#i-iceh h2 {line-height: 2.8rem;}
#i-iceh .title-line {background-position: top right 25rem;background-size: 280%; }
}

/*---about---*/
#about .jumbotron{
position: relative;
}
#about .jumbotron img{
width: 100%;
}
#about h1{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
font-size: 3.5rem;
letter-spacing: 0.5rem;
color: #fff;
}
#a-about{
padding-bottom: 10rem;
background: url(/img/a_about_back.jpg) center /cover;
}
#a-about h2{
position: relative;
}
#a-about h2 p{
display: block;
position: absolute;
top:2rem;
right:0;
}
#a-about .title-inner {
padding: 0;
}
#a-about .title-line {
height: 7px; 
background: url("/img/titleline_r_long.png") no-repeat top right;
margin-left: calc(50% - 50vw);
padding-left: calc(50vw - 50%);
margin-top: -2rem;
margin-left: 20rem;
}





@media (max-width: 767px) {
#a-about {margin-top: 0;}
#a-about  .title-line {background-position: top left 32rem;background-size: 280%; margin-top: -3rem;}
}







/*---インタビュー---*/
#int-interview{
padding-bottom: 10rem;
}

#interview .jumbotron{
position: relative;
}
#interview .jumbotron img{
width: 100%;
}


#interview h1{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
font-size: 3.5rem;
letter-spacing: 0.5rem;
color: #fff;
}
@media (max-width: 767px) {
#interview h1{width: 100%!important;padding: 0 1.5rem;font-size: 2.5rem;letter-spacing: 0.5rem;}
}


#int-interview{
padding-bottom: 10rem;
}
#int-interview h2{
position: relative;
margin-top: 6rem;		
}
#int-interview h2 p{
display: block;
position: absolute;
top:2rem;
right:0;
}

#int-interview .title-inner {
padding: 0;
}
#int-interview .title-line {
height: 7px; 
background: url("/img/titleline_r_long.png") no-repeat top right;
margin-left: calc(50% - 50vw);
padding-left: calc(50vw - 50%);
margin-top: -2rem;
margin-left: 23rem;
}

#int-interview .title-inner2 {
margin-right: calc(50% - 50vw);
padding: 0;
margin-top: 50rem;
margin-bottom: 10rem;	
}
#int-interview .title-line2 {
height: 7px; 
background: url("/img/titleline_l_long.png") no-repeat top left 40rem;
margin-left: calc(50% - 50vw);
padding-left: calc(50vw - 50%);
margin-top: -4rem;
}

#int-interview .title-inner3 {
margin-left: calc(50% - 50vw);
padding: 0;	
margin-top: 20rem;
margin-bottom: 10rem;		
}
#int-interview .title-line3 {
height: 7px; 
background: url("/img/titleline_r_long.png") no-repeat top right 40rem;
margin-left: calc(50% - 50vw);
padding-left: calc(50vw - 50%);
width: 100vw;
margin-top: -4rem;
}

#int-interview .int_inner1{
position: relative;
margin-top: 5rem;
}

#int-interview .h3_box{
width: calc(100% - 30px);
position: relative;
z-index: 30;	
}
#int-interview .h3_box img{
box-shadow: 10px 10px rgba(0,0,0,0.3);
width: 100%;	
}
#int-interview h3{
position: absolute;
bottom: 1rem;
left: 3rem;
color: #000;
line-height: 3.6rem;
font-weight: 700;	
}


#int-interview h3 span{
background: #fff;
}

#int-interview .int_inner2{
position: absolute;
top:5rem;
right: 3rem;
background-color: #EFF7EE;
padding-left: 8rem;
padding-right: 8rem;
padding-bottom: 8rem;
background-image:url("/img/int_boxp_1.png"), url("/img/int_boxp_2.png");
background-repeat:no-repeat,no-repeat;
background-position:top 3rem right 3rem,left 3rem bottom 3rem;
background-size: 6rem;	
z-index: 20;	
}

#int-interview .int_inner2 p{
margin-top: 5rem;
letter-spacing: 0.2rem;
font-size: 1.4rem;	
}

#int-interview .name{
font-size: 2.5rem;
font-family: 'M PLUS Rounded 1c', sans-serif;
font-family: 'Shippori Mincho', serif;	
}

#int-interview .que{
font-size: 1.8rem;
font-weight: bold;
color:#4A8000;
letter-spacing: 0.3rem;
padding-top: 15px;	
}
#int-interview .ans{
font-weight: bold;
font-size: 1.8rem;
}

#oozeki{
margin-bottom: 45rem;
}



@media (max-width: 1000px) {
#int-interview .int_inner2{
position: static;
}
#oozeki{
margin-bottom: 8rem;
}
#int-interview .title-inner2 {
margin-top: 9rem;
margin-bottom: 4rem;}
#int-interview .title-inner3 {
margin-top: 9rem;
margin-bottom: 4rem;}		
	
}

@media (max-width: 767px) {
#int-interview {margin-top: 0;}
#int-interview h2 {margin-top: 3rem;line-height: 1.5rem;}
#int-interview h2 p{position: relative;margin: 0;padding: 0;}		
#int-interview .title-line {margin: 4rem 3rem 0 0;}
#int-interview  .title-line2 {background-position: top left 32rem;background-size: 280%; margin-top: -3rem;}
#int-interview  .title-line3 {background-position: top right 32rem;background-size: 280%; margin-top: -3rem;}	
#int-interview .int_inner2{padding-left: 3rem; padding-right: 3rem; background-position:top 1.5rem right 1rem,left 1rem bottom 1.5rem; }
#int-interview  .int_inner2 p{margin-top: 3rem; letter-spacing: 0.1rem; font-size: 1.2rem;}	
#int-interview .que{
font-size: 1.4rem;
letter-spacing: 0.1rem;
padding-top: 8px;	
}	
#oozeki{
margin-bottom: -5rem;
}
#interview h1{width: 100%!important;padding: 0 1.5rem;font-size: 2.5rem;letter-spacing: 0.5rem;}	
}





/*---お問い合わせ---*/

#c-contact{
padding-bottom: 10rem;
}

#contact .jumbotron{
position: relative;
}
#contact .jumbotron img{
width: 100%;
}
#contact h1{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
font-size: 3.5rem;
letter-spacing: 0.5rem;
color: #fff;
}
#c-contact{
padding-top: 8rem;
padding-bottom: 10rem;
}
#c-contact h2{
position: relative;
}
#c-contact h2 p{
display: block;
position: absolute;
top:2rem;
right:0;
}

#c-contact .title-inner {
padding: 0;
}
#c-contact .title-line {
height: 7px; 
background: url("/img/titleline_r_long.png") no-repeat top right;
margin-left: calc(50% - 50vw);
padding-left: calc(50vw - 50%);
margin-top: -2rem;
margin-left: 23rem;
}
#c-contact .box-insert{
margin-top: 3rem;
max-width: 840px;
margin-left: auto;
margin-right: auto;
}

@media (max-width: 767px) {
#c-contact {margin-top: 0;padding-top: 3rem; padding-bottom: 0rem;}
#contact h1{width: 100%!important;padding: 0 1.5rem;font-size: 2.5rem;letter-spacing: 0.5rem;}
#contact h2 {margin-top: 3rem;line-height: 1.5rem;}
#contact h2 p{position: relative;margin: 0;padding: 0;}	
#c-contact .title-line {margin: 4rem 3rem 0 0;}	
#c-contact .box-insert{margin-top: 1rem;}
}










