@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

/* CSS Document */
/**********************************************************************リセット*/
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
	text-align: left;
	text-decoration: none;
	color: #40220f;
	scroll-behavior: smooth;
}

body {
    line-height:1.5;
	font-family: 'Noto Sans JP', sans-serif;
	background-color: #fff;
	width: 100%;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:14px;
    vertical-align:baseline;
    background:transparent;
	text-decoration: none;
	display: block;
}

img{
	width: 100%;
}

* {
   box-sizing: border-box;
}
/**********************************************************************リセット*/



/**********************************************************************ヘッダー*/
header {
	padding: 10px 0 0;
	position: fixed;
	top: 0;
	width: 100%;
	text-align: center;
	z-index: 100;
	background: rgba(255,255,255);
	box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.3);
}
header>div{
	width: 100%;
	max-width: 1080px;
	display: flex;
	align-items: center;
	padding: 0;
	margin: 0 auto;
}
.rogo img{
	width: 165px;
}

nav {
   margin: 0 0 0 auto;
}
ul {
   list-style: none;
   margin: 0;
   display: flex;
}


.pc-nav ul li a{
	color: #40220;
	font-size: 14px;
	font-weight: 500;
	text-align: center;
	padding: 0 15px;
	line-height: 1.3;
	/*text-shadow: 0 0 5px rgba(0,0,0,0.40);*/
}

.pc-nav ul li a:link { color: #40220f; }
.pc-nav ul li a:visited { color: #40220f; }
.pc-nav ul li a:hover { color: #40220f; }
.pc-nav ul li a:active { color: #40220f; }

.pc-nav ul li a span{
	color: #aa8950;
	font-size: 10px;
}
.pc-nav ul li.snsicons{
	display: flex;
	justify-content: space-between;
	width: 50px;
	margin-left: 10px;
}
.pc-nav ul li.snsicons>a{
	padding: 0;
}
.pc-nav ul li.snsicons>a>img{
	width: 20px;
}
.sp-nav {
   display: none;
}

@media screen and (max-width: 640px) {
   .pc-nav {
      display: none;
   }
	.rogo img{
		width: 125px;
	}
	header>div{
		padding: 0 5%;
	}

   .sp-nav {
      z-index: 100;
      position: fixed;
      top: 0;
      left: 0;
      height: 100vh;
      display: block;
      width: 60vw;
      background: rgba(255, 255, 255, .95);
      opacity: 0;
      transform: translateX(200%);
      transition: all .2s ease-in-out;
   }
   #hamburger {
      position: relative;
      display: block;
      width: 30px;
      height: 25px;
      margin: 0 0 0 auto;
   }
   #hamburger span {
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      width: 100%;
      height: 2px;
      background-color: #40220f;
      transform: translateY(-50%);
   }
   #hamburger::before {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #40220f;
   }
   #hamburger::after {
      content: '';
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #40220f;
   }
   /*スマホメニュー*/
   .sp-nav ul {
      padding: 30px 0 0 0;
      display: flex;
	  flex-direction: column;
      height: 100%;
   }
   .sp-nav li {
      margin: 0 10%;
      padding: 0;
	   text-align: left;
	   width: 100%;
	   border-bottom: solid 1px #40220f;
   }
   .sp-nav li:last-child {
	   border-bottom: none;
   }
   .sp-nav li span {
      font-size: 10px;
      color: #fff;
   }
   .sp-nav li a, .sp-nav li span {
      display: block;
      padding: 10px 0;
	   line-height: 1;
	   color: #40220f;
	   text-align: left;
   }
   /*-閉じるアイコンー*/
   .sp-nav .close {
      position: relative;
      padding-left: 20px;
	   margin-top: 20px;
   }
   .sp-nav .close::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      width: 32px;
      height: 1px;
      background: #40220f;
      transform: rotate( 45deg );
   }
   .sp-nav .close::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      width: 32px;
      height: 1px;
      background: #40220f;
      transform: rotate( -45deg );
   }
   .toggle {
      transform: translateX( 40vw );
      opacity: 1;
   }

}

/**********************************************************************ヘッダー*/



/**********************************************************************共通*/
#top>img
 {
    height: 500px;
    object-fit: cover;
    object-position: 50% 0;
}
.con01{
	padding: 50px 0;
	text-align: center;
}
.con02{
	max-width: 880px;
	margin: 0 auto;
	position: relative;
	height: 100%;
}
.con03{
	max-width: 880px;
	padding-left: 200px;
	margin: 0 auto;
	position: relative;
	height: 100%;
}
.con03>p{
	height: 70px;
	font-size: 32px;
	color: #fff;
	background-color: #40220f;
	padding: 10px 0 0 15px;
	margin-bottom: 30px;
	text-align: center;
}
.btn{
	text-align: center!important;
	width: 150px;
	height: 30px;
	color: #fff;
	background: #aa8950;
	margin: 0 auto;
	margin-top: 30px;
	padding-top: 3px;
	border-radius: 15px;
}
.btn span{
	font-size: 12px;
	color: #fff;
}
.title{
	text-align: center;
	font-size: 32px;
	margin: 0 auto 30px;
}
.title>span{
	color: #aa8950;
}

.line{
	max-width: 880px;
	margin: 0 auto;
}
.lead{
	font-size: 16px;
	text-align: center;
	margin: 0 auto 30px;
}
.contens-top{
	width: 100%;
	height: 600px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.contens-top>.con02{
	position: relative;
}
.contens-top h2{
	color: #fff;
	font-weight: 300;
	margin-top: 30px;
}
.contens-top>.con02>div{
	width: 350px;
}

.contens-top>.con02>h3, .contens-top>.con02>a{
	color: #fff;
}
.contens-top>.con02>h3{
	font-size: 24px;
	font-weight: 700;
	font-weight: 400;
	margin: 10px 0;
}
.contens-top>.con02>a{
	width: 350px;
}

.contens-top>.con02>h6{
	position: absolute;
	bottom: -20px;
	right: 0;
	color: rgba(255,255,255,0.80);
	font-size: 97px;
	line-height: 1;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-weight: 500;
}
h4{
	font-size: 120px;
	font-weight: 900;
	color: #a09087;
	line-height: 1;
	display: inline-block;
}
h4>span{
	font-size: 120px;
	font-weight: 900;
	color: #40220f;
	line-height: 1;
	display: inline-block;
}
/**********************************************************************共通*/

/**********************************************************************フェードイン*/

/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}

