@charset "utf-8";


/* メインビジュアルセクション */
.mv-section {
  position: relative;
  width: 100%;
  min-height: 50vh;
  background: url('./img/mv-bg.jpg') center center no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}



.mv-container {
  position: relative;
  width: 100%;
  max-width: 1200px;
  padding: 0 2rem;
  z-index: 3;
}

.mv-content {
  display: flex;
  align-items: center;
  justify-content: center;
}

.mv-text-area {
  text-align: center;
  padding: 4rem 3rem;
      width: 80%;
  position: relative;

}



/* サブタイトル - 3rem */
.mv-sub-title {
  font-size: 3rem;
  font-weight: 700;
  color: #fff;
  background-color: #111111;
  padding: 1rem 2rem;
  margin-bottom: 2rem;

}

/* メインタイトル */
.mv-main-title {
  margin: 0 0 3rem 0;
  line-height: 1.4;
  font-size: 3.8rem;
  font-weight: bold;
}

/* 通常テキスト - 4rem */
.mv-main-text {
  font-size: 4rem;
  font-weight: 700;
  color: #000;
  display: block;
  margin-bottom: 0.5rem;
}

/* ハイライトテキスト - 5rem、緑色 */
.mv-highlight-text {
  font-size: 4.5rem;
  font-weight: 700;
  color: var(--site-color01);
  margin: 1rem 0;
}

/* 説明文 - サイズ指定なし */
.mv-description {
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333;
  margin: 0;
}


.low-mainvisual{
  background: url("img/low-mv.jpg") no-repeat center top;
    padding: var(--s5) 0;
    text-align: center;
    background-size: cover;
    position: relative;
}
.low-mainvisual:before{
  content: "";
    position: absolute;
    right: calc((95vw - 1100px) / 2 + 15rem);
    bottom: -2rem;
    width: 23rem;
    height: 15rem;
    background: url(./img/mv-img.png) center center;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 2;
}

.low-mainvisual a:hover{
    opacity: 0.6;
}
.logo{
  width: 20%;
}



/* ---------------------------------------------
navigation02 ※TOP、下層共通
--------------------------------------------- */
.header-area img{
  width: 15%;
  display: block;   
}

#low-header .header-area-upper {
    padding: var(--s1);
    display: block;
    text-align: right;
}

#low-header .header-title {
    display: inline-block;
	margin-left: var(--s5);
}

.header-area-upper {
  padding: var(--s1);
  display: flex;
    justify-content: space-between;
    align-items: center;
}
.header-title {
  font-size: 1.3rem;
  display: block;
  position: relative;
  text-align: right;
}
.header-title::before {
  content: "PR";
  padding: .2rem;
  color: #fff;
  background-color: #333;
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: -2.4rem;
}
.header-title a {
  text-decoration: none;
}
.header-title a:hover {
  text-decoration: underline;
}
.gnavi-btn-close {
  display: none;
}
.toggle-content {
  display: none;
}
.gnavi-ctrl {
  transition: opacity 0.6s, visibility 0.6s;
  opacity: 0;
  visibility: hidden;
}
.gnavi-ctrl.is-show {
  opacity: 1;
  visibility: visible;
}
#low-header .gnavi-ctrl {
  opacity: 1;
  visibility: visible;
}
.gnavi-btn {
  width: var(--s7);
  height: var(--s6);
  background: #333;
  display: block;
  position: fixed;
  top: var(--s6);
  right: 0;
  z-index: 200;
  cursor: pointer;
}
.gnavi-btn span {
  width: var(--s4);
  height: 0.2rem;
  display: inline-block;
  background: #fff;
  position: absolute;
  left: 1.2rem;
  transform: translate(0, -50%);
  transition: transform 0.4s, opacity 0.4s;
}
.gnavi-btn span:nth-of-type(1) {
  top: 1.7rem;
}
.gnavi-btn span:nth-of-type(2) {
  top: 2.4rem;
}
.gnavi-btn span:nth-of-type(3) {
  top: 3.1rem;
}
.gnavi-btn.is-active span:nth-of-type(1) {
  transform: translateY(0.7rem) rotate(-45deg);
}
.gnavi-btn.is-active span:nth-of-type(2) {
  opacity: 0;
}
.gnavi-btn.is-active span:nth-of-type(3) {
  transform: translateY(-0.7rem) rotate(45deg);
}
.gnavi-btn-close {
  width: 80%;
  margin: 0 auto;
  padding: var(--s2);
  background: #333;
  display: block;
  text-align: center;
}
.gnavi-btn-close__inner {
  padding: 0 0 0 var(--s3);
  display: inline-block;
  color: #fff;
  font-weight: 700;
  position: relative;
}
.gnavi-btn-close__inner::before {
  content: "";
  width: 1em;
  height: 0.2rem;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%) rotate(45deg);
}
.gnavi-btn-close__inner::after {
  content: "";
  width: 1em;
  height: 0.2rem;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%) rotate(135deg);
}
.gnavi-area {
  width: 100%;
  max-width: 37.5rem;
  height: 100vh;
  padding: var(--s3) var(--s1) var(--s10);
  display: block;
  background: #F5F5F5;
  overflow-x: hidden;
  overflow-y: auto;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 100;
  transform: translateX(100%);
  transition: transform 0.8s ease, opacity 0.8s ease;
  opacity: 0;
}
.gnavi-title {
  min-height: var(--s6);
  margin: 0 var(--s8);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
}
.gnavi-pc {
  display: none;
}
.gnavi-list {
  border-bottom: 1px solid #333;
  position: relative;
}
.gnavi-list li {
  padding-left: 0;
}
.gnavi-list__item::before {
  display: none;
}
.gnavi-list__link {
  width: 100%;
  margin: 0 auto;
  padding: var(--s2) var(--s4) var(--s2) var(--s2);
  border-top: 1px solid #333;
  display: block;
  font-weight: 700;
  line-height: 2;
  text-decoration: none;
  position: relative;
}
.gnavi-list__link::after {
  content: "";
  width: 1.4rem;
  height: 1.4rem;
  background: url("img/arrow-01-black-right.svg") no-repeat center/100% auto;
  position: absolute;
  top: 50%;
  right: var(--s2);
  transform: translate(0, -50%) rotate(0);
  transition: transform 0.3s;
}
.gnavi-list__link--toggle::after {
  background-image: url("img/arrow-01-black-down.svg");
}
.gnavi-list__link--toggle.is-open::after {
  transform: translate(0, -50%) rotate(180deg);
}
.gnavi-list__sub {
  width: 100%;
  background: #fff;
}
.gnavi-list__low .gnavi-list__link {
  padding: var(--s2) var(--s4) var(--s2) var(--s4);
}
.gnavi-list__low .gnavi-list__link::after {
  content: "└";
  background: none;
  transform: translateY(-50%);
  position: absolute;
  top: 40%;
  left: 1rem;
}
.is-gnavi-open .gnavi-area {
  opacity: 1;
  transform: translateX(0);
}

