/* font-family:'Noto Sans JP',sans-serif; 4 5 7 */
/* font-family:'Noto Serif JP',serif; 3 4 5 6 7 9 */
/* font-family: "Oswald", sans-serif; */
/* --------------------------- */
@charset "UTF-8";

.btn1{display:inline-block;font-weight: 500; font-size:1.35rem;text-transform:uppercase;color: #147e5c!important;padding:8px 40px 10px;position:relative;margin-top:10px;letter-spacing:0px;border-radius: 0; -webkit-appearance: none;appearance: none;}
.btn1::after{content:"";width: 20px; height:8px; position:absolute;top:18px;right:5px;border: solid #147e5c;border-width: 0 3px 2px 0;transform-origin:left bottom;transform: skewX(45deg
);}
.btn1:hover::after{right:0px;-webkit-transition: all .5s;-o-transition: all .5s;transition: all .5s;}

.btn2{display:inline-block;font-weight: 500; font-size:1.5rem;text-transform:uppercase;color: #fff!important;padding:12px 42px 14px;position:relative;margin-top:20px;border-radius: 0; border:none; background:#147e5c; -webkit-appearance: none;appearance: none;}

@media (max-width:449px){
	.btn1{font-size:1.25rem;}
	.btn1::after{width: 18px; height:7px; top:18px;border-width: 0 3px 2px 0;}
}

*,*::after,*::before{box-sizing: border-box;}

/*-------------------Comment1-----------------------*/
.line1{width:99%;height:1px;border:none; border-top: 1px dotted #ccc; margin-top:10px;margin-bottom:10px;}
.line2{width:98%;height:1px;border:none; border-top: 1px solid #e0d3be;margin-top:20px; margin-bottom:20px;}
.imgHover:hover{opacity:0.8; filter:alpha(opacity=80); -ms-filter: "alpha( opacity=80 )"; }

.alignLeft{text-align:left!important;}
.alignCenter{text-align:center!important;}
.alignRight{text-align:right!important;}

.inlineBlock{display:inline-block!important;}

.setPaddingT50{padding-top:50px!important;}
.setPaddingT20{padding-top:20px!important;}
.setPaddingT10{padding-top:10px!important;}

.setPaddingL20{padding-left:20px!important;}

.setPaddingB50{padding-bottom:50px!important;}
.setPaddingB20{padding-bottom:20px!important;}
.setPaddingB10{padding-bottom:10px!important;}

.setMarginB50{margin-bottom:50px!important;}
.setMarginB20{margin-bottom:20px!important;}
.setMarginB10{margin-bottom:10px!important;}

.setMarginT50{margin-top:50px!important;}
.setMarginT20{margin-top:20px!important;}
.setMarginT10{margin-top:10px!important;}

.annotation1{color:#ff0000;font-size:1.25rem;}
.stress0{font-weight:500;color:#a72126;}
.stress1{font-weight:500;font-size:0.875rem;color:#a72126;}
.stress2{font-weight:500;}
.stress3{font-weight:500;color:#E38E49;font-size:1rem;}

.pBeforeArrow1{position:relative;text-indent:1em;}
.pBeforeArrow1::before{content:"";display: inline-block; width:5px; height:5px; border: solid #333;border-width: 0 1px 1px 0;transform:rotate(-45deg);position:absolute;top:9px;left:2px;}


html{
  min-width: 320px;
  font-size: 48.6111112%;  /* (14 / 18 * 62.5%) */
  overflow: auto;
}
@media screen and (min-width: 768px){
  html{
    font-size: 62.5%;
  }
}
body{
  padding: 0 30px;
  font-family: 'Noto Sans JP', YuGothic, 'Yu Gothic', Meiryo, sans-serif;
  font-size: 1.8rem;
  color: rgb(35, 24, 21);
  background: rgb(255, 255, 255);
  overflow: hidden;
}
_:-ms-lang(x)::-ms-backdrop, body{
  font-family: 'Noto Sans JP', Meiryo, sans-serif;
}
section p{
  text-align: justify;
  text-justify: inter-ideograph;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
}
nav ul{
  padding: 0;
  margin: 0;
  list-style: none;
}
img, video, object, canvas{
  max-width: 100%;
  height: auto;
}
img{
  vertical-align: middle;
}
a{
  text-decoration: none;  
  color: inherit;
}
@media screen and (min-width: 768px){
  a[href^='tel:']{
    pointer-events: none;
  }
}
br.pc{
  display: none;
}
@media screen and (max-width: 767px){
  br.pc{
    display: inline;
  }
}
.clearfix::after{
  content: '';
  display: block;
  clear: both;
}

/* basic elements */
#wrapper{
  padding-top: calc(6.0rem * 18 / 14);  /* 60px */
  margin: 0 auto;
  max-width: 1200px;
}
@media screen and (min-width: 768px){
  #wrapper{
    padding-top: 12.5rem;
  }
}

/*  header  */
#wrapper>header{
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 10;
  width: 100vw;
  height: calc(6.0rem * 18 / 14);  /* 60px */
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  display: -webkit-box;
  display: flex;
  background-color: rgb(255, 255, 255);
}
@media screen and (min-width: 768px){
  #wrapper>header{
    margin: 0 auto;
    max-width: 1920px;
    min-height: 12.5rem;
    box-sizing: border-box;
  }
}
#wrapper>header h1{
  margin: 0;
  flex-basis: calc(1 / 5 * 100%);
  background: rgb(255, 255, 255);
}
@media screen and (min-width: 768px){
  #wrapper>header h1{
    flex-basis: calc(2 / 7 * 100%);
  }
}
#wrapper>header h1 a{
  padding: 0.5rem 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  height: 100%;
  box-sizing: border-box;
  transition: .2s opacity ease-out;
}
@media screen and (min-width: 768px){
  #wrapper>header h1 a{
    padding: 0;
    margin-left: 50%;
  }
}
#wrapper>header h1 a:hover{
  opacity: 0.75;
}
#wrapper>header h1 a img{
  max-height: 100%;
}
#wrapper>header nav{
  flex-basis: calc(4 / 5 * 100%);
}
@media screen and (min-width: 768px){
  #wrapper>header nav{
    padding-right: calc(1 / 7 * 100%);
    flex-basis: auto;
    -webkit-box-flex: 1;
    flex-grow: 1;
  }
}