/*----------------------------
scroll_left ｜左から出現
----------------------------*/
.scroll_left {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(-30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.scroll_left.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}

/*----------------------------
scroll_right ｜右から出現
----------------------------*/
.scroll_right {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.scroll_right.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}

/*----------------------------
ふわっと
----------------------------*/
.fade-in{
	animation-name: fade;
	animation-duration: 3s;
}

@keyframes fade{
  0%{
    opacity: 0;
	transform: translateY(30px);  
  }
  100%{
    opacity: 1;
	transform: translateY(0px);  
  }
}

/*----------------------------
scrollタイミング変更
----------------------------*/
.timing02 {
	transition-delay: .2s;
	animation-delay: .2s; 
}
.timing03 {
	transition-delay: .4s;
	animation-delay: .4s; 
}.timing04 {
	transition-delay: .6s;
	animation-delay: .6s; 
}.timing05 {
	transition-delay: .8s;
	animation-delay: .8s; 
}
/**********************************************************************フェードイン*/
/**********************************************************************スクロールでフワッと*/
.scroll-y{
    animation-name: fadein;
    animation-duration: 0.8s;
}
.scroll-y2{
    animation-name: fadein;
    animation-duration: 1.6s;
}
.scroll-y3{
    animation-name: fadein;
    animation-duration: 2.4s;
}
.scroll-y4{
    animation-name: fadein;
    animation-duration: 3.2s;
}
@keyframes fadein{
    from{
    opacity: 0;
    transform: translatey(50px);
    }
    to{
    opacity: 1;
    transform: translatey(0);
    }
}

.scroll-y5{
    animation-name: fadein2;
    animation-duration: 0.8s;
}
.scroll-y6{
    animation-name: fadein2;
    animation-duration: 1.6s;
}
.scroll-y7{
    animation-name: fadein2;
    animation-duration: 2s;
}
@keyframes fadein2{
    from{
    opacity: 0;
    transform: translatey(-100px);
    }
    to{
    opacity: 1;
    transform: translatey(0);
    }
}

.scroll-y8{
    animation-name: fadein3;
    animation-duration: 0.8s;
}
.scroll-y9{
    animation-name: fadein3;
    animation-duration: 1.6s;
}
.scroll-y10{
    animation-name: fadein3;
    animation-duration: 2s;
}
@keyframes fadein3{
    from{
    opacity: 0;
    transform: translatex(100px);
    }
    to{
    opacity: 1;
    transform: translatex(0);
    }
}

.scroll-y11{
    animation-name: fadein4;
    animation-duration: 2s;
}
@keyframes fadein4{
    from{
    opacity: 0;
    transform: translatex(-100px);
    }
    to{
    opacity: 1;
    transform: translatex(0);
    }
}


/**********************************************************************スクロールでフワッと*/
/**********************************************************************top*/


#top{
	width: 100%;
	height: 500px;
	position: relative;
	text-align: center;
}

#toppage>#top{
	height: 600px;
}

#top>img.main{
	width: 100%;
	height: 600px;
	object-fit: cover;
	object-position: 50% 0;
	position: relative;
}

#top>div.h1back{
	width: 100%;
	height: 160px;
	background: rgba(64,35,15,0.50);
	position:absolute;
	top:220px;
}
#top>h1{
	font-weight: 700;
	font-size: 45px;
	line-height: 1.2;
	color: #fff;
	position:absolute;
	top:240px;
	left: calc(50vw - 250px);
}
#top>h1>span{
	font-size: 35px;
	color: #fff;
}

.top-h2-a, .top-h2-b{
	text-align: center;
	margin: 0 auto;
	font-size: 24px;
}
.top-title{
  background-image: url("../imges/23310545_m.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
	padding: 50px 0;
}
.top-h2-a>span, .top-h2-b>span{
	background: linear-gradient(transparent 50%, #fce521 50%);
}
#top>h1.h1B{
	font-size: 120px;
	top:243px;
	left: calc(50vw - 56px);
	color: #40220f;
}
@keyframes fadeSlideIn {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#top > .top-B-text {
    width: 296px;
    position: absolute;
    top: 300px;
    left: calc(50vw + 100px);
    opacity: 0; /* 初期状態で非表示 */
    animation: fadeSlideIn 1s ease-out 1s forwards;
}
/* 動きの設定 */
@keyframes zoomIn {
  from { transform: scale(.2); }
  to { transform: scale(1.0); }
}
/* アニメーション「zoomIn」を指定 */
.zoom-in {
  animation: zoomIn 1.5s ease-in-out;
}
#top>div.c-cover{
	width: 50%;
	height: 600px;
	background: rgba(64,35,15,0.50);
	position:absolute;
	top:0;
	right: 0;
}
#top>img.usl{
	height: 143px;
    position: absolute;
    top: 457px;
	object-fit: none;
}
#top>img.top-c-u{
    left: calc(50px - 50vw);
}
#top>img.top-c-s{
    left: calc(180px - 50vw);
}
#top>img.top-c-l{
    left: calc(310px - 50vw);
}
.top-c-titlebox{
	width: 50%;
	position:absolute;
	top:0;
	right: 0;
	padding: 200px 0 200px 150px;
}

.top-c-title {
	font-size: 32px;
	margin-bottom: 30px;
    position: relative;
    display: inline-block; /* 枠線をテキストの大きさに合わせる */
    padding: 10px 20px;
    color: white; /* テキストの色 */
    border: 1px solid white; /* メインの白枠 */
}

.top-c-title::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid white; /* 枠線の色 */
}

.top-c-title::after {
    transform: translate(5px, 5px); /* さらに右下にズレる */
}

#top img.checkicon {
    width: 24px; /* アイコンの大きさ */
    height: auto;
    vertical-align: middle;
    margin-right: 8px; /* テキストとの間隔 */
}
.top-c-titlebox p{
	font-size: 20px;
	color: #fff;
	margin-bottom: 10px;
}
#toppage>#sec01{
	background: #d4c4a7;	
}


#toppage>#sec01>.con02{
	width: 1080px;
	max-width: 1080px;
	display: flex;
	justify-content: space-between;
}
#toppage>#sec01>.con02>img{
	width: 350px;
}

#toppage>#sec01>.con02>div{
	background-image: url("../imges/japan2.svg");
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: 500px 540px;
	width: 730px;
}
#toppage>#sec01>.con02>div>p{
	font-size: 24px;
	font-weight: 600;
	margin: 20px 0;
}

#toppage>#sec01>.con02>div>a.top-lead{
	line-height: 2;
}

#toppage>#sec01>.con02>div>a.btn{
	background-color: #40220f;
	text-align: left;
	margin: 50px 0;
}

#toppage>#sec01>.con02>div>.funbaru2{
	width: 210px;
	position: absolute;
	top: 400px;
	right: 330px;
	
}
/*********************************************B*/
#toppage>#sec01b{
	background-image: url("../imges/22276814_m.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 50px 0;
    background-color: rgba(255, 255, 255, 0.7); /* 白の半透明 */
    background-blend-mode: lighten;
}
#toppage>#sec01b>.con02{
	width: 1080px;
	position: relative;
}
#toppage>#sec01b h4{
	margin: 0 auto;
}
#toppage>#sec01b .top-about{
	display: flex;
	justify-content: space-between;
	column-gap: 2%;
}
#toppage>#sec01b .top-about a img{
	transition: transform .6s ease;	
}
#toppage>#sec01b .top-about a img:hover{
	transform: scale(1.1); 
}
#toppage>#sec01b .btn{
	background-color: #40220f;	
}
#toppage>#sec01b h5{
	text-align: center;
	background-color: #40220f;
	color: #fff;
	margin: 30px auto;
	padding: 10px 0;
	letter-spacing: 1.5px;
}
.lead-b, .lead-c{
	margin: 30px auto;
	line-height: 2;
	font-weight: 600;
}
#toppage>#sec01b>.con02>.lead-c>span{
	background: linear-gradient(transparent 80%, #fce521 80%);
}
#toppage>#sec01b>.con02>img.tobi{
	width: 340px;
	position:absolute;
	top: 0;
	right: 0;
	opacity: 0.1;
	z-index: -1;
}
#toppage>#sec01b>.con02>.btn{
	margin-top: 30px;
}
.topc{
	height: 400px!important;
}
/*********************************************C*/