/* ---------------------------------------------
index02(目次)
--------------------------------------------- */
.onb-index02-frame {
    width: 100%;
}
.onb-index02-wrap {
    margin: var(--s6) auto;
    padding: var(--s1) var(--s3) var(--s4) var(--s3);
    background-color: var(--site-color06);
    position: relative;
}
.onb-index02-title {
    padding: var(--s2);
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1;
    background-size: 4rem auto;
    position: relative;
}
.onb-index02-chapter {
    padding: var(--s2) var(--s2) var(--s2) var(--s7);
    font-weight: 700;
    counter-reset: number 0; 
}
#toc ul.onb-index02-chapter li {
    position: relative;
}
#toc ul.onb-index02-chapter li:not(.onb-index02-chapter-h-three)::before {
    counter-increment: number 1;  
    content: counter(number, decimal-leading-zero);
    color: var(--site-color03);
    position: absolute;
    top: 0;
    left: -1.8em;
}
#toc ul li.onb-index02-chapter-h {
    margin: 0 0 0 var(--s2);
    font-size: 100%;
    line-height: 1.7;
    position: relative;
}
#toc ul li.onb-index02-chapter-h a {
    display: block;
    text-decoration: none;
}
#toc ul li.onb-index02-chapter-h-two {
    margin-left: var(--s2);
    position: relative;
}
#toc ul li.onb-index02-chapter-h-three {
    margin-left: var(--s4);
    position: relative;
}
#toc ul li.onb-index02-chapter-h-two::before,
#toc ul li.onb-index02-chapter-h-three::before {
    position: absolute;
    top: 0;
    left: -1.8em;
}
#toc ul li.onb-index02-chapter-h-three::before {
    content: "└";
}
/*----------------------------------------------
	more content settings
*/
#toc.onb-index02-gradation {
    margin-top: 1.4rem;
    height: auto;
    max-height: 12rem;
    overflow: hidden;
    transition: max-height 1s;
    border-top: 1px solid #222222;
    position: relative;
}
#toc.onb-index02-gradation::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    transition: 0.3s;
    background: linear-gradient(to bottom, transparent 0%, #F4F4F4 100%);
}
#toc.onb-index02-gradation.is-open::after {
    display: none;
}
.onb-index02-btn {
    max-width: 32rem;
    margin: 2rem auto 0 auto;
    position: relative;
    z-index: 5;
}
.onb-index02-btn span {
    width: 100%;
    margin: var(--s5) auto;
    padding: 2rem 4rem 2rem 3rem;
    border: .3rem solid var(--site-color02);
    border-radius: 4rem;
    background: url('./img/acc-off.svg') no-repeat 95% center #fff;
    display: block;
    text-align: center;
    transform: translate(0, 0);
    transition: transform 0.3s;
    cursor: pointer;
    z-index: 1;
	font-weight: 700;
}
.onb-index02-btn::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #C9CCCC;
    border-width: 0 1px 1px 0;
    transform: translate(.8rem, .8rem);
    border-radius: 4rem;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
}
.onb-index02-btn:hover span {
    transform: translate(.8rem, .8rem);
}
.onb-index02-btn.is-open span {
    background: url('./img/acc-on.svg') no-repeat 95% center #fff;
}

/* ---------------------------------------------
related-article01(関連記事)
--------------------------------------------- */
.related-article01-frame {
    margin: var(--s6) auto;
    padding: var(--s1)  var(--s3)  var(--s4) var(--s3);
    background: var(--site-color06);
    position: relative;
}
.related-article01-title {
    padding: var(--s2);
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1;
    background-size: 5rem auto;
    position: relative;
    border-bottom: 1px solid #222222;
}
.related-article01-list {
    padding: var(--s2) 0 var(--s2) var(--s2);
    font-weight: 700;
}
.related-article01-list li {
    margin: 0 0 0 var(--s2);
    padding-left: 1.5em;
    font-size: 100%;
    line-height: 1.7;
    position: relative;
}
.related-article01-list li + li {
    margin-top: 10px;
}
.related-article01-list li::before {
    content: "";
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    background-color: var(--site-color02);
    position: absolute;
    top: .6rem;
    left: 0;
}
.related-article01-list a {
    display: block;
    text-decoration: none;
}
.related-article01-list a:hover {
    opacity: 0.6;
}
.relations-box.relations-box--column {
    display: flex;
    gap: 10px;
}
.relations-box__pic {
    flex: 0 0 150px;
}