/*  header globalnav  */
#globalnav ul:not(.submenu){
  display: -webkit-box;
  display: flex;
  height: 100%;
  background-color: rgb(255, 255, 255);
}
@media screen and (min-width: 768px){
  #globalnav ul:not(.submenu){
    -webkit-box-pack: end;
    justify-content: flex-end;
  }
}
#globalnav ul:not(.submenu)>li{
  position: relative;
  flex-basis: 25%;
}
@media screen and (min-width: 768px){
  #globalnav ul:not(.submenu)>li:not(.contact){
    flex-basis: auto;
    width: calc(188 / 1097 * 100%);
    min-width: 10.0rem;
  }
}
#globalnav a{
  font-family: 'Noto Serif JP', serif;
  font-size: 1.82rem;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  white-space: nowrap;
  transition: .2s color ease-out, .2s background-color ease-out;
}
@media screen and (max-width: 767px){
  #globalnav ul:not(.submenu)>li>a{
    text-indent: 0;
  }
  #globalnav li.concept a{
    letter-spacing: 0;
    text-indent: 0;
  }
  #globalnav>ul>li>a{
    text-align-last: justify;
  }
}
#globalnav ul:not(.submenu)>li>a{
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  height: 100%;
}
#globalnav li.contact a{
  color: rgb(255, 255, 255);
  background-color: rgb(20, 126, 92);
}
@media screen and (min-width: 768px){
  #globalnav li.contact a{
    font-size: 2.2rem;
    line-height: 1;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
  }
}
#globalnav li.concept.current a{
  background-color: rgb(254, 244, 217);
}
#globalnav li.service.current a{
  background-color: rgb(236, 244, 217);
}
#globalnav li.company.current a{
  background-color: rgb(241, 233, 243);
}
@media screen and (min-width: 768px){
  #globalnav li.contact:hover a{
    color: rgba(255, 255, 255, 0.9);
  }
  #globalnav li.concept:hover a,
  #globalnav li.concept.current a{
    background-color: rgb(254, 244, 217);
  }
  #globalnav li.service:hover a,
  #globalnav li.service.current a{
    background-color: rgb(236, 244, 217);
  }
  #globalnav li.company:hover a,
  #globalnav li.company.current a{
    background-color: rgb(241, 233, 243);
  }
}
/* --------------------------------------------------------------------------- */
.contentStyle1{width:1000px;margin:0 auto 50px;font-size:0.775rem;}
.contentStyle2{width:100%;background:#fefbf6;padding:50px 9%;min-height: 500px;}
.contentStyle3{width:100%;margin:0 auto;padding:50px 0;background:linear-gradient(to bottom, #faf4eb 55%,#fff 55%,#fff 100%);}
.contentStyle4{width:100%; margin-bottom:0;background:#fefcf8;}
.contentStyle5{width:100%; margin-bottom:30px;}

.contentC1{width:100%;margin: 0 auto 20px;}
.contentC1 p{margin-bottom: 10px;}

@media (max-width:1023px){
	.contentStyle1{width:93%;}
	.contentStyle2{width:100%;padding:80px 6%;}
}
@media (max-width:767px){
	.contentStyle1{width:88%;}
	.contentStyle2{padding:80px 6%;}
}
@media (max-width:519px){
	.contentStyle2{padding:70px 8%;}
}
@media (max-width:449px){
	.contentStyle2{padding:50px 5%;}
}
/* -------------------------------------------------- */
#topicIndex{width:100%; margin: 20px auto 50px; min-height: 160px;}

.topicItem{width:100%;margin:0 auto;border-bottom:0.25px solid #e0d3be;}
.topicItem:hover{background:#fff;}
.firstRow{display: inline-block;}
.dateSpan{display:inline-block;color:#000;font-size:0.875rem;font-weight:500; padding:15px 15px 15px 0;}
.categorySpan{display:inline-block;width:60px; text-align:center; padding:1px 4px;border-radius:7px;background: #a72126;color:#fff;font-size:0.675rem;font-weight: 500;margin-right:15px;}
#categorySpan2{background: #156801;}
#categorySpan3{background: #754902;}
#categorySpan4{background: #01229a;}
.titleSpan{display:inline-block;color:#333;font-size:0.875rem;padding:15px 0 15px 0;}
.titleSpan a{display: block;width:100%;height:100%;}
/* ------Topic Page----- */
.topicTitle{font-size:1rem;margin-bottom:10px;text-align:center;font-weight:500;}
.topicDate{text-align:center;font-size:0.75rem;color:#999;margin-bottom:30px;}
.topicContent{font-size:0.825rem;}
.topicContent p{margin-bottom: 15px;}

@media (max-width: 767px){
	#topicIndex{ width:100%; min-height: 200px;}
	.dateSpan{padding:10px 10px 4px 0;font-weight: 600;}
	.titleSpan{display:block; padding:4px 0 10px 0;}
}
/* ------------------------------------------------------ */
#table1{
	width:100%;
	margin:0 auto 60px;	
}
#table1 td{
	font-size:0.825rem;
	border-top:1.5px solid #ccc;
	padding:25px 18px;
}
#table1 .titleTd{
	width:120px;
	font-weight:500;	
	border-top:1.5px solid #3a2c09;
	padding:20px 8px;
}
@media (max-width: 399px){
	#table1 .titleTd{
		width:100px;
		padding:18px 3px;
	}
}
/* --------------------------------------------------------------------------- */
/* --------------footer------------ */
/*  footer  */
#wrapper>footer{
  padding: 2.5rem calc(50vw - 50%);
  margin: 0 calc(50% - 50vw);
  background-color: rgb(20, 126, 92);
}
@media screen and (min-width: 768px){
  #wrapper>footer{
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
}

/*  footer sitemap  */
#wrapper>footer .sitemap{
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  color: #fff;
}
#wrapper>footer .sitemap .name{
  padding: 1.6rem 0;
  margin: 0;
  font-family: 'Noto Serif JP', serif;
  font-size: 2.0rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: rgb(255, 255, 255);
}
#wrapper>footer .sitemap .name span{
  font-size: 1.5em;
}
#wrapper>footer .sitemap a{
  transition: .2s opacity ease-out;
}
#wrapper>footer .sitemap a:hover{
  opacity: 0.75;
}
#wrapper>footer .sitemap ul{
  padding: 1.4rem 0 0 0;
  margin: 0;
  list-style: none;
  -webkit-box-ordinal-group: 0;
  order: -1;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
}
#wrapper>footer .sitemap li{
  margin-bottom: 1.4rem;
}
#wrapper>footer .sitemap li:not(:first-of-type){
  border-left: solid 1px rgb(255, 255, 255);
}
#wrapper>footer .sitemap li a{
  display: block;
  font-family: 'Noto Serif JP', serif;
  font-size: 1.4rem;
  line-height: 1.25;
  letter-spacing: 0.05em;
  color: rgb(255, 255, 255);
  white-space: nowrap;
}
#wrapper>footer .sitemap li:not(:first-of-type):not(:last-of-type) a{
  padding: 0 2.0rem;
}
#wrapper>footer .sitemap li:first-of-type a{
  padding: 0 2.0rem 0 0;
}
#wrapper>footer .sitemap li:last-of-type a{
  padding: 0 0 0 2.0rem;
}
#wrapper>footer .siteinfo .extlink a{
	margin: 5px auto;
	display: block;
	max-width: 235px;
}
.copyright{font-size: 1.125rem;color:#fff;letter-spacing: 2px;}
/*-------------------------*/
#goToTopBtn{
	position:fixed;
	bottom: 14px;
	right: 15px;
	display: none; 
	cursor: pointer;
	z-index: 101;
}
#goToTopBtn img{
	width:48px;
  opacity: 0.8;
}
/*-------------------------*/
.module1{
	background: #a72126; 
	padding: 1px 5px 3px; 
	font-size: 1rem; 
	color: #fff; 
	vertical-align:top;
	border-radius:7px;
	line-height: 3;
}
.form-group{
	width:99%;
	margin:0 auto 1em;
}
.form-group label{
	display:block;
}
.form-group input[type=text], .form-group input[type=email], .form-group select,.form-group textarea{
	width:calc(100% - 12px);
	height:2.25em;
	outline-style:none;
	-webkit-appearance: none;
	appearance: none;
	border:1px solid #666;
	padding:2px 5px;
	border-radius:0;
}
.form-group select{
	-webkit-appearance: none;
	appearance:none;
	width:99.5%;
	height:2.75em;
	padding:2px 5px;
	background:#fafafa;
	border-radius:0;
}
input[type="checkbox"]{
	width:16px;
	height:16px;
	vertical-align:middle;
	border-radius:0;
}
.form-group textarea{
	height:10em;
	border-radius:0;
}