#top h5.pattern-a{
	position: absolute;
	color: #000;
	font-size: 36px;
	font-weight: 500;
	letter-spacing: 5px;
	top: calc(50% - 40px);
	left: 0;
	text-align: left;
	line-height: 1;
	padding: 10px 10px 10px 10%;
	background: rgba(255,255,255,0.70);
}
#top h5.pattern-a span{
	font-size: 48px;
	color: #917348;
	font-weight: 700;
}

#top a.lead-a{
	position: absolute;
	font-weight: 500;
	top: calc(50% + 40px);
	left: 10%;
	text-align: left;
	font-size: 21px;
	color: #fff;
	letter-spacing: 3px;
	text-shadow: 0 0 15px rgba(0,0,0,1.00);
}



#sec01>.con02{
	position: relative;
}
.obi{
	text-align: center;
	background: #917348;
	padding: 20px 0;
}
.obi>.con02{
	display: flex;
	justify-content: space-between;
}

.obi a{
	text-align: center;
	color: #fff;
	font-size: 18px;
}
h1{
	text-align: center;
	font-size: 24px;
	color: #40220f;
	line-height: 1.8;
	font-weight: 400;
}
.funbaru{
	width: 160px;
	position: absolute;
	top: -40px ;
	right: 0;
}
.rogo-top{
	position: absolute;
	width: 200px;
	top: -95px;
	left: -220px;
}


#sec01>.con02>a{
	font-size: 16px;
	text-align: left;
	margin: 0 auto;
	padding-left: 20px;
	border-left: solid 3px #917348;
	line-height: 1.5
}

#sec02{
	background-image: url("../imges/support-mihirakiback3.jpg");
	background-repeat: no-repeat;
	background-position: center ;
	background-size: cover;
	height: 500px;
	margin-top: 100px;
	position: relative;
}
#sec02 h4.title-big{
	position:relative;
	top: -530px;
}
.con01>.con02>h2{
	color: #fff;
	font-size: 72px;
	font-weight: 600;
	display: flex;
	align-items: center;
}

.con01>.con02>h2>img{
	width: 76px;
	margin-right: 20px;
	align-items: center;
}


#sec02>.con02>div{
	width: 440px;
	position: absolute;
	bottom: 0;
	right: 0;
	text-align: center;
}
#sec02>.con02>div>a{
	text-align: justify;
}
#sec02>.con02>div>h3, #sec02>.con02>div>a{
	color: #fff;
}
#sec02>.con02>div>h3{
	font-size: 24px;
	margin-bottom: 20px;
}


#sec03{
	background-image: url("../imges/+1-mihirakiback.jpg");
	background-repeat: no-repeat;
	background-position: center ;
	background-size: cover;
	height: 500px;
	margin-top: 100px;
	position: relative;
}
#sec03 h4.title-big{
	position:relative;
	top: -530px;
}


#sec03>.con02>h2{
	color: #40220f;
}

#sec03>.con02>div{
	width: 440px;
	position: absolute;
	bottom: 0;
	right: 0;
	text-align: center;
}
#sec03>.con02>div>a{
	text-align: justify;
}

#sec03>.con02>div>h3{
	font-size: 24px;
	margin-bottom: 20px;
}

#sec03 .btn{
	background-color: #40220f;
}

#sec04>.con02{
	max-width: none;
}
#sec04 h4.title-big{
	text-align: center;
	margin: 100px auto 0;
}
#sec04 .btn{
	background: #fff;
	border: 1px solid #40220f;
	color: #40220f;
}
#sec04 .btn span{
	color: #40220f;
}
@keyframes infinity-scroll-left {
	from {
	  transform: translateX(0);
	}
	  to {
	  transform: translateX(-100%);
	}
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: calc(100vw / 5);
}
.scroll-infinity__item>img {
  width: 100%;
}

#sec05>.con02{
	max-width: 1280px;
}
#sec05 h4.title-big{
	text-align: center;
	margin: 50px auto 0;
}
#sec05>.con02>div, #sec05>.con02>div>div>div{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

#sec05>.con02>div>div{
	width: 48%;
	margin: 0 auto;
}

#sec05>.con02>div>div>div>img{
	width: 48%;
}
#sec05 .btn, #sec08 .btn{
	background: #fff;
	border: 1px solid #40220f;
	color: #40220f;
}
#sec05 .btn span, #sec08 .btn span{
	color: #40220f;
}
#sec05 .date{
	margin-top: 5px;
}
.news-con{
	padding: 10px 0;
}
.news-date{
	width: 200px;
	display: inline-block;
}
.news-text{
	width: 675px;
	display: inline-block;
}

.news-allow{
  display: inline-block;
  width: 60px;
  height: 6px;
  border-bottom: 1px solid #40220f;
  border-right: 1px solid #40220f;
   /*傾きを調節*/
  transform: skew(45deg);
  /*下線矢印をテキストに合わせてうまい具合にはめる*/
  margin: 0 auto;
	float: right;
	padding-bottom: 10px;
}

.news-allow:hover {
	width: 80px;
	transition:0.5s all;
	transform: translate(20px,0) skew(45deg);
}

#sec06 .btn{
	background: #fff;
	border: 1px solid #40220f;
	color: #40220f;
}
#sec06 .btn span{
	color: #40220f;
}
#sec07>.con02{
	text-align: center;
}
#sec06 h4.title-big, #sec07 h4.title-big{
	text-align: center;
	margin: 50px auto 0;
}

.sdgs{
	width: 60%;
	margin: 0 auto 30px;
}
#sec07>.con02>table{
	border-collapse:collapse;
}
#sec07>.con02>table tr td, #sec07>.con02>table tr th{
	border: 1px solid #000;
	padding: 10px;
	vertical-align: middle;
}
#sec07>.con02>table tr th{
	text-align: center;
	background: #e4eedc;
}
#sec07>.con02>table tr td:first-child{
	width: 190px;
	font-weight: bold;
}
.sec07-text{
	text-align: justify;
	margin: 30px 0;
}
.sdgs-declaration{
	width: 60%;
	margin: 0 auto;
}

/**********************************************************************top*/


/**********************************************************************strong-support.html*/


#st-support-top{
	background-image: url("../imges/support-mihirakiback3.jpg");
}


#st-support-sec01>.con03>div{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 30px;
}
#st-support-sec01>.st-mainimg{
	position: absolute;
	height: 2200px;
	width: auto;
	left: calc(50vw - 600px);
}

#st-support-sec01>.con03>div>img{
	width: 250px;
	margin-right: 30px;
}

#st-support-sec01>.con03>div.st-con-yobou{
align-items: flex-start;
}
#st-support-sec01>.con03>div.st-con-yobou>div{
	width: 45%;
}
#st-support-sec01>.con03>div.yobou02>img{
	width: 45%;
	margin: 0;
}
#st-support-sec01>.con03>div.yobou02>div{
	text-align: center;
}
#st-support-sec01>.con03>div.yobou02>div>a{
	text-align: justify;
	margin-bottom: 10px;
}
#st-support-sec01>.con03>div.yobou02>div>img.sankaku{
	width: 30px;
	margin: 0 auto;
}
#st-support-sec01>.con03>div.yobou02>div>.minititle{
	text-align: center;
	font-size: 21px;
	color: #aa8950;
	font-weight: 500;
}