/* 2.3.4 section-title04 */
.section-title04 {
  margin: 5rem 0 3rem;	
  font-size: 3.6rem;
	font-weight: 700;
	text-align: center;
	position: relative;
  line-height: 1.6;
}
.section-title04::after {
	content: "";
	width: 7rem;
	height: 3px;
	background-color: #009944;
	transform: translateX(-50%);
	position: absolute;
	bottom: -3.2rem;
	left: 50%;
}



.section-title04 a{
  background: url("./img/arrow-01-green-right.svg") no-repeat center right/auto 1em;
  display: inline-block;
    padding-right: 5rem;
}

.section-title04 a:hover{
    opacity: 0.6;
}

 .title04-02{
  font-size: 2.2rem;
  margin: 3rem 0 2rem;
  position: relative;
}

.sec02 .title04-02{
  font-size: 2.5rem;
  margin: 3rem 0 5rem;
}

.title04-02::after {
    content: "";
    width: 5rem;
    height: 3px;
    background-color: #009944;
    transform: translateX(-50%);
    position: absolute;
    bottom: -2rem;

}


/* 3.0.6 title-catch (box専用見出し/中央揃え下線タイプ) */
.title-catch {
	padding: .8rem .8rem 1.6rem .6rem;
	font-size: 2rem;
	font-weight: 700;
	color: var(--site-color01);
	text-align: center;
	line-height: 1.5;
	border-bottom: 3px solid var(--site-color02);
}


.sec03 .title-catch {
    margin-bottom: var(--s3);
}

.title-catch a{
    background: url("./img/arrow-01-green-right.svg") no-repeat center right/auto 1em;
  display: block;
    padding-right: 3rem;

}

.title-catch a:hover,
.pickup-contents01-catch a:hover{
    opacity: 0.6;
}



.title-catch span {
	font-size: 1.6rem;
}




/* 3.0.7 arrow-title (box専用見出し/吹き出しタイプ) */
.arrow-title {
	padding: var(--s2);
	font-size: 2.8rem;
	font-weight: 700;
	color: #fff;
	background-color: var(--site-color01);
	border: 1px solid var(--site-color01);
	text-align: center;
	line-height: 1.5;

}

.arrow-title-sub {
	padding: var(--s1);
	margin-bottom: .8rem;
	background-color: #fff;
	font-size: 1.4rem;
	color: var(--site-color01);
	line-height: 1;
	display: inline-block;
}

.arrow-title-small {
	font-size: 2.3rem;
}

/* 3.0.8 icon-title-r (box専用見出し/小アイコン左タイプ) */
.icon-title-area {
	background-color: var(--site-color01);
	position: relative;
}

.icon-title-obj-r {
	width: 11rem;
	height: 11rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #DEDEDE;
	border-radius: 11rem;
	position: absolute;
	top: -.8rem;
	left: -.8rem;
}

.icon-title-obj-r__inner {
	text-align: center;
	font-weight: 700;
	color: var(--site-color01);
}

.icon-title-r {
	padding: 1.6rem;
	color: var(--site-color01);
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
  background: #ffffff;
}

.icon-title-small {
	font-size: 1.4rem;
}

/* 3.9 iconbox01 */
.iconbox01-bg-colored {
    padding-top: 4rem;
}

.iconbox01-area {
    padding: var(--s2);
    background: #F5F5F5 url('./img/iconbox01-bg-colored_bg.png') no-repeat bottom center;
    background-size: contain;
    position: relative;
    height: 100%;


    
}


.iconbox01-title {
    padding-bottom: var(--s2);
    font-size: 2.1rem;
    font-weight: 700;
    color: var(--site-color01);
    text-align: center;
    border-bottom: 1px solid var(--site-color01);
    line-height: 1.5;
            margin-bottom: 2rem;
}


/* 4.0 column-medium */
.column-medium {
    padding: var(--s4);
    border: 1px solid #111111;
}

.sec02 .column-medium {
    padding: 0;
    margin-top: var(--s5);
    background: #ffffff;
}
.onb-box-full {
    width: calc(100% + var(--s8));
    margin-left: calc(var(--s4) * -1);
}

.sec02 .onb-box-full {
    width: 100%;
    margin-left: 0;
}


/* 4.1.1 onb-icon-title (1カラムbox専用見出し/小アイコン左上) */
.onb-icon-title-frame {
	padding: var(--s4);
	background-color: var(--site-color01);
	position: relative;
}
.onb-icon-title-icon {
	width: 12rem;
	height: 12rem;
	border-radius: 50%;
	overflow: hidden;
	position: absolute;
	top: -4rem;
	left: 0;
}

.onb-icon-title {
	text-align: center;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.5;
	color: #fff;
}
.onb-icon-title .underline {
	border-bottom: 5px solid var(--site-color04);
}
.onb-icon-title small {
	font-size: 2.6rem;
	border: none;
}
.onb-icon-title-catch {
	margin-bottom: .8rem;
	font-size: 1.8rem;
	display: block;
	line-height: 1.5;
	border: none;
}