/* -----------------------横屏设备（根据vh设定高度的要调整）------------------------ */
@media screen and (orientation:landscape) and (max-width: 899px){

}

/* -------------------index.php------------------- */
/* globalnav */
#globalnav li.concept a{
  background-color: rgb(254, 244, 217);
}
#globalnav li.service a{
  background-color: rgb(236, 244, 217);
}
#globalnav li.company a{
  background-color: rgb(241, 233, 243);
}
@media screen and (min-width: 768px){
  #globalnav li.concept a,
  #globalnav li.service a,
  #globalnav li.company a{
    background-color: rgb(255, 255, 255);
  }
}

/*  hero  */
#hero{
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: 1920px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
#hero .top{
  display: none;
}
#hero .bottom{
  height: calc(259 / 375 * 100vw);
}
#hero .left{
  display: none;
}
#hero .right{
  position: relative;
  height: 100%;
}
@media screen and (min-width: 768px){
  #hero .top{
    display: block;
    height: calc(236 / 1920 * 100vw);
    max-height: 236px;
    background: url(../images/bg_hero_top.jpg) no-repeat 0 0/cover;
  }
  #hero .bottom{
    display: -webkit-box;
    display: flex;
    height: calc(708 / 1920 * 100vw);
    max-height: 708px;
  }
  #hero .left{
    display: block;
    width: calc(2 / 7 * 100vw);
    max-width: calc(2 / 7 * 1920px);
    height: 100%;
    background: url(../images/bg_hero_left.jpg) no-repeat 0 100%/100% auto;
  }
  #hero .right{
    width: calc(5 / 7 * 100vw);
    max-width: calc(5 / 7 * 1920px);
  }
}