#st-support-sec02{
	width: 100%;
	padding: 80px 0;
	background-image: url("../imges/suport_seting07-black.jpg");
	background-repeat: no-repeat;
	background-size: cover;
}
#st-support-sec02>.con02>.title{
	color: #fff;
}
#st-support-sec02>.con02>div{
	background-color: rgba(255,255,255,0.80);
	padding: 50px;
}
#st-support-sec02>.con02>div>div{
	display: flex;
	justify-content: space-around;
	margin-bottom: 30px;
}

#st-support-sec02>.con02>div>div>img{
	width: 40%;
}
#st-support-sec02>.con02>div>a{
	text-align: center;
	font-size: 21px;
}
#st-support-sec02>.con02>div>a>span{
	font-size: 28px;
	color: #aa8950;
	font-weight: 600;
}

#st-support-sec03>.con02>div{
	width: 730px;
	margin: 0 auto 30px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#st-support-sec03>.con02>div>img{
	width: 300px;
	margin-right: 30px;
}
#st-support-sec03>.con02>div>div>.title{
	text-align: left;
	margin-bottom: 10px;
}
#st-support-sec03>.con02>div>div>.sec03-text{
	text-align: justify;
}
#st-support-sec03>.con02>div>div>.chusyaku{
	text-align: right;
}
#st-support-sec03>.con02>div.sec03-figures{
	width: 100%;
}
#st-support-sec03>.con02>div.sec03-figures>img{
	width: 47%;
	margin: 0;
}
#st-support-sec04>.con02{
	text-align: center;
}
#st-support-sec04>.con02>img{
	width: 100%;
	max-width: 880px;
	margin: 0 auto 30px;
}


/**********************************************************************+1protect.html*/

#protect-top{
	background-image: url("../imges/+1-mihirakiback.jpg");
}
#protect-top>.con02>h2, #protect-top>.con02>h3, #protect-top>.con02>a{
	color: #40220f;
}
#protect-top>.con02>h6{
	text-align: right;
}
.protect-big{
	margin: -5px 0 -10px;
}

#protect-sec01 p, #protect-sec02 p, #protect-sec03 p{
	height: 70px;
	font-size: 32px;
	color: #fff;
	background-color: #40220f;
	padding: 10px 0 0 15px;
	margin-bottom: 30px;
	text-align: center;
}
#protect-sec01 p span{
	font-size: 21px;
	color: #fff;
}


#protect-sec01>.con02{
	text-align: center;
}

#protect-sec01>.con02>a{
	font-size: 24px;
	line-height: 2;
}
#protect-sec01>.con02>a.chusyaku{
	font-size: 14px;
	margin: 30px 0;
}

#protect-sec02>.con02>div{
	display: flex;
	justify-content: space-between;
}
#protect-sec02>.con02>div>img{
	width: 315px;
	margin-right: 20px;
}
#protect-sec02>.con02>div>div{
	text-align: center;
}
#protect-sec02>.con02>div>div>.subtitle{
	color: #aa8950;
	font-size: 24px;
}

#protect-sec02>.con02>div>div>.tokkyo{
	border-bottom: solid 1px #40220f;
	border-top: solid 1px #40220f;
	padding: 5px 0;
	margin: 10px 0;
}
#protect-sec02>.con02>div>div>.lead{
	text-align: justify;
}

#protect-sec02>.con02>.mini{
	font-size: 24px;
	margin: 50px 0 20px;
}
#protect-sec02>.con02>div>div{
	width: 47%;
}
#protect-sec02>.con02>div>div>a{
	text-align: justify;
}
#protect-sec03>.con02>div{
	width: 680px;
	margin: 30px auto 50px;
}
#protect-sec03>.con02{
	text-align: center;
}
#protect-sec03>.con02>img{
	width: 680px;
	margin: 30px auto 50px;
}
/**********************************************************************INFOMATION*/

#infomation #top h5{
	position: absolute;
	color: #fff;
	font-size: 36px;
	font-weight: 400;
	letter-spacing: 5px;
	top: calc(50% - 24px);
	left: calc(50vw - 133px);
	text-align: center;
}

#infomation .funbaru{
	width: 160px;
	position: absolute;
	top: auto;
	bottom: 0 ;
	right: 0;
}
#infomation table{
	margin: 100px auto;
}
#infomation table tr td{
	padding: 10px;
	border-top: 1px solid #40220f;
}
#infomation table tr td:first-child{
	text-align: right;
	padding-right: 20px;
	vertical-align: middle;
}
#infomation table tr:last-child td{
	border-bottom: 1px solid #40220f;
}

.map iframe{
	width: 100%;
	height: 300px;
}

/**********************************************************************INFOMATIONここまで*/
/**********************************************************************result*/
#result #top h5{
	position: absolute;
	color: #fff;
	font-size: 36px;
	font-weight: 400;
	letter-spacing: 5px;
	top: calc(50% - 24px);
	left: calc(50vw - 82px);
	text-align: center;
}
#result .con02>div{
	margin: 50px auto;
	text-align: center;
}
#result .con02>div a{
	margin: 0 auto 10px;
}
#result .con02>div a.result-name{
	font-size: 21px;
}
#result .con02>div a.add{
	background: #40220f;
	color: #fff;
	padding: 3px 7px;
	display: inline-block;
	margin: 0 auto 30px;
}
#result h3{
	background: #40220f;
	text-align: center;
	font-size: 24px;
	font-weight: 400;
	letter-spacing: 10px;
	color: #fff;
	padding: 10px 0;
	margin: 30px auto; 
}
#result .con02>div>div{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items: flex-start;
}
#result .con02>div>div>img{
	width: 30%;
	margin-right: 3%;
	margin-bottom: 3%;
}
#result-sec04 .con02>div>div{
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	align-items: flex-start;
}
#result .con02>div>div.media>img{
	width: 45%;
	margin: 0 auto;
}
/**********************************************************************resultここまで*/
/**********************************************************************recruit*/
#recruit #top h5{
	position: absolute;
	color: #fff;
	font-size: 36px;
	font-weight: 400;
	letter-spacing: 5px;
	top: calc(50% - 24px);
	left: calc(50vw - 82px);
	text-align: center;
}

#recruit .con02{
	display: flex;
	justify-content:space-between;
	flex-wrap: wrap;
}
#recruit .con02>div{
	width: 48%;
}

#recruit .con02>div>p{
	background: #40220f;
	text-align: center;
	font-size: 24px;
	font-weight: 400;
	letter-spacing: 10px;
	color: #fff;
	padding: 10px 0;
	margin: 30px auto 20px; 
}
#recruit .con02>div>a{
	margin-bottom: 20px;
}
#recruit table{
	width: 100%;
}
#recruit table tr td{
	padding: 10px;
	border-top: 1px solid #40220f;
}
#recruit table tr td:first-child{
	text-align: right;
	padding-right: 20px;
	vertical-align: middle;
}
#recruit table tr:last-child td{
	border-bottom: 1px solid #40220f;
}