/* 4.1.3 onb-m-title5 (1カラムbox専用見出し/中央揃え罫線タイプ) */
.onb-m-title5 {
	line-height: 1.5;
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center;
  margin: var(--s4) 0 var(--s2);
}
.onb-m-title5 span {
	display: flex;
	align-items: center;
}
.onb-m-title5 span::before,
.onb-m-title5 span::after {
	content: "";
	min-width: 5%;
	height: 1px;
	background-color: #222222;
	flex-grow: 1;
}
.onb-m-title5 span::before {
	margin-right: var(--s2);
}
.onb-m-title5 span::after {
	margin-left: var(--s2);
}

/* 4.6 onb-center-img (1カラムbox専用/画像中央) */
.onb-center-img {
	width: 60%;
	margin: 0 auto;
}


/* 3.0.1 */
.m-title01 {
	padding: .8rem .8rem 1.6rem .8rem;
	font-size: 2.1rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.5;
}


/* 4.27 */
.onb-taglist-bg {
	padding: var(--s2);
}
.tag-list-6c {
	display: flex;
	flex-wrap: wrap;
	gap: var(--s2);
}
.tag-list-6c li {
	width: calc((100% / 3));
	padding: .8rem;
	text-align: center;
	line-height: 1.5;
}
.tag-list-6c li::before {
	display: none;
}
.onb-tag-colored {
	background-color: #62A73A;
	color: #fff;
}
.onb-tag-white {
	border: 1px solid #989898;
	background-color: #fff;
}
.onb-tag-colored .tag-name,
.onb-tag-white .tag-name {
	width: 100%;
	height: 100%;
	display: flex;	
	align-items: center;
	justify-content: center;
  font-size: 1.5rem;
    font-weight: bold;
}



/* 1.1.4 acc-more-btn */
.acc-more-btn {
	max-width: 46rem;
    width: 100%;
	margin: var(--s2) auto;
	position: relative;
}
.acc-more-btn span {
	width: 100%;
	margin: var(--s1) auto;
	padding: 2rem 6rem 2rem 3rem;
	border: .3rem solid var(--site-color02);
	border-radius: 4rem;
	background: url('./img/acc-off.svg') no-repeat 95% center #fff;
	display: block;
	text-align: center;
	transform: translate(0, 0);
	transition: transform 0.3s;
	cursor: pointer;
	z-index: 1;
}
.acc-more-btn::after {
	content: '';
	display: block;
	width: 100%;
	height: auto;
	background-color: #C9CCCC;
	border-width: 0 1px 1px 0;
	transform: translate(.8rem, .8rem);
	border-radius: 4rem;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}

.acc-more-btn.is-open span {
	background: url('./img/acc-on.svg') no-repeat 95% center #fff;
}
.more-content {
	display: none;
}
.acc-more-btn:hover span {
	transform: translate(.8rem, .8rem);
}

/* 4.1.4 onb-m-title6 (1カラムbox専用見出し/左揃え下線タイプ) */
.onb-m-title6 {
	padding: .5rem 1rem .8rem 2rem;
	line-height: 1.5;
	font-size: 2rem;
	font-weight: 700;
	border-left: .5rem solid var(--site-color02);
}

.onb-m-title6 a{
    background: url("./img/arrow-01-green-right.svg") no-repeat center right/auto 1em;
     display: block;
    padding-right: 5rem;
	

}

.onb-m-title6 a:hover{
  opacity: 0.6;
}
/* 2.9.1, 2.9.2 pickup-contents01 */
.l-pickup-contents01 {
	width: 100%;
	min-height: 52rem;
	display: flex;
	align-items: center;
	position: relative;
	    margin: var(--s5) 0;
}
.l-pickup-contents01--reverse {
	flex-direction: row-reverse;
	justify-content: flex-end;
}
.l-pickup-contents01-box {
	flex: 1;
}
.l-pickup-contents01-box img {
	max-height: 52rem;
	display: block;
	object-fit: cover;
	width: 100%;
}
.l-pickup-contents01-content {
	max-width: 56rem;
	padding: 0 var(--s8);
	position: relative;
	z-index: 5;
}
.l-pickup-contents01-content--reverse {
	margin-left: auto;
}
.pickup-contents01-catch {
	margin-bottom: 1rem;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
}

.pickup-contents01-catch a{
    background: url("./img/arrow-01-green-right.svg") no-repeat center right/auto 1em;
  display: block;
    padding-right: 5rem;

}

.btn-pickup-contents01 {
	margin: var(--s5) auto 0 auto;
}

/* 2.10.0 conclusion-area */
.conclusion-area {
	padding: var(--s6);
}
.conclusion-title {
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
}
.conclusion-title-deco {
	position: relative;
}
.conclusion-title-deco::before,
.conclusion-title-deco::after {
	content: "";
	width: 40%;
	height: 0.1rem;
	background-color: #222222;
	transform: translateY(-50%);
	position: absolute;
	top: 50%;
}
.conclusion-title-deco::before {
	left: -50%;
}
.conclusion-title-deco::after {
	right: -50%;
}