/*  hero text  */
#hero .text{
  padding: calc(44 / 31 * 1em) calc(56 / 31 * 1em);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  font-size: 1.54285715rem;  /* (18 / 14 * 1.2rem) */
  font-size: clamp(10px, 12 / 375 * 100vw, 3.1rem);
  
  font-weight: 600;
  background: url(../images/bg_hero_right.svg) no-repeat;
  background-position: left top;
  background-size: calc(4 / 5 * 100%) auto;
}
@media screen and (min-width: 768px){
  #hero .text{
    font-size: 3.1rem;
    font-size: clamp(12px, 31 / 1920 * 100vw, 3.1rem);
    background-position: 0 0;
    background-size: auto 100%;
  }
}
#hero .text .tagline p{
  margin: 0;
  font-family: 'Noto Serif JP', serif;
  font-size: inherit;
  line-height: 2.45;
  letter-spacing: calc(2.33 / 31 * 1em);
}
#hero .text .logo{
  padding: calc(42 / 31 * 1em) 0;
}
#hero .text .logo .image{
  width: calc(160 / 31 * 1em);
}
#hero .text .logo p{
  padding: calc(18 / 19.4 * 1em) calc(15 / 19.4 * 1em);
  margin: 0;
  font-family: 'Noto Serif JP', serif;
  font-size: 62.580645%;  /* (19.4 / 31 * 100%) */
  letter-spacing: 0.1em;
}