/**********************************************************************recruitここまで*/
/**********************************************************************company*/
#company #top,#company #top img{
	height: 400px;
}
#company #top h5{
	position: absolute;
	color: #fff;
	font-size: 36px;
	font-weight: 400;
	letter-spacing: 5px;
	top: calc(50% - 24px);
	left: calc(50vw - 107px);
	text-align: center;
}
#company-sec01 .con02 {
	width: 800px;
	margin: 0 auto;
}
#company-sec01 .con02 h1{
	font-size: 32px;
	font-weight: bold;
	text-align: left;
	margin-bottom: 10px;
}

#company-sec01 .con02 h1 span{
	background: linear-gradient(transparent 70%, #fce521 70%);
}
.name{
	margin-top: 10px;
	margin-left: 400px;
	z-index: 20;
}
.wakamatsu{
	width: 276px;
	position: absolute;
	right: 0;
	top: 0;
}
.company-con01{
	background: #e5dcca;
}
.company-con01>.company-con02{
	width: 1080px;
	margin: 0 auto 50px;
	text-align: center;
	padding-bottom: 30px;
}
.company-con02>div{
	display: flex;
	justify-content: space-around;
	margin-bottom: 30px;
}
.company-con02>div.left{
	justify-content: flex-start;
}
.company-con02>div>img{
	height: 250px;
	width: auto;
}


.timeline{
	width: 880px;
	margin: 0 auto 30px;
}

.btn-com{
	color: #fff;
	background: #40220f;
	width: 300px;
	height: 50px;
	border-radius: 25px;
	margin: 0 auto;
	padding-top: 15px;
	text-align: center;
}
.company-con02>div.btns{
	justify-content: center;
	gap: 20px;
}
.company-con02>div.btns>.btn-com{
	margin: 0;
	text-align: center;
}
.company-con01>.company-con02 a.btn-com-mob{
	text-align: center;
	margin: 30px auto;
}
/**********************************************************************companyここまで*/
/**********************************************************************contact*/
#contact #top h5{
	position: absolute;
	color: #fff;
	font-size: 36px;
	font-weight: 400;
	letter-spacing: 5px;
	top: calc(50% - 24px);
	left: calc(50vw - 82px);
	text-align: center;
}
#contact-sec01>.con02>a{
	text-align: center;
	font-size: 18px;
}

#contact-sec01>.con02>iframe{
	width: 100%;
	height: 1500px;
}

/**********************************************************************contactここまで*/

.btn-pdf{
	font-size: 21px;
	text-align: center!important;
	width: 300px;
	height: 60px;
	color: #fff;
	background: #3d7b8a;
	margin: 50px auto;
	padding-top: 12px;
	border-radius: 30px;
	white-space: nowrap;
	vertical-align: middle;
}
.btn-pdf>img{
	display: inline;
	height: 22px;
	width: 22px;
	margin-bottom: -2px;
}
/**********************************************************************footer*/

footer{
	padding: 100px 0 200px;
	position: relative;
	width: 880px;
	margin: 0 auto;
	text-align: center;
}
.footerback{
	width: 420px;
	position: absolute;
	top: 10px;
	left: -70px;
	z-index: -10;
}
.rogo-footer{
	width: 200px;
	margin: 0 auto 30px;
}

.icons-footer{
	display: flex;
	justify-content: space-between;
	width: 120px;
	margin: 30px auto;
}

.icons-footer img{
	width: 30px;
}
.copryright{
	font-size: 10px;
}
/**********************************************************************footer*/

.mob{
	display: none;
}

/*******************************************************************************************************************************************モバイル用*/