.conclusion-area {
    padding: var(--s6);
    background: var(--site-color06);
}
.conclusion-title-deco {
    position: relative;
}
.conclusion-title-deco::before,
.conclusion-title-deco::after {
    content: "";
    width: 40%;
    height: 0.1rem;
    background-color: #fff;
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
}
.conclusion-title-deco::before {
    left: -50%;
}
.conclusion-title-deco::after {
    right: -50%;
}
.conclusion-box {
    padding: var(--s4);
    background-color: #ffffff;
}
.conclusion-box__wht {
    line-height: 2;
}
.conclusion-title {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

.conclusion-title-deco {
    position: relative;
}

.conclusion-title-deco::before,
.conclusion-title-deco::after {
    content: "";
    width: 40%;
    height: 0.1rem;
    background-color: #222222;
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
}

.conclusion-title-deco::before {
    left: -50%;
}
.conclusion-title-deco::after {
    right: -50%;
}


.conclusion-btn-area {
    z-index: 5;
}
.btn-conclusion {
    margin: 0 auto;
}
.column-small{
  background: var(--site-color06);
  padding: var(--s2);
}


.sec03 .column-small {
    padding: var(--s3) var(--s2) var(--s4);
	margin: var(--s2) 0;
}
.sec03 table th {
  width: 35%;
}


.sec03 .l-stack{
	gap: 0;
}


.sec03 .column-small .caption {
    margin-bottom: 2rem;
}

.sec04 .column-small {
    padding: var(--s3) var(--s4);
}

.sec05 .column-small{
  background: none;
}

.column-small .onb-center-img{
  width: 100%;
      height: auto;
      overflow: hidden;    
}

.sec03 .column-small .onb-center-img{
	margin-bottom: var(--s3);
}

.column-small .onb-center-img img {
  width: 100%;          
  object-fit: cover;   
  display: block;    
}

.sec02 .column-small .onb-center-img img {
  width: 70%;          
  object-fit: contain;   
  display: block;
  height: 140px;
  margin: auto;
}
.sec03 .column-small .onb-center-img {
    height: auto;
}

.sec01 .column-small .onb-center-img img,
.lower_bottom .column-small .onb-center-img img {
	height: 150px;
}



.sec01 .column-small,
.lower_bottom .column-small{
  background: var(--site-color06);
  border: solid 1px #111111;
      padding: 0;

}

.sec01 .btn-web a,
.lower_bottom .btn-web a{
    padding: var(--s2) var(--s5) var(--s2) var(--s2);
}


.inner{
  padding: 0 var(--s3);
}

.sec02 .inner {
    padding: 0 var(--s4) var(--s3);
}

.sec02 .column-small .caption{
  margin-bottom: var(--s2);
}

.sec02 .information table th{
  width: 20rem;
  text-align: center;
}
.sec02 .l-grid-three table th{
  width: 100px;
  text-align: center;
  font-size: 1.4rem;
}
.sec02 .no-image .onb-center-img {
  height: 20rem;
margin: 0 auto;
}
.onebox {
  width: 50%;
  margin: 0 auto;
}

.sec02, .sec03, .sec05{
  margin: 10rem 0; 
}

.sec04{
	margin-bottom: 10rem;
}


p.lead {
    margin-top: var(--s5);
	line-height: 2;
}


.bg-01 {
  background: url('./img/bg-01.jpg') repeat top left;
  background-size: cover;
}

.bg-02 {
  background: url('./img/bg-02.jpg') repeat top left;
  background-size: cover;
  height: 100%;
    justify-content: center;
    align-items: center;
    background-attachment: fixed;
    background-position: center;
    padding-bottom: 10rem;
}


.section-title01-frame {
    padding-top: 8rem;
    position: relative;
}
.section-title01-frame::before {
    content: "";
    width: 100%;
    min-height: 38.8rem;
    background: url("./img/bg-04.jpg") no-repeat center center;
    background-size: cover;
    transform: translateX(-50%);
    position: absolute;
    bottom: 5rem;
    left: 50%;
    z-index: -1;
}
.section-title01-frame p {
    color: #fff;
}
.section-title01-bg {
    padding: 6rem 7.2rem;
    background-color: rgba(2, 112, 51, 0.8);
    position: relative;
    z-index: 2;
        margin-bottom: 4rem;
}
.section-title01 {
    margin-bottom: 2rem;
    font-size: 3.2rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.5;
    text-align: center;
    position: relative;
}

.section-title01 a {
    color: #fff;
    background: url("./img/arrow-01-wht-right.svg") no-repeat center right /auto 2.5rem;
    display: inline-block;
    padding-right: 3rem;
}

.section-title01 a:hover{
  opacity: 0.6;
}

.section-title01::after {
    content: "";
    height: 1px;
    transform: translateX(-50%);
    background-color: #ccc;
    position: absolute;
    top: -2rem;
    left: 50%;
    z-index: 2;
}



.information {
    margin-top: 3rem;
}
.annotation {
    text-align: left;
}

#low-page .annotation {
    text-align: left;
	margin-top: var(--s3);
}

.pc-fix-banner-custom {
    width: 18rem;
    height: 18rem;
    background: url("./img/bnn_bg.jpg") no-repeat center center;
    background-size: cover;
    position: fixed;
    right: 2rem;
    bottom: 2rem;
    z-index: 50;
    overflow: hidden;
}

.pc-fix-banner-custom a {
    color: #fff;
    text-decoration: none;
    display: block;
    width: 100%;
    height: 100%;
}