/*  hero slide1  */
#slide1{
  height: 100%;
  position: relative;
  z-index: -10;
}
#slide1 ul{
  padding: 0;
  margin: 0;
  list-style: none;
  height: 100%;
}
#slide1 li{
  height: 100%;
  background-color: rgb(211, 237, 251);
  box-sizing: border-box;
}
#slide1 li[data-swiper-slide-index='1']{
  padding-left: 16%;
}
@media screen and (min-width: 768px){
  #slide1 li[data-swiper-slide-index='1']{
    padding-left: 0;
  }
}
#slide1 li[data-swiper-slide-index='2']{
  background-color: rgb(175, 217, 189);
}
#slide1 img{
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: right center;
  object-position: right center;
  -webkit-mask-image: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 8%, rgb(255, 255, 255) 33%, rgb(255, 255, 255) 100%);
  mask-image: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 8%, rgb(255, 255, 255) 33%, rgb(255, 255, 255) 100%);
}
#slide1 li[data-swiper-slide-index='0'] img{
  -o-object-position: center;
  object-position: center;
}
@media screen and (min-width: 768px){
  #slide1 img{
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: right center;
    object-position: right center;
  }
  #slide1 li[data-swiper-slide-index='0'] img{
    -o-object-position: right center;
    object-position: right center;
  }
}