@media screen and (max-width: 640px) {
	.mob{
		display: block;
	}
	.con01{
		padding: 30px 0;
	}
	.con02{
		max-width: 100%;
		height: auto;
		padding: 5%;
	}
	.con03{
		max-width: 100%;
		padding: 0 5%;
	}
	.con03>p{
		height: auto;
		font-size: 32px;
		color: #fff;
		background-color: #40220f;
		padding: 10px 0 10px 0;
		margin-bottom: 30px;
		text-align: center;
	}
	.line{
		width: 90%;
		margin: 0 auto;
	}
	.contens-top{
		height: 500px;
	}
	.contens-top h2{
		color: #fff;
		font-weight: 300;
		margin-top: 30px;
	}
	.contens-top>.con02{
		position: relative;
		top: 150px;
	}
	.contens-top>.con02>div{
		width: 100%;
		padding: 0 5%;
	}

	.contens-top>.con02>h3, .contens-top>.con02>a{
		color: #fff;
	}
	.contens-top>.con02>h3{
		font-size: 21px;
		font-weight: 700;
		font-weight: 400;
		margin: 10px 0;
	}
	.contens-top>.con02>a{
		width: 100%;
	}

	.contens-top>.con02>h6{
		position: absolute;
		bottom: -30px;
		left: 0;
		color: rgba(255,255,255,0.80);
		font-size: 36px;
		line-height: 1;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		font-weight: 500;
	}
	h4, h4>span{
		font-size: 42px;
	}

	/**********************************************************************top*/
	#toppage>#top{
		width: 100%;
		height: 500px;
		position: relative;
		text-align: center;
	}

	#top>img{
		height: 400px;
		object-fit: cover;
		object-position: 50% 0;
	}

	#top h5.pattern-a{
		position: absolute;
		color: #000;
		font-size: 36px;
		font-weight: 500;
		letter-spacing: 5px;
		top: 100px;
		left: 0;
		text-align: left;
		line-height: 1;
		padding: 10px 10px 10px 5%;
		background: rgba(255,255,255,0.70);
	}
	#top h5.pattern-a span{
		font-size: 48px;
		color: #917348;
		font-weight: 700;
	}

	#top a.lead-a{
		position: absolute;
		font-weight: 500;
		top: auto;
		bottom: 5%;
		left: 5%;
		text-align: left;
		font-size: 18px;
		color: #fff;
		letter-spacing: 3px;
		text-shadow: 0 0 15px rgba(0,0,0,1.00);
	}
	#sec01>.con02{
		position: relative;
	}
	.title{
		text-align: center;
		font-size: 18px;
		margin: 0 auto 30px;
	}
	.obi{
		text-align: center;
		background: #917348;
		padding: 20px 0;
	}
	.obi>.con02{
		position: relative;
		display: flex;
		flex-direction: column;
		padding: 0 5%;
	}
	.obi>.con02>.funbaru{
		width: 130px;
		position: absolute;
		top: 0;
		right: 5%;
	}

	.obi a{
		text-align: left;
		color: #fff;
		font-size: 18px;
	}
	.obi a span{
		display: inline-block;
		text-align: left;
		color: #fff;
		font-size: 18px;
	}
	h1{
		text-align: center;
		font-size: 24px;
		color: #40220f;
		line-height: 1.8;
		font-weight: 400;
	}
	.rogo-top{
		position: absolute;
		width: 45%;
		top: 0;
		left: calc(50vw);
		z-index: 5;
		opacity: 0.3;
	}
	#top>img.main{
		width: 100%;
		height: 500px;
		object-fit: cover;
		object-position: 50% 0;
		position: relative;
	}
	#top>div.c-cover{
		width: 100%;
		height: 250px;
		background: rgba(64,35,15,0.50);
		position:absolute;
		top:auto;
		bottom: 0;
		right: 0;
	}
	#top>img.usl{
		height: auto;
		width: 25vw;
		position: absolute;
		top: 100px;
		display: none;
	}
	#top>img.top-c-u{
		left: 10.5vw;
	}
	#top>img.top-c-s{
		left: 37.5vw;
	}
	#top>img.top-c-l{
		left: 64.5vw;
	}
	.top-c-titlebox{
		width: 100%;
		height: auto;
		position:absolute;
		top:auto;
		bottom: 0;
		right: 0;
		padding: 5%;
	}

	.top-c-title {
		font-size: 6.5vw;
		margin-bottom: 30px;
		position: relative;
		display: inline-block; /* 枠線をテキストの大きさに合わせる */
		padding: 10px 20px;
		color: white; /* テキストの色 */
		border: 1px solid white; /* メインの白枠 */
	}

	.top-c-title::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border: 1px solid white; /* 枠線の色 */
	}

	.top-c-title::after {
		transform: translate(5px, 5px); /* さらに右下にズレる */
	}

	#top img.checkicon {
		width: 5vw; /* アイコンの大きさ */
		height: auto;
		vertical-align: middle;
		margin-right: 8px; /* テキストとの間隔 */
	}
	.top-c-titlebox p{
		font-size: 4.5vw;
		color: #fff;
		margin-bottom: 10px;
	}

	#toppage>#sec01>.con02{
		width: 100%;
		max-width: 100%;
		display: flex;
		flex-direction: column;
	}
	#toppage>#sec01>.con02>img{
		width: 100%;
	}

	#toppage>#sec01>.con02>div{
		background-image: url("../imges/japan2.svg");
		background-repeat: no-repeat;
		background-position: right bottom;
		background-size: 100% auto;
		width: 100%;
	}
	#toppage>#sec01>.con02>div>p{
		font-size: 24px;
		font-weight: 600;
		margin: 20px 0;
	}

	#toppage>#sec01>.con02>div>a.top-lead{
		line-height: 2;
		width: 100%;
	}

	#toppage>#sec01>.con02>div>a.btn{
		background-color: #40220f;
		text-align: left;
		margin: 50px auto 0;
	}

	#toppage>#sec01>.con02>div>.funbaru2{
		width: 30vw;
		position: absolute;
		top: 10px;
		right: 5%;

	}


	#sec01>.con02>a{
		position: relative;
		font-size: 16px;
		text-align: left;
		margin: 0 auto;
		padding: 0 5%;
		border-left: none;
		line-height: 1.5;
		z-index: 10;
	}
	#sec02 h4.title-big{
		position:relative;
		top: -520px;
	}


	#sec02{
		background-image: url("../imges/support-mihirakiback3-mob.jpg");
		background-repeat: no-repeat;
		background-position: center ;
		background-size: cover;
		height: 450px;
	}
	#sec02>.con02{
		height: 450px;
	}

	.con01>.con02>h2{
		color: #fff;
		font-size: 32px;
		font-weight: 400;
		display: flex;
		align-items: center;
		margin-left: 0;
	}

	.con01>.con02>h2>img{
		width: 48px;
		margin-right: 20px;
		align-items: center;
	}

	#sec02>.con02>div{
		width: 100%;
		padding: 5%;
		position: absolute;
		top: 170px;
		right: 0;
		text-align: center;
	}
	#sec02>.con02>div>a{
		text-align: justify;
	}
	#sec02>.con02>div>h3, #sec02>.con02>div>a{
		color: #fff;
	}
	#sec02>.con02>div>h3{
		font-size: 21px;
		margin-bottom: 20px;
	}


	#sec03{
		background-image: url("../imges/+1-mihirakiback-mob.jpg");
		background-repeat: no-repeat;
		background-position: center ;
		background-size: cover;
		height: 400px;
	}
	#sec03 h4.title-big{
		position:relative;
		top: -160px;
	}
	#sec03>.con02>h2{
		color: #40220f;
	}

	#sec03>.con02>div{
		width: 100%;
		padding: 5%;
		position: absolute;
		top: 25vw;
		right: 0;
		text-align: center;
	}
	#sec03>.con02>div>a{
		text-align: justify;
	}

	#sec03>.con02>div>h3{
		font-size: 21px;
		margin-bottom: 20px;
	}

	#sec03 .btn{
		background-color: #40220f;
	}

	#sec04>.con02{
		max-width: none;
	}
	#sec04 h4.title-big{
		text-align: center;
		margin: 50px auto 0;
	}
	#sec04 .btn{
		background: #fff;
		border: 1px solid #40220f;
		color: #40220f;
	}
	#sec04 .btn span{
		color: #40220f;
	}
	@keyframes infinity-scroll-left {
		from {
		  transform: translateX(0);
		}
		  to {
		  transform: translateX(-100%);
		}
	}
	.scroll-infinity__wrap {
	  display: flex;
	  overflow: hidden;
	}
	.scroll-infinity__list {
	  display: flex;
	  list-style: none;
	  padding: 0
	}
	.scroll-infinity__list--left {
	  animation: infinity-scroll-left 80s infinite linear 0.5s both;
	}
	.scroll-infinity__item {
	  width: calc(100vw / 1.5);
	}
	.scroll-infinity__item>img {
	  width: 100%;
	}

	#sec05>.con02>div{
		display: flex;
		flex-direction: column;
	}

	#sec05>.con02>div>div{
		width: 90%;
		margin: 0 auto 30px;
	}


	#sec05 .btn{
		background: #fff;
		border: 1px solid #40220f;
		color: #40220f;
	}
	#sec05 .btn span{
		color: #40220f;
	}

	.news-con{
		padding: 10px 0 0 5%;
	}
	.news-date{
		width: 100%;
		display: inline-block;
	}
	.news-text{
		width: 100%;
		display: inline-block;
	}

	.news-allow{
	  display: inline-block;
	  width: 60px;
	  height: 6px;
	  border-bottom: 1px solid #40220f;
	  border-right: 1px solid #40220f;
	   /*傾きを調節*/
	  transform: skew(45deg);
	  /*下線矢印をテキストに合わせてうまい具合にはめる*/
	  margin: 0 auto;
		float: right;
		padding-bottom: 10px;
	}

	.news-allow:hover {
		width: 80px;
		transition:0.5s all;
		transform: translate(20px,0) skew(45deg);
	}

	#sec06 .btn{
		background: #fff;
		border: 1px solid #40220f;
		color: #40220f;
	}
	#sec06 .btn span{
		color: #40220f;
	}
		#sec07>.con02{
		text-align: justify;
	}
	
	#sec06 h4.title-big, #sec07 h4.title-big,{
		text-align: center;
		margin: 0 auto 0;
	}
	.sdgs{
		width: 100%;
		margin: 0 auto 30px;
	}
	#sec07>.con02>table tr td, #sec07>.con02>table tr th{
		border: 1px solid #000;
		padding: 10px;
		vertical-align: middle;
	}
	#sec07>.con02>table tr.pc th{
		display: none;
	}

	#sec07>.con02>table tr{
		display: flex;
		flex-direction: column;
	}
	#sec07>.con02>table tr td{
		width: 100%!important;
		text-align: justify;
	}

	#sec07>.con02>table tr td:first-child{
		margin-top: 20px;
		background: #e4eedc;
		text-align: center;
	}

	.sec07-text{
		text-align: justify;
		margin: 30px 0;
	}
	.sdgs-declaration{
		width: 100%;
		margin: 0 auto;
	}
	/*********************************************B*/
	#toppage>#sec01b{
		background-image: url("../imges/22276814_m-mob2.jpg");
	}
	#toppage>#sec01b>.con02>a.lead-c{
		margin: 15px auto 0;
		text-align: justify;
		line-height: 2;
	}
	#toppage>#sec01b>.con02>img.tobi{
		height: 100%;
		width: auto;
		position:absolute;
		top: 0;
		left: 30px;
		opacity: 0.1;
		object-fit: cover;
	}
	#toppage>#sec01b>.con02{
		width: 100%;
		overflow: hidden;
	}
	#toppage>#sec01b h4{
		margin: 0 auto;
	}
	#toppage>#sec01b .top-about{
		display: flex;
		justify-content: center;
		column-gap: 2%;
		flex-wrap: wrap;
	}
	#toppage>#sec01b .top-about a{
		width: 30%;
	}

	#toppage>#sec01b .top-about a img{
		transition: transform .6s ease;	
	}
	#toppage>#sec01b .top-about a img:hover{
		transform: scale(1.1); 
	}
	#toppage>#sec01b .btn{
		background-color: #40220f;
		margin-top: 20px;
	}
	#toppage>#sec01b h5{
		text-align: center;
		background-color: #40220f;
		color: #fff;
		margin: -5px auto 20px;
		padding: 10px 0;
		letter-spacing: 1.5px;
	}
	#sec01b h4, #sec02 h4, #sec03 h4,#sec01b h4 span, #sec02 h4 span, #sec03 h4 span{
		font-size: 64px;
	}
	.lead-b{
		text-align: justify;
		margin: 30px auto;
		line-height: 2;
	}
	/*********************************************B*/




	/**********************************************************************top*/
	
	/**********************************************************************strong-support.html*/
	#st-support-top{
		background-image: url("../imges/support-mihirakiback3-mob.jpg");
	}


	#st-support-sec01>.con03>div{
		display: flex;
		flex-direction: column;
		margin-bottom: 30px;
	}
	#st-support-sec01>.st-mainimg{
		display: none;
	}

	#st-support-sec01>.con03>div>img{
		width: 80%;
		margin: 0 auto 10px;
	}
	#st-support-sec01>.con03>div>a{
		text-align: justify;
	}

	#st-support-sec01>.con03>div.st-con-yobou{
		align-items: flex-start;
	}
	#st-support-sec01>.con03>div.st-con-yobou>div{
		width: 100%;
		text-align: center;
	}
	#st-support-sec01>.con03>div.st-con-yobou>div>img, #st-support-sec01>.con03>div.yobou02>img {
		width: 50%;
		margin: 0 auto;
	}
	#st-support-sec01>.con03>div.st-con-yobou>div>img.with100{
		width: 100%;
	}
	#st-support-sec01>.con03>div.st-con-yobou>div>a{
		text-align: justify;
		margin-bottom: 30px;
	}
	#st-support-sec01>.con03>div.yobou02{
		text-align: center;
	}
	#st-support-sec01>.con03>div.yobou02>div>a{
		text-align: justify;
		margin-bottom: 30px;
	}
	#st-support-sec01>.con03>div.yobou02>div>img.sankaku{
		width: 30px;
		margin: 0 auto;
	}
	#st-support-sec01>.con03>div.yobou02>div>.minititle{
		text-align: center;
		font-size: 21px;
		color: #aa8950;
		font-weight: 500;
	}

	#st-support-sec02{
		width: 100%;
		padding: 5% 0;
		background-image: url("../imges/suport_seting07-black.jpg");
		background-repeat: no-repeat;
		background-size: cover;
	}
	#st-support-sec02>.con02>.title{
		color: #fff;
	}
	#st-support-sec02>.con02>div{
		background-color: rgba(255,255,255,0.80);
		padding: 5%;
	}
	#st-support-sec02>.con02>div>div{
		display: flex;
		flex-direction: column;
		margin-bottom: 30px;
	}

	#st-support-sec02>.con02>div>div>img{
		width: 100%;
	}
	#st-support-sec02>.con02>div>a{
		text-align: justify;
		font-size: 18px;
	}
	#st-support-sec02>.con02>div>a>span{
		font-size: 21px;
		color: #aa8950;
		font-weight: 600;
	}

	#st-support-sec03>.con02>div{
		width: 100%;
		margin: 0 auto 30px;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	#st-support-sec03>.con02>div>img{
		width: 80%;
		margin: 0 auto;
	}
	#st-support-sec03>.con02>div>div>.title{
		text-align: center;
		margin-bottom: 10px;
	}
	#st-support-sec03>.con02>div>div>.sec03-text{
		text-align: justify;
	}
	#st-support-sec03>.con02>div>div>.chusyaku{
		text-align: right;
	}
	#st-support-sec03>.con02>div.sec03-figures{
		width: 100%;
	}
	#st-support-sec03>.con02>div.sec03-figures>img{
		width: 100%;
		margin: 0;
	}
	#st-support-sec04>.con02{
		text-align: center;
	}
	#st-support-sec04>.con02>img{
		width: 100%;
		max-width: 880px;
		margin: 0 auto 30px;
	}


	/**********************************************************************+1protect.html*/

	#protect-top{
		background-image: url("../imges/+1-mihirakiback-mob.jpg");
	}
	#protect-top>.con02>h2, #protect-top>.con02>h3, #protect-top>.con02>a{
		color: #40220f;
	}
	#protect-top>.con02>h6{
		text-align: right;
	}
	.protect-big, .protect-big2{
		display: none;
	}

	#protect-sec01 p, #protect-sec02 p, #protect-sec03 p{
		height: auto;
		font-size: 32px;
		color: #fff;
		background-color: #40220f;
		padding: 10px 0;
		margin-bottom: 30px;
		text-align: center;
	}
	#protect-sec01 p span{
		font-size: 21px;
		color: #fff;
	}


	#protect-sec01>.con02{
		text-align: center;
	}

	#protect-sec01>.con02>a{
		font-size: 21px;
		line-height: 1.5;
		text-align: justify;
	}
	#protect-sec01>.con02>a.chusyaku{
		font-size: 14px;
		margin: 30px 0;
	}

	#protect-sec02>.con02>div{
		display: flex;
		flex-direction: column;
	}
	#protect-sec02>.con02>div>img{
		width: 100%;
		margin-right: 0;
	}
	#protect-sec02>.con02>div>div{
		text-align: center;
	}
	#protect-sec02>.con02>div>div>.subtitle{
		color: #aa8950;
		font-size: 24px;
	}

	#protect-sec02>.con02>div>div>.tokkyo{
		border-bottom: solid 1px #40220f;
		border-top: solid 1px #40220f;
		padding: 5px 0;
		margin: 10px 0;
		text-align: center;
	}
	#protect-sec02>.con02>div>div>.lead{
		text-align: justify;
	}

	#protect-sec02>.con02>.mini{
		font-size: 24px;
		margin: 50px 0 20px;
	}
	#protect-sec02>.con02>div>div{
		width: 100%;
		margin-bottom: 30px;
	}
	#protect-sec02>.con02>div>div>a{
		text-align: justify;
	}
	#protect-sec03>.con02>div{
		width: 100%;
		margin: 30px auto 50px;
	}
	#protect-sec03 img{
		width: 70%;
		margin: 0 auto;
	}
	#protect-sec03>.con02{
		text-align: center;
	}
	#protect-sec03>.con02 a{
		text-align: justify;
	}
	#protect-sec03>.con02>img{
		width: 100%;
		margin: 30px auto 50px;
	}


	
	
	
	/**********************************************************************INFOMATION*/
	#infomation #top{
		height: 400px;
	}
	#infomation #top h5{
		position: absolute;
		color: #fff;
		font-size: 36px;
		font-weight: 400;
		letter-spacing: 5px;
		top: 200px;
		left: calc(50vw - 133px);
		text-align: center;
	}
	#infomation #top>img{
		position: relative;
		left: 0;
	}

	#infomation .funbaru{
		display: none;
	}
	#infomation table{
		width: 100%;
		margin: 5% auto;
	}
	#infomation table tr{
		display: flex;
		flex-direction: column;
	}
	#infomation table tr td{
		width: 100%;
		padding: 10px;
		border-top: 1px solid #40220f;
	}
	#infomation table tr td:first-child{
		text-align: center;
		padding: 10px;
		vertical-align: middle;
		color: #fff;
		background-color: #40220f;
	}
	#infomation table tr:last-child td{
		border-bottom: 1px solid #40220f;
	}

	.map iframe{
		width: 100%;
		height: 300px;
	}

	/**********************************************************************INFOMATIONここまで*/
	/**********************************************************************result*/
	#result #top{
		height: 400px;
	}
	#result #top h5{
		position: absolute;
		color: #fff;
		font-size: 36px;
		font-weight: 400;
		letter-spacing: 5px;
		top: 200px;
		left: calc(50vw - 84px);
		text-align: center;
	}
	#result .con02>div{
		margin: 50px auto;
		text-align: center;
	}
	#result .con02>div a{
		margin: 0 auto 10px;
		text-align: justify;
	}
	#result .con02>div a.result-name{
		font-size: 21px;
		text-align: center;
	}
	#result .con02>div a.add{
		background: #40220f;
		color: #fff;
		padding: 3px 7px;
		display: inline-block;
		margin: 0 auto 30px;
	}
	#result .con01{
		padding-bottom: 0;
	}
	
	#result h3{
		background: #40220f;
		text-align: center;
		font-size: 24px;
		font-weight: 400;
		letter-spacing: 10px;
		color: #fff;
		padding: 10px 0;
		margin: 0 auto 30px; 
	}
	#result .con02>div>div{
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		align-items: flex-start;
	}
	#result .con02>div>div>img{
		width: 100%;
		margin-right: 3%;
		margin-bottom: 3%;
	}
	#result-sec04 .con02>div>div{
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		align-items: flex-start;
	}
	#result .con02>div>div.media>img{
		width: 100%;
		margin: 0 auto;
	}
	/**********************************************************************resultここまで*/
	/**********************************************************************recruit*/
	#recruit #top{
		height: 400px;
	}
	#recruit #top h5{
		position: absolute;
		color: #fff;
		font-size: 36px;
		font-weight: 400;
		letter-spacing: 5px;
		top: 200px;
		left: calc(50vw - 82px);
		text-align: center;
	}

	#recruit .con02{
		display: flex;
		flex-direction: column;
	}
	#recruit .con02>div{
		width: 100%;
	}

	#recruit .con02>div>p{
		background: #40220f;
		text-align: center;
		font-size: 24px;
		font-weight: 400;
		letter-spacing: 10px;
		color: #fff;
		padding: 10px 0;
		margin: 30px auto 20px; 
	}
	#recruit .con02>div>a{
		margin-bottom: 20px;
	}
	#recruit table{
		width: 100%;
	}
	#recruit table tr{
		display: flex;
		flex-direction: column;
	}
	#recruit table tr td{
		padding: 10px;
		border-top: none;
		text-align: center;
	}
	#recruit table tr td:first-child{
		text-align: center;
		padding-right: 20px;
		vertical-align: middle;
		background-color: rgba(64,34,15,0.50);
		color: #fff;
	}
	#recruit table tr:last-child td{
		border-bottom: none;
	}


	/**********************************************************************recruitここまで*/
	
	/**********************************************************************company*/
	#company-sec01 .con02 {
		width: 100%;
		margin: 0 auto;
	}
	#company-sec01 .con02 h1{
		font-size: 32px;
		font-weight: bold;
		text-align: left;
		margin-bottom: 10px;
	}
	#company-sec01 .con02 a{
		text-align: justify;
	}

	#company-sec01 .con02 h1 span{
		background: linear-gradient(transparent 70%, #fce521 70%);
	}
	.name{
		margin-top: 10px;
		margin-left: 0;
		z-index: 100;
	}
	.wakamatsu{
		width: 100%;
		position: relative;
		right: 0;
		top: 0;
		z-index: -10;
	}
	.company-con01{
		background: #e5dcca;
	}
	.company-con01>.company-con02{
		width: 100%;
		margin: 0 auto 50px;
		text-align: center;
		padding: 30px 5%;
	}
	.history{
		border-left: 2px solid #40220f;
		margin-top: 20px;
	}
	.company-con01>.company-con02 a{
		text-align: justify;
	}
	.company-con01>.company-con02 p{
		font-size: 24px;
		font-weight: bold;
		padding: 2px 10px;
		color: #fff;
		background: #40220f;
		margin-bottom: 10px;
	}
	.company-con02>div{
		display: flex;
		flex-direction: column;
		margin-bottom: 30px;
	}
	.company-con02>div.left{
		justify-content: flex-start;
	}
	.company-con02>div>img{
		height: 100%;
		width: 100%;
		margin-top: 5%;
	}
	.timeline{
		width: 880px;
		margin: 0 auto 30px;
	}

	.company-con01>.company-con02>.btn-com{
		color: #fff;
		background: #40220f;
		width: 300px;
		height: 50px;
		border-radius: 25px;
		margin: 0 auto;
		padding-top: 15px;
		text-align: center;
	}
	.company-con02>div.btns{
		flex-direction: column;
		align-items: center;
		gap: 20px;
	}
	.company-con02>div.btns>.btn-com{
		margin: 0;
	}
	/**********************************************************************companyここまで*/
	/**********************************************************************contact*/
		#contact #top {
			height: 400px;
		}
		#contact #top h5{
			position: absolute;
			color: #fff;
			font-size: 36px;
			font-weight: 400;
			letter-spacing: 5px;
			top: 200px;
			left: calc(50vw - 82px);
			text-align: center;
		}
		#contact-sec01>.con02>a{
			text-align: center;
			font-size: 18px;
		}

		#contact-sec01>.con02>iframe{
			width: 100%;
			height: 1600px;
		}

		/**********************************************************************contactここまで*/
	/**********************************************************************footer*/

	footer{
		padding: 20% 5%;
		position: relative;
		width: 100%;
		margin: 0 auto;
		text-align: center;
	}
	.footerback{
		width: 80vw;
		position: absolute;
		top: 10%;
		left: 10vw;
		z-index: -10;
		opacity: 0.3;
	}
	.rogo-footer{
		width: 200px;
		margin: 0 auto 30px;
	}

	.icons-footer{
		display: flex;
		justify-content: space-between;
		width: 120px;
		margin: 30px auto;
	}

	.icons-footer img{
		width: 30px;
	}
	.copryright{
		font-size: 10px;
	}
	/**********************************************************************footer*/
	
	
	
	.pc{
		display: none;
	}
}