.pc-fix-banner-custom a:hover {
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.pc-fix-banner-custom-text {
    padding: 1.5rem 1rem;
    color: #fff;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    position: relative;
}

.pc-fix-banner-custom-label {
    background-color: #1a4f72;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    padding: 0.5rem 1rem;
    border-radius: 0.25rem;
    margin-bottom: 1rem;
    display: inline-block;
    align-self: center;
}

.pc-fix-banner-custom-title {
    font-size: 1.9rem;
    font-weight: bold;
    line-height: 1.4;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.pc-fix-banner-custom .pc-fix-banner-custom-title .small{
  font-size: 1.6rem;
}
.pc-fix-banner-custom .pc-fix-banner-custom-title .big{
  font-size: 2.5rem;
}

.icon-head02,
.icon-head01,
.icon-head03 {
	margin-top: var(--s13);
	margin-bottom: var(--s4);
	margin-left: var(--s4);
	padding: var(--s4) var(--s2) var(--s4) var(--s12);
	line-height: 1.5;
	font-size: 2.8rem;
	font-weight: 700;
	background-color: var(--site-color06);
	position: relative;
}
.icon-head02::before {
	content: "";
	width: 10.5rem;
	height: 10.5rem;
	background: url('./img/icon-head-point.svg') no-repeat center center;
	background-size: cover;
	position: absolute;
	left: -4rem;
	top: -1.6rem;
}

.icon-head01::before {
	content: "";
	width: 10.5rem;
	height: 10.5rem;
	background: url('./img/icon-head-matome.svg') no-repeat center center;
	background-size: cover;
	position: absolute;
	left: -4rem;
	top: -1.6rem;
}


.icon-head03::before {
	content: "";
	width: 10.5rem;
	height: 10.5rem;
	background: url('./img/icon-head-check.svg') no-repeat center center;
	background-size: cover;
	position: absolute;
	left: -4rem;
	top: -1.6rem;
}



#low-page .onb-taglist-bg {
	padding: var(--s4);
	background-color: var(--site-color06);
}
.onb-taglist-title {
	text-align: center;
	font-size: 2.1rem;
  font-weight: bold;
}

.sec01{
  position: relative;
}
.sec01::before {
  content: "";
  position: absolute;
    right: calc((100vw - 1200px) / 2 + 2rem);
    top: -7rem;
    width: 23rem;
    height: 15rem;
  background: url('./img/mv-img.png') center center;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 2;
}




.twb-bg-colored {
    padding-top: 4rem;
}
.twb-listbox-area {
    padding: var(--s5) var(--s2) var(--s2) var(--s2);
    position: relative;
}
.twb-listbox-title {
    margin-top: -5rem;
    text-align: center;
}
.twb-listbox-title span {
    padding: .8rem;
    background-color: var(--site-color06);
    display: block;
    font-weight: bold;
    font-size: 1.8rem;
}
.twb-listbox-subtitle {
    text-align: center;
    font-weight: 700;
}
.twb-listbox-list {
    width: 100%;
}
.twb-listbox-list li {
    padding-left: var(--s4);
    line-height: 1.5;
    background-size: 2rem 2rem;
    position: relative;
}

.twb-listbox-list li::before {
    content: "";
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    background: #009944;
    position: absolute;
    top: 0.6rem;
    left: 0;
}

.twb-listbox-list li span {
    margin-right: var(--s1);
    display: block;
    text-align: center;
}

.equipment {
    flex: 1 1 auto;
    min-height: 0;
}




.sec01 .l-grid-three .column-small {
  display: flex;
  flex-direction: column;
}

.sec01 .l-grid-three .column-small .inner.l-stack {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;   
}
.sec01 .l-grid-three .column-small .l-stack-small {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;   
  gap: var(--s2);  
}

.sec01 .l-grid-three .column-small .btn-web,
.lower_bottom .l-grid-three .column-small .btn-web {
  margin-top: auto;
}

.sec01 .l-grid-three .column-small .btn-tel {
  margin-top: 0.5em; 
}


.sec01 .l-center.l-stack {
  overflow: visible;
  display: flex;
  flex-direction: column !important;
}


.sec01 .l-center.l-stack .l-grid-three {
  flex: none !important;
  height: auto !important;
}

.sec01 .l-center.l-stack > p.caption.annotation {
  flex: none !important;
  margin-top: var(--s2);  
}

.sec03 table{
	margin-top: var(--s3);
	  table-layout: fixed;
  width: 100%;
}

.sec03 table th,
.sec03 table td {
  word-wrap: break-word;
  white-space: normal;
}


#low-page .tag-list-6c {
	display: flex;
	flex-wrap: wrap;
	gap: var(--s2);
}
#low-page .tag-list-6c li {
	width: calc((100% - var(--s10))/ 6);
	padding: .8rem;
	text-align: center;
	line-height: 1.5;
}
#low-page .tag-list-6c li::before {
	display: none;
}
#low-page .onb-tag-colored {
	background-color: #009944;
	color: #fff;
}
#low-page .onb-tag-white {
	border: 1px solid var(--site-color16);
	background-color: #fff;
	color: var(--site-color16);
}
#low-page .onb-tag-colored .tag-name,
#low-page .onb-tag-white .tag-name {
	width: 100%;
	height: 100%;
	display: flex;	
	align-items: center;
	justify-content: center;
}

#low-page .onb-tag-white .tag-name {
  color: #DBDBDB;
}

.taglist{
  margin: 5rem 0;
}

.section-title06-frame {
    margin-top: 5rem;
    position: relative;

}
.section-title06-frame::after {
    content: "";
    width: 100vw;
    height: 100%;
    background: #F5F5F5;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 0;
    border-bottom: 3px solid #009944;
}
.section-title06 {
    width: 100%;
    padding: var(--s4) var(--s12);
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    position: relative;
            z-index: 1;
}


.scroll-caption{
    display: block;
    max-width: 100%;
    padding: 0 0 0.3rem 0;
    text-align: left;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    scrollbar-width: thin;
	margin: 0;
}