/*  hero slide2  */
#slide2{
  margin: 0 calc(3 / 7 * 100%) 0 calc(2 / 7 * 100%);
  height: 100%;
}
#slide2 ul{
  padding: 0;
  margin: 0;
  list-style: none;
  height: 100%;
}
#slide2 img{
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/*  hero slide3  */
#slide3{
  height: calc(472 / 708 * 100%);
}
#slide3 ul{
  padding: 0;
  margin: 0;
  list-style: none;
  height: 100%;
}
#slide3 img{
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/*  main>article  */
main>article{
  padding: 11.6rem 0;
  position: relative;
}
main>article::before{
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(50% - 50vw);
  right: calc(50% - 50vw);
  z-index: -10;
  margin: 0 auto;
  max-width: 1920px;
}
main>article h2{
  margin: 0;
  font-weight: normal;
  text-align: center;
}
main>article h2 .en{
  position: relative;
  font-family: 'Libre Caslon Display', 'Times New Roman', serif;
  font-size: 4.5rem;
  line-height: 2;
  letter-spacing: calc(7.5 / 50 * 1em);
  
  text-transform: uppercase;
}
main>article h2 .en span::before,
main>article h2 .en span::after,
main>article h2 .en::after{
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: .8rem;
  height: .8rem;
  border-radius: 50%;
  background-color: rgb(35, 24, 21);
}
main>article h2 .en span::before{
  -webkit-transform: translateX(-2.28rem);
  transform: translateX(-2.28rem);
}
main>article h2 .en span::after{
  -webkit-transform: translateX(2.28rem);
  transform: translateX(2.28rem);
}
main>article h2 .ja{
  font-family: 'Noto Serif JP', serif;
  font-size: 1.6rem;
  line-height: 4;
  letter-spacing: 0.1em;
}
main>article .desc{
  padding: 2.0rem 0;
  font-weight: 600;
  color:#02630d;
}
main>article .desc p{
  margin: 0;
  font-family: 'Noto Serif JP', serif;
  font-size: 1.85rem;
  line-height: 1.8;
  letter-spacing: calc(1.2 / 18 * 1em);
  text-align: center;
}

/*  concept  */
#concept::before{
  background-repeat: no-repeat;
  background-position: left top, right bottom;
  background-image: url(../images/bg_sec_concept_lt.svg);
  background-size: auto calc(472 / 1920 * 100vw);
}
@media screen and (min-width: 1920px){
  #concept::before{
    background-size: auto 472px;
  }
}
#concept .container1{
  padding: 4rem 0;
}
@media screen and (min-width: 768px){
  #concept .container1{
    display: -webkit-box;
    display: flex;
  }
  #concept .container1 section{
    padding-right: calc(86 / 1200 * 100%);
    flex-basis: 53.0rem;
    box-sizing: border-box;
    flex-shrink: 0;
  }
  #concept .container1 .photo{
    flex-basis: 637.0rem;
  }
  #concept .container1 .image{
    height: 100%;
    margin-right: calc(180 / 670 * -100%);
  }
  #concept .container1 .image img{
    width: 100%;
    height: 100%;
    max-height: 43.0rem;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: right;
    object-position: right;
  }
}

#concept .container2{
  padding: 4rem 0;
}
@media screen and (min-width: 768px){
  #concept .container2{
    display: -webkit-box;
    display: flex;
  }
  #concept .container2 section{
    padding-left: calc(86 / 1200 * 100%);
    flex-basis: 53.0rem;
    box-sizing: border-box;
    flex-shrink: 0;
    order:2;
  }
  #concept .container2 .photo{
    flex-basis: 67.0rem;
    order:1;
  }
  #concept .container2 .image{
    height: 100%;
    margin-left: calc(180 / 670 * -100%);
  }
  #concept .container2 .image img{
    width: 100%;
    height: 100%;
    max-height: 43.0rem;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: left;
    object-position: left;
  }
}

#concept h3{
  margin: 0;
  font-size: 2rem;
  font-weight: normal;
  letter-spacing: calc(1.6 / 23 * 1em);
  white-space: nowrap;
  text-align: center;
  color:#8d2501;
}
#concept section .sect-desc{
  padding-top: 4.5rem;
  padding-bottom: 4.5rem;
}
@media screen and (min-width: 768px){
  #concept section .sect-desc{
    padding-bottom: 0;
  }
  #concept h3{
    text-align: left;
  }
}
#concept section .sect-desc p{
  margin: 0;
  font-family: 'Noto Serif JP', serif;
  font-size: 1.6rem;
  line-height: 1.85;
  letter-spacing: calc(1.2 / 16 * 1em);
  margin-bottom: 10px;
}
#concept .tagline{
  padding: 1.6rem 0;
}
#concept .tagline p{
  margin: 0;
  font-family: 'Libre Caslon Display', 'Times New Roman', serif;
  font-size: 3.8rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  text-align: center;
}
#concept .tagline .conc{
  color: rgb(20, 126, 92);
}
#concept .tagline .cr{
  color: rgb(160, 109, 172);
}
#concept .tagline .comf{
  display: inline-block;
  color: rgb(241, 135, 0);
}