.border{
    background: linear-gradient(transparent calc(100% - 8%), #FDD835 calc(100% - 7%));
    display: inline;
    padding-bottom: .5rem;
}


/* 下層用table */
.company th {
  width: 15%;
}

.lower_bottom .l-stack-xsmall,
.sec01 .l-stack-xsmall{
	gap: 0;
}

.lower_bottom .l-stack-xsmall p,
.sec01 .l-stack-xsmall p{
	margin: 0;
}

 

/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {

    .mv-sub-title {
    font-size: 1.7rem;
    padding: 1rem 2rem;
    margin-bottom: 2rem;
    line-height: 1.5;
            margin-top: 2rem;
    }

    .mv-content {
    display: block;
    text-align: center;
    }

    .mv-highlight-text {
    font-size: 2.5rem;
    }

    .mv-main-title {
    font-size: 1.9rem;
    line-height: 1.7;
    margin-bottom: 2rem;
    }
.mv-main-text {
    font-size: 1.9rem;
}

.mv-text-area {
  width: 100%; 
      padding: 12rem 0 14rem;
}

.mv-section {
    position: relative;
    width: 100%;
    min-height: 50vh;
    background: url(./img/mv-bg_sp.jpg) center center no-repeat;
    background-size: cover;
}
.mv-section::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 7rem;
    width: 20rem;
    height: 10rem;
}

.mv-container {
    position: relative;
    width: 100%;
    padding: 0 1.5rem;
    z-index: 3;
}

.mv-description {
    text-align: left;
}

    .mv-text-area::before {
    content: "";
    position: absolute;
    right: 0;
    top: -23rem;
}

.low-mainvisual{
  background: url("img/low-mv_sp.jpg") no-repeat center top;
    padding: var(--s3) 0;
}
.logo {
    width: 70%;
}


    .sec02, .sec03, .sec04, .sec05 {
     margin: 5rem 0;
    }

    .related-article01-list {
        padding: 0;
    }
    .related-article01-list li {
        margin-left: 0;
    }
    .relations-box__pic {
        flex: 0 0 100px;
    }
    .section-title04 {
        font-size: 2.3rem;
        line-height: 1.5;
    }


    .title04-02{
      font-size: 2rem;
    }
    .sec02 .title04-02 {
    font-size: 2.3rem;
	margin: 1.5rem 0 3rem;
    }

    .arrow-title {
    font-size: 2.2rem;
    }
    .arrow-title-small {
    font-size: 1.9rem;
    }
    
    .iconbox01-image {
        width: 8rem;
        height: 8rem;
        top: -1.6rem;
    }

    .sec01 .btn-web,
    .lower_bottom .btn-web{
        margin-bottom: var(--s1);
    }
    .sec01 .btn-tel,
    .lower_bottom .btn-tel{
        margin: 0;
    }

    .sec01 .inner,
    .lower_bottom .inner {
    padding-bottom: var(--s5);
    }

    .iconbox01-title {
        font-size: 1.8rem;
    }
    
    .column-medium {
        padding: var(--s2);
    }
    .onb-box-full {
        width: calc(100% + var(--s4));
        margin-left: calc(var(--s2) * -1);
    }
    
  .onb-icon-title-frame {
    padding: var(--s2);
  }
  .onb-icon-title {
    font-size: 2.4rem;
  }
  .onb-icon-title small {
    font-size: 1.9rem;
  }
  .onb-icon-title-catch {
    padding-left: var(--s4);
    font-size: 1.4rem;
  }
  .onb-icon-title-icon {
    width: 6rem;
    height: 6rem;
    top: -2rem;
  }
  
  .onb-m-title5 span::before,
  .onb-m-title5 span::after {
    width: 4rem;
  }
  .onb-m-title5 span::before {
    margin-right: var(--s1);
  }
  .onb-m-title5 span::after {
    margin-left: var(--s1);
  }
    
  .onb-center-img {
    width: 100%;
  }
  
	.acc-more-btn {
		margin-right: var(--s1);
	}
	.acc-more-btn span {
		transition: inherit;
		transform: none;
	}
	.acc-more-btn:hover span {
		transform: none;
	}
  
  .l-pickup-contents01 {
    min-height: inherit;
    flex-direction: column;
  }
  .l-pickup-contents01-content {
    max-width: inherit;
    padding: var(--s4) var(--s2);
  }
  .l-pickup-contents01-box img {
    min-height: inherit;
    object-fit: inherit;
  }
  
  .pickup-contents01-catch {
    font-size: 2rem;
  }
  .btn-pickup-contents01 {
    margin-right: var(--s1);
  }
  
  .conclusion-area {
    padding: var(--s4) var(--s2);
    background-size: 70% auto;
  }
  .conclusion-title {
    font-size: 2.4rem;
  }
  .conclusion-title-deco::before,
  .conclusion-title-deco::after {
    content: "";
    width: 10%;
  }
  .conclusion-title-deco::before {
    left: -20%;
  }
  .conclusion-title-deco::after {
    right: -20%;
  }
  .conclusion-box {
    padding: var(--s2);
  }
  .conclusion-catch {
    font-size: 1.8rem;
    line-height: 2;
  }
  .btn-conclusion {
    width: 80%;
  }
  	.onb-taglist-bg {
		padding: var(--s2);
	}
	.tag-list-6c {
		gap: var(--s1);
	}
	.tag-list-6c li {
		width: calc((100% - var(--s1))/ 2);
	}
  .onb-m-title5 {
    font-size: 2rem;
    }

    .bg-01 {
   background: url('./img/bg-01_sp.jpg') repeat;
    background-size: contain;
  }

    .sec02 .m-title01 {
    font-size: 1.8rem;
    }
    .sec02 .btn-tel{
      margin: 0 0 var(--s3);
    }
    .sec02 .btn-web {
        margin: var(--s3) auto var(--s1);
    }
    .sec02 .inner {
    padding: 0 var(--s2) var(--s3);
    }
    .sec02 .information table th,
    .sec02 .l-grid-three table th {
      width: 100%!important;
              max-width: 100%;
    }
    .sec03 .title-catch {
    font-size: 2rem;
    }
    .sec03 .column-small {
    padding: var(--s3) var(--s3) var(--s4);
    }
    .sec03 table th {
    width: 10rem;
    }
    .onb-m-title6 {
    font-size: 2rem;
    }
    .sec04 .btn-link {
        margin: var(--s1) 0;
        text-align: center;
    }


    .twb-listbox-area {
        padding: var(--s2) var(--s2) var(--s2) var(--s2);
    }
    .twb-listbox-list li {
        font-size: 1.4rem;
    }
    .twb-listbox-list--three li {
        width: calc((100% - var(--s2)) / 2);
    }
    .twb-listbox-title {
        width: 100%;
        margin: -5rem auto 0 auto;
        padding: var(--s2) 0;
        font-size: 1.8rem;
        text-align: center;
    }
.twb-bg-colored {
    padding-top: 01rem;
}


.onb-m-title6 a {
    padding-right: 3rem;
}

    .iconbox01-bg-colored {
      padding: 0;
    }
    .pc-fix-banner-custom {
        width: 25rem;
        height: auto;
        background: url("./img/bnn_bg_sp.jpg") no-repeat center center;
        background-size: contain;
        right: 0;
        bottom: 0!important;
    }

.sec01::before {
	content: none;
}

.section-title01-frame {
    padding-top: 10rem;

}

.section-title01-frame::before {
    content: "";
    min-height: 0;
    background: url(./img/bg-04.jpg) no-repeat center center;
    background-size: contain;
    top: -35rem;

}

.onebox {
    width: 100%;
}

    .conclusion-area {
        padding: var(--s4) var(--s2);
        background-size: 70% auto;
    }
    .conclusion-title {
        font-size: 2rem;
    }
    .conclusion-title-deco::before,
    .conclusion-title-deco::after {
        content: none;
    }

    .conclusion-box {
        padding: var(--s2);
    }
    .conclusion-catch {
        font-size: 1.8rem;
        line-height: 2;
    }
    .btn-conclusion {
        width: 80%;
    }
    .section-title01-bg {
        padding: var(--s3) var(--s2);
    }
    .section-title01 {
        margin-bottom: var(--s3);
        font-size: 2.3rem;
    }
    .section-title01::before {
        font-size: 1.8rem;
        top: -3.2rem;
    }   
    .pc-fix-banner-custom-text {
        padding: 1rem 0 1rem 2.5rem;
        flex-direction: row;
        align-items: center;
        text-align: left;
    }
    
    .pc-fix-banner-custom-label {
        font-size: 0.9rem;
        padding: 0.3rem 0.6rem;
        margin-bottom: 0;
        margin-right: 1rem;
        align-self: flex-start;
        writing-mode: vertical-rl;
        text-orientation: mixed;
        flex-shrink: 0;
    }
    
    .pc-fix-banner-custom-title {
        font-size: 1.4rem;
        line-height: 1.3;
        flex: 1;
    }
    
    .pc-fix-banner-custom-text::after {
        right: 0.8rem;
        bottom: 0.8rem;
    }

    .pc-fix-banner-custom .pc-fix-banner-custom-title .small {
    font-size: 1.3rem;
    }
    .pc-fix-banner-custom .pc-fix-banner-custom-title .big {
    font-size: 1.6rem;
}
#toc .onb-index02-chapter {
        padding-left: var(--s4);
    }    
    .onb-index02-btn:hover span {
        transform: none;
    }
    .onb-index02-title {
    font-size: 1.8rem;

}

.related-article01-title {
    margin-bottom: var(--s2);
}


	.icon-head02,
	.icon-head01,
	.icon-head03 {
		margin-left: var(--s2);
		padding: var(--s2) var(--s2) var(--s2) var(--s7);
		font-size: 1.8rem;
		margin-top: var(--s8);
	}
	.icon-head02::before,
	.icon-head01::before,
	.icon-head03::before {
		content: "";
		width: 6rem;
		height: 6rem;
		left: -1.6rem;
	}
#low-page	.onb-taglist-bg {
		padding: var(--s2);
	}
#low-page	.tag-list-6c {
		gap: var(--s1);
	}
#low-page	.tag-list-6c li {
		width: calc((100% - var(--s1))/ 2);
	}
#low-page	.onb-taglist-title {
    font-size: 1.6rem;

}

.section-title01 a {
    background: url(./img/arrow-01-wht-right.svg) no-repeat center right / auto 2rem;
}

.header-area img {
    display: none;
}

.header-area-upper {
    padding: var(--s1) var(--s2) var(--s1) var(--s4);
    display: block;
    text-align: right;

}
.header-title {
    display: inline-block;
	text-align: left;
}

.header-title::before {
    left: -3.4rem;
}

.header-area-upper .header-title::before {
    left: -2.9rem;
}

.low-mainvisual:before {
    content: "";
    position: absolute;
    right: calc((100vw - 750px) / 2 + 19rem);
        bottom: -1rem;
        width: 11rem;
        height: 7rem;
    background: url(./img/mv-img.png) center center;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 2;
}

    .section-title06 {
        padding: var(--s2);
        font-size: 2.1rem;
    }
/* 下層用table */
.company th {
  width: 35%;
}

}