/*  service  */
#service::before{
  background-repeat: no-repeat;
  background-position: left top, right top;
  background-image: url(../images/bg_sec_service_l.svg),
    url(../images/bg_sec_service_r.svg);
  background-size: calc(548.8 / 1920 * 100vw) 100%;
}
@media screen and (min-width: 1920px){
  #service::before{
    background-size: 548.8px 100%;
  }
}
@media screen and (min-width: 1280px){
  #service .srvlist{
    padding: 0 30px;
    margin: 0 calc(50% - 50vw);
  }
}
#service ul{
  padding: 4.4rem 0;
  margin: 0 auto;
  list-style: none;
  max-width: calc(42.0rem * 18 / 14);
  box-sizing: border-box;
}
@media screen and (min-width: 768px){
  #service ul{
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    width: 132.0rem;
    max-width: 100%;
  }
}
#service li{
  padding-bottom: 1.6rem;
}
@media screen and (min-width: 768px){
  #service li{
    flex-basis: calc(420 / 1320 * 100%);
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
  }
}
#service li .image{
  position: relative;
  z-index: -10;
}
#service li a{
  padding: 1.12rem;
  margin: -5.3rem auto 0 auto;
  display: block;
  width: calc(380 / 420 * 100%);
  box-shadow: 3px 3px 10px 0 rgba(6, 0, 1, 0.3);
  background-color: rgb(255, 255, 255,0.95);
  transition: .2s filter ease-out, .2s box-shadow ease-out;
}
@media screen and (min-width: 768px){
  #service li a{
    -webkit-box-flex: 1;
    flex-grow: 1;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
  }
}
#service li a:hover{
  box-shadow: none;
  -webkit-filter: brightness(90%);
  filter: brightness(90%);
}
#service li .ja{
  font-family: 'Noto Serif JP', serif;
  font-size: 2.0rem;
  font-size: clamp(15px, 20 / 1280 * 100vw, 2.0rem);
  line-height: 1.1;
  letter-spacing: 0.05em;
  text-align: center;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  min-height: calc(82 / 30 * 1em);
}
#service li .ja span{
  font-size: 61.538462%;
  line-height: 2;
}
#service li .en{
  display: block;
  font-family: 'Libre Caslon Display', 'Times New Roman', serif;
  font-size: 1.6rem;
  font-size: clamp(10px, 16 / 1280 * 100vw, 1.6rem);
  letter-spacing: calc(0.4 / 16 * 1em);
  text-align: center;
  color: rgb(20, 126, 92);
  -webkit-box-flex: 1;
  flex-grow: 1;
}
#service li .more{
  padding: .2rem 1.0em;
  margin-top: .8rem;
  display: block;
  font-size: 1.2rem;
  line-height: 1.75;
  letter-spacing: calc(1.15 / 12 * 1em);
  text-align: right;
}
#service li .more::after{
  content: '';
  display: inline-block;
  margin-left: .6rem;
  width: 3.0rem;
  height: .9rem;
  background: url(../images/ico_more.svg) no-repeat 50% 50%/contain;
}

/*  about  */
#about::before{
  background-repeat: no-repeat;
  background-position: right bottom;
  background-image:none;
  background-size: auto calc(472 / 1920 * 100vw);
}
@media screen and (min-width: 1920px){
  #about::before{
    background-size: auto 472px;
  }
}
/*  about  */
#about .infoM{
  text-align: center;
}
#about .infoM p img{
  width:260px;
}
/*  about access  */
#about .access{
  padding: 3.0rem 0;
}
#about .access .map{
  margin: 0 auto;
  max-width: 103.0rem;
  position: relative;
  overflow: hidden;
}
#about .access .map::before{
  content: '';
  display: block;
  padding-top: calc(770 / 1030 * 100%);
}
#about .access .map iframe{
  position: absolute;
  top: -50%;
  bottom: -50%;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 150%;
}
#about .info{
  padding: 2.4rem 0 .8rem 0;
}
#about .info .time{
  padding: 1.0rem 0;
  margin: 0;
  font-family: 'Noto Serif JP', serif;
  font-size: 2.4rem;
  line-height: 1.6;
  letter-spacing: calc(1.8 / 24 * 1em);
  text-align: center;
}
#about .info .addr{
  margin: 0;
  font-family: 'Noto Serif JP', serif;
  font-size: 1.6rem;
  line-height: 1.24;
  letter-spacing: calc(0.78 / 16 * 1em);
  text-align: center;
}

.gallery {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  gap: 2.5%;
  row-gap: 25px;    /* 上下间距 */
  width:80%;
  margin:0 auto;
}

.gallery .item {
  /* 100% - 2.5% 的间距，再除以2个 */
  flex: 0 0 calc((100% - 2.5%) / 2);
}

.gallery .item img {
  width: 100%;
  display: block;
  height: auto;
  object-fit: cover;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  margin-bottom: 25px;
}
.gallery .item img:hover {
  opacity: 0.9;
}
@media (max-width: 1023px) {
  .gallery {
    width:100%;
  }
}
/* 小屏（480px 以下）：一列，间距保持20px */
@media (max-width: 480px) {
  .gallery {
    column-gap: 0;
    row-gap: 20px;
    width:100%;
  }

  .gallery .item {
    flex: 0 0 100%;
  }
}
.tabekata{
  width:80%;
  margin:3em auto;
}
@media (max-width: 1023px) {
  .tabekata {
    width:90%;
  }
}
@media (max-width: 480px) {
  .tabekata{
    width:100%;
    margin:2em auto;
  }
}
/* ------------------------------------------ */
.mySection{
  line-height: 1.75;
  font-family: 'Noto Serif JP', serif;
}
/* ---------------------------------------- */
/*  main>article h2  */
		main>.article h2 {
			margin: 0;
			position: relative;
			left: 50%;
			z-index: 0;
			width: 100vw;
			max-width: 1920px;
			height: calc(280 / 1280 * 100vw);
			max-height: 28.0rem;
			-webkit-transform: translateX(-50%);
			transform: translateX(-50%);
			display: -webkit-box;
			display: flex;
			-webkit-box-orient: vertical;
			-webkit-box-direction: normal;
			flex-direction: column;
			-webkit-box-pack: center;
			justify-content: center;
			-webkit-box-align: center;
			align-items: center;
			background-color: rgb(136, 201, 161, 0.43);
		}

		main>.article h2::after {
			content: '';
			position: absolute;
			top: 0;
			bottom: 0;
			left: 0;
			right: 0;
			background-repeat: no-repeat;
			background-position: 0 0;
			background-size: cover, 100% 100%;
			background-image: linear-gradient(to left,
					rgba(255, 255, 255, 0) calc(242 / 1920 * 100%), rgb(219, 223, 226) calc(686 / 1920 * 100%),
					rgb(219, 223, 226) calc(1372 / 1920 * 100%), rgba(255, 255, 255, 0) calc(1678 / 1920 * 100%)), url(../images/bg_hd_policy.svg);
		}

		@media screen and (min-width: 1920px) {
			main>.article h2::after {
				background-position: 100% 50%;
			}
		}

		main>.article h2>span {
			position: relative;
			z-index: 10;
		}

		main>.article h2 .ja {
			font-family: 'Noto Serif JP', serif;
			font-size: 4.5rem;
			font-size: clamp(15px, 45 / 1280 * 100vw, 4.5rem);
			font-weight: 500;
			letter-spacing: calc(9 / 45 * 1em);
		}

		main>.article h2 .en {
			padding-top: 1.4rem;
			font-family: 'Libre Caslon Display', 'Times New Roman', serif;
			font-size: 2.1rem;
			font-size: clamp(10px, 21 / 1280 * 100vw, 2.1rem);
			letter-spacing: 0.2em;
		}