@charset "utf-8";
/* CSS Document */

/* 幕となるスプラッシュスクリーン */
.splash-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  /*background-image: linear-gradient( 178.8deg,  rgba(0,88,143,1) 13.8%, rgba(21,190,240,1) 95.4% );
  background-image: linear-gradient( 91.3deg,  rgba(135,174,220,1) 1.5%, rgba(255,255,255,1) 100.3% );
  background-image: linear-gradient( 89deg,  rgba(21,74,189,1) 0.1%, rgba(26,138,211,1) 51.5%, rgba(72,177,234,1) 100.2% );*/
  /*background-image: linear-gradient( 109.6deg,  rgba(204,228,247,1) 11.2%, rgba(237,246,250,1) 100.2% );*/
  background-image: linear-gradient( 180deg,  rgba(0,104,155,1) 19.8%, rgba(0,173,239,1) 92.1% );
  /*background-color: #F8F8F8;*/
  z-index: 9999;
  display: none; /* ★初期状態は非表示にする */
  justify-content: center;
}
/* 初回訪問時のみ付与されるクラス */
.splash-screen.is-active {
  display: flex; /* ★ここで初めて表示させる（!importantは不要になります） */
  animation: curtainUp 1s ease-in-out 2s forwards;
  animation-duration: 0.6s;
}

/* アニメーション */
@keyframes curtainUp {
  0% { transform: translateY(0); visibility: visible; }
  100% { transform: translateY(-110%); visibility: hidden; }
}
.fade-in-element {
  animation: fadeIn 1.5s ease-out forwards; /* 1.5秒かけてゆっくり出現 */
}

@keyframes fadeIn {
  0% {
    opacity: 0; /* 透明 */
    transform: translateY(20px); /* 少し下からフワッと上げる場合 */
  }
  100% {
    opacity: 1; /* 不透明 */
    transform: translateY(0); /* 元の位置 */
  }
}
/*Swiper*/
/* 等速ループを強制し、最後の写真の後のタイムラグを消す */
.swiper-container .swiper-wrapper {
  transition-timing-function: linear !important;
}

/* 画像の標準ドラッグがSwiperのドラッグを邪魔するのを防ぐ */
.swiper-container .swiper-slide img {
  -webkit-user-drag: none !important;
  user-drag: none !important;
  user-select: none !important;
}

/* マウスを乗せたときに「掴める」カーソルにする */
.swiper-container {
  cursor: grab;
}
.swiper-container:active {
  cursor: grabbing;
}

html{
    font-size:100%; /*ユーザー設定の文字サイズを正しく反映*/
	scroll-behavior: smooth;
	scroll-padding-top: 70px;
}
*{
    box-sizing:border-box; /*余白や線を幅や高さに含める*/
}
img{
    max-width:100%; /*画像が親要素からはみ出すのを防ぐ*/
    height:auto;
}

body {
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Noto Sans JP",
	"Yu Gothic Medium", "YuGothic", 
    sans-serif;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
p {
  margin: 1em;
}
a{
  text-decoration:none;
  color:#000;
}
ul,ol{
  line-height: 1.8;
  margin-left: -1em;
}
.br-sp {
  display: none !important;
}
.br-pc {
  display: block !important;
　margin-left: 1em;
}

#wrapper{
  width: 100%;
  height: auto;
  overflow: clip
}
/*スクロールバーを消す*/
/*.scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.scrollbar::-webkit-scrollbar {
    display: none;
}*/
body::-webkit-scrollbar {
    display:none;
	background-color:transparent;
}
.inner{
	width: 100%;
	background: #fff;
}
a img:hover {
   opacity: 0.8;
}

#header{
	position: sticky;
    top: 0;
	width: 100%;
	background-color: #fff;
	height: 70px;
	z-index: 2000;
	font-family: "Noto Sans JP", sans-serif;
	font-style: normal;
	font-weight: 500;
	font-size: 0.9em;
}
.header_inner{
	position: relative;
	max-width: 100%;
	margin: 0 auto;
}
.header_item{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.logo_box{
	width: 140px;
	margin: 15px;
	position: absolute;
	top: -8px;
	left: 15px;
}
.inq_btn{
	background-color: #fe7939;
	border-radius: 0px 0px 10px 10px;
	border: 2px solid #fe7939;
	text-align: center;
	color:#fff;
	position: absolute;
	top: 0;
	right: 300px;
	width: 180px;
	margin: -0.5em;
}
.inq_btn:hover {
  background: #F89463;
  border: 2px solid #F89463;
}
.recr_btn{
	background-color: #002f7b;
	border-radius: 0px 0px 10px 10px;
	border: 2px solid #002f7b;
	color:#fff;
	text-align: center;
	position: absolute;
	top: 0;
	right: 100px;
	width: 180px;
	margin: -0.5em;
}
.recr_btn:hover {
  background: #3B62A0;
  border: 2px solid #3B62A0;
}
.right01_btn{
	background-color: #61b7d8;
	border: 2px solid #61b7d8;
	color:#fff;
	text-align: center;
	position: absolute;
	top: 250px;
	right: 0;
	width: 70px;
	height: 220px;
	margin: -0.5em;
}
.right02_btn{
	background-color: #002f7b;
	border: 2px solid #002f7b;
	color:#fff;
	text-align: center;
	position: absolute;
	top: 470px;
	right: 0;
	width: 70px;
	height: 220px;
	margin: -0.5em;
}
.right01_btn p, .right02_btn p{
	font-family: "Special Gothic Condensed One", sans-serif;
	font-weight: 500;
	font-size: 2.4em;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	margin: 1.8em 0em 1.5em 0.2em;
}
.right01_btn:hover {
  background: #3995B8;
  border: 2px solid #3995B8;
}
.right02_btn:hover {
  background: #3B62A0;
  border: 2px solid #3B62A0;
}
.menu-wrapper {
  position: relative;
}

.menu-icon {
  width: 40px;
  height: 30px;
  position: fixed; /* ← fixedにして常に左上固定 */
  top: 15px;
  right: 15px;
  cursor: pointer;
  z-index: 3;
  display: inline-block;
}
.menu_box{
	background: #000;
	width: 70px;
	height: 70px;
	position: absolute;
	top:0;
	right:0;
}
.menu-icon span {
  display: block;
  height: 4px;
  margin: 6px 0;
  background: #9e9b9b;
  border-radius: 2px;
  transition: 0.4s;
}

/* ハンバーガーがXに変形 */
#menu-toggle:checked + .menu-icon span:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
}
#menu-toggle:checked + .menu-icon span:nth-child(2) {
  opacity: 0;
}
#menu-toggle:checked + .menu-icon span:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg);
}

/* オーバーレイ背景 */
.overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  opacity: 0;
  pointer-events: none;
  transition: 0.4s;
  z-index: 1;
}
/*.overlay{
  display:none;
}

.overlay.is-active{
  display:block;
}*/
#menu-toggle:checked ~ .overlay {
  opacity: 1;
  pointer-events: auto;
}

/* メニュー本体（右から出す） */
.menu {
  position: fixed;
  top: 0;
  right: -310px; /* ← 初期位置を左へ */
  width: 310px;
  height: 100%;
  background: #000;
  box-shadow: 2px 0 8px rgba(0,0,0,0.2);
  transition: right 0.4s ease;
  z-index: 2;
  overflow-y: auto;
}

#menu-toggle:checked ~ .menu {
  right: 0; /* ← 開いたときは左0へ */
}

.menu ul {
  list-style: none;
  padding: 5px 30px 6px 40px;
}

.menu li {
  margin: 3px 0;
}
.sub_menu{
  padding: 0px 18px !important;
}
.menu a {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 400;
  text-decoration: none;
  color: #fff;
  font-size: 1.0em;
  transition: color 0.3s;
}

.menu a:hover {
  color: #007bff;
}

#top_imgbox{
	width: 100%;
	background-color: red;
	margin: 0 auto;
}

/*TOP*/
/*パララックス*/
.parallax_box{
  width: 100%;
  margin: 0 auto;
}
.section-wrapper {
  position: relative;
}
.section-body {
  position: relative;
  padding-top: 0px;
  margin-top: 0px;
  width: 100%;
  height: 850px;
}
.bg-image-clip {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 850px;
  min-height: 350px;
  clip-path: inset(0); /* 切り抜き */
  z-index: -1;
}

.bg-image-fixed {
  position: fixed; /* 背景を固定 */
  top: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
}

#section01 {
  background-color: transparent;

  .bg-image-fixed {
    background-image: url("../img/common/ybc001.jpg");
  }
}
#section03 {
  background-color: transparent;

  .bg-image-fixed {
    background-image: url("../img/common/ybc002.jpg");
	background-position: top 0px left 0px;
  }
}
#section04 {
  background-color: transparent;

  .bg-image-fixed {
    background-image: url("../img/common/ybc003.jpg");
  }
}
#section05 {
  background-color: transparent;

  .bg-image-fixed {
    background-image: url("../img/common/ybc006.jpg");
  }
}
#section06 {
  background-color: transparent;

  .bg-image-fixed {
    background-image: url("../img/common/ybc007.jpg");
  }
}
#section07 {
  background-color: transparent;

  .bg-image-fixed {
  background-color: #f2f2f2;
  }
}
#section_sap {
  background-color: transparent;

  .bg-image-fixed {
    background-image: url("../img/common/ybc004.jpg");
	background-position: top -100px left 0px;
  }
}
#section_ict {
  background-color: transparent;

  .bg-image-fixed {
    background-image: url("../img/common/ybc005.jpg");
	background-position: top 0px left 0px;
  }
}
#section_ict2 {
  background-color: transparent;

  .bg-image-fixed {
    background-image: url("../img/common/ybc005.jpg");
	background-position: top 0px left 0px;
  }
}
#section_ybcsol {
  background-color: transparent;

  .bg-image-fixed {
    background-image: url("../img/common/ybc002.jpg");
	background-position: top 0px right 0px;
  }
}
#section_rec {
  background-color: transparent;

  .bg-image-fixed {
    background-image: url("../img/common/ybc007.jpg");
	background-position: top -100px right 0px;
  }
}
#section_value {
  background-color: transparent;

  .bg-image-fixed {
    background-image: url("../img/common/ybc008.jpg");
	background-position: top -30px right 0px;
  }
}
#section_const {
  background-color: transparent;

  .bg-image-fixed {
    background-image: url("../img/common/ybc002.jpg");
	background-position: top 0px right 0px;
  }
}
#section_sapsl {
  background-color: transparent;

  .bg-image-fixed {
    background-image: url("../img/common/ybc004.jpg");
	background-position: top 0px right 0px;
  }
}
#section_normal {
  background-color: transparent;

  .bg-image-fixed {
	background-color: #f2f2f2;
  }
}
#section_fellowback {
  background-color: transparent;

  .bg-image-fixed {
    background-image: url("../img/common/ybc009.jpg");
	background-position: top -130px right 100px;
  }
}
.badge{
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 500;
  font-size: 2em;
  color: #fff;
  background-color: #61b7d8;
  position: absolute;
  top: -100px;
  left: 0;
  height: 50px;
  width: 150px;
  border-radius: 0px 0px 10px 10px;
  text-align: center;
  padding-top: 0.3em;
}
.front_content{
  min-height: 850px;
  /*padding: 60px;
  background-color: #fff;*/
  background-color: transparent;
}
.front_content_info{
  min-height: 300px;
  /*padding: 60px;*/
  background-color: #67b0cb5c;
  /*background-color: transparent;*/
}
.front_content_access{
  min-height: 400px;
  /*padding: 60px;
  background-color: #fff;*/
  background-color: transparent;
  border-top: 1px solid #d8d2d2;
}

#section01{
  position: relative;
}
#section02{
  position: relative;
}
#section03{
  position: relative;
}
#section04{
  position: relative;
}
#section05{
  position: relative;
}
#section06{
  position: relative;
}
#section07{
  position: relative;
}
#section08{
  position: relative;
}
#section_sap{
  position: relative;
}
#section_ict{
  position: relative;
}
#section_ict2{
  position: relative;
}
#section_ybcsol{
  position: relative;
}
#section_rec{
  position: relative;
}
#section_value{
  position: relative;
}
#section_const{
  position: relative;
}
#section_sapsl{
  position: relative;
}
#section_normal{
  position: relative;
}
#section_fellowback{
  position: relative;
}
#section_fellow{
  position: relative;
  min-height: 550px;
  padding: 1em 0em;
}

.front_content_half02{
  min-height: 350px;
  background-image: url("../img/common/ybc001.jpg");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}
.front_content_half02::after{
  content: "";
  position: absolute;
  z-index: 2;
  width: 100%;
  height:100%;
  top: 0;
  left: 0;
  background-color: white;
  opacity: 0.4;
}
.concept_block_splash{
  position: absolute;
  max-width: 580px;
  margin: 0 auto;
  line-height: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
  color:#fff;
}
.concept_block01{
  position: absolute;
  max-width: 680px;
  margin: 0 auto;
  line-height: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
}
.concept_block02A{
  position: absolute;
  max-width: 680px;
  margin: 0 auto;
  line-height: 1;
  top: 24%;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
  z-index: 3;
}
.concept_block02B{
  position: absolute;
  max-width: 680px;
  margin: 0 auto;
  line-height: 1;
  top: 63%;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
  z-index: 4;
}
.concept_main{
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 500;
  font-size: 10em;
  margin-bottom: -0.1em;
  -webkit-text-stroke: 3px #000;
  color: #000; 
}
.concept_main span{
  -webkit-text-stroke: 3px #61b7d8;
  color: #61b7d8; 
}
.concept_main_splash{
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 500;
  font-size: 10em;
  margin-bottom: -0.1em;
  -webkit-text-stroke: 3px #fff;
  color: #fff; 
}
.concept_main_splash span{
  -webkit-text-stroke: 3px #fff;
  color: #fff; 
}
.concept_main03{
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 500;
  font-size: 10em;
  margin-bottom: -0.1em;
  line-height: 1;
  -webkit-text-stroke: 3px #000;
  color: #000; 
}
.concept_main05{
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 500;
  font-size: 10em;
  margin-bottom: -0.1em;
  line-height: 1;
  -webkit-text-stroke: 3px #61b7d8;
  color: #61b7d8;
}
.concept_profile{
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 500;
  font-size: 10em;
  -webkit-text-stroke: 3px #61b7d8;
  color: #61b7d8;
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 850px;
}

.concept_jprofile{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 0.85em;
  font-weight: 500;
  position: absolute;
  top: 100px;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 850px;
}
.second_concept{
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 500;
  font-size: 6em;
  text-align: center;
  min-width: 680px;
  position: absolute;
  top: -60px;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
}
.second_concept_j{
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: 2.5em;
  margin-bottom: -1.2em;
  position: absolute;
  top: -60px;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 680px;
  text-align: center;
}
.concept_sholder_splash{
  font-size: 0.88em;
  font-weight: 400;
  position: absolute;
  top: 10px;
  left: 345px;
  transform: translate(-50%, -50%);
  min-width: 680px;
}
.concept_sholder{
  font-size: 0.86em;
  font-weight: 400;
  position: absolute;
  top: 10px;
  left: 350px;
  transform: translate(-50%, -50%);
  min-width: 680px;
}
.concept_sholder02A{
  font-size: 0.87em;
  font-weight: 400;
  position: absolute;
  top: 10px;
  left: 350px;
  transform: translate(-50%, -50%);
  min-width: 680px;
}
.concept_j{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 0.9em;
  font-weight: 500;
  text-align: center;
  line-height: 1.4;
}
.concept_j02A{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 0.9em;
  font-weight: 500;
  text-align: center;
  line-height: 1.4;
}
.concept_j2{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 1.2em;
  font-weight: 500;
  position: absolute;
  top: 30px;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 680px;
  text-align: center;
}
.concept_j6 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 1.2em;
  font-weight: 500;
  min-width: 680px;
  text-align: center;
}
.concept_triangle{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 1.5em;
  font-weight: 500;
  text-align: center;
  color:#61b7d8;
  position: absolute;
  top: -150px;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
}
.ybc_color{
  color:#61b7d8;
}
.concept_fsize_l{
  font-size: 7em !important;
  -webkit-text-stroke: 3px #000;
}
.concept_fcolorB{
  color:#000 !important;
}
.concept_rec{
 font-size: 7em !important;
 line-height: 0.6 !important;
 margin-top: 0.1em;
}

.concept_detail{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 1.1em;
  line-height: 1.5;  min-width: 610px;
  position: absolute;
  top: 110px;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
}
.contents_link_btn {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.0em;
  font-weight: 600;	
  background-color: #fff;
  border-radius: 100px;
  border: 2px solid #61b7d8;
  text-align: center;
  color: #000;
  width: 300px;
  margin: 2em auto;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
  z-index: 5;
}
.contents_link_up_btn {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.0em;
  font-weight: 600;	
  background-color: #fff;
  border-radius: 100px;
  border: 2px solid #61b7d8;
  text-align: center;
  color: #000;
  width: 300px;
  margin: 2em auto;
  position: absolute;
  bottom: 14%;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
  z-index: 6;
}
.contents_link_btn:hover {
  background: #61b7d8;
  border: 2px solid #61b7d8;
  color:#fff;
}
.contents_link_up_btn:hover {
  background: #61b7d8;
  border: 2px solid #61b7d8;
  color:#fff;
}
.contents_innerlink_btn {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.0em;
  font-weight: 600;	
  background-color: #fff;
  border-radius: 100px;
  border: 2px solid #61b7d8;
  text-align: center;
  color: #000;
  width: 250px;
  margin: 1.5em auto;
  margin-bottom: 3em;
  padding: 0.5em;
}
.contents_innerlink_btn:hover {
  background: #61b7d8;
  border: 2px solid #61b7d8;
  color:#fff;
}
.concept_block03{
  position: absolute;
  width: 850px;
  text-align: center;
  margin: 0 auto;
  line-height: 1;
  top: 20%;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
}
.concept_j3A{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 0.85em;
  font-weight: 500;
  text-align: center;
  margin-top: 3em;
  line-height: 2;
}
.half_content{
  min-height: 500px;
  width: 100%;
  position: absolute;
  bottom: -30%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
  z-index: 1;
}
.mid_concept{
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 500;
  font-size: 5em;
  margin-bottom: -0.5em;
  position: relative;
  text-align: center;
  -webkit-text-stroke: 1px #61b7d8;
  color: #61b7d8; 
}
.mid_concept2{
  font-size:0.4em;
  line-height: 0.6;
}
.mid_concept2 span{
  font-size:2em;
}

.concept_block04{
  position: absolute;
  max-width: 850px;
  margin: 0 auto;
  line-height: 1;
  top: 22%;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
}
.front_content_back{
  min-height: 850px;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 1;
}
.box2_block{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  height: 500px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
}
.box2_contents_left{
  background-image: url("../img/common/ybc004.jpg");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 50%;
  position: relative;
}
.box2_contents_right{
  background-image: url("../img/common/ybc005.jpg");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 50%;
  position: relative;
}
.box2_concept{
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 500;
  font-size: 5em;
  color: #fff;
  line-height: 1.2;
  margin-bottom: -0.5em;
  position: absolute;
  top: 25%;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
  text-align: center;
}
.concept_block_service {
  position: absolute;
  width: 850px;
  margin: 0 auto;
  line-height: 1;
  top: 35%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.concept_block_service_2l {
  position: absolute;
  width: 850px;
  margin: 0 auto;
  line-height: 1;
  top: 35%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.box2_concept_service{
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 500;
  font-size: 5em;
  color: #fff;
	-webkit-text-stroke: 2px #fff;
  line-height: 1.2;
  margin-bottom: -0.5em;
  position: absolute;
  top: 15%;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
  text-align: center;
}
.concept_service {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 0.8em;
  font-weight: 500;
  position: absolute;
  top: 128px;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
}
.box2_concept2{
  font-size:0.25em;
  line-height: 0.6;
}
.box2_concept2 span{
  font-size:2em;
}
.concept_j4_line{
  width: 100%;
  height: 80px;
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
  background-color: #000;
  opacity: 0.6;
}
.concept_second_line {
  width: 100%;
  height: 50px;
  position: absolute;
  bottom: 3px;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
  opacity: 0.5;
}
.concept_j4{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 1.2em;
  font-weight: 500;
  color: #fff;
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
  text-align: left;
}
.concept_j5{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 1em;
  font-weight: 500;
  color: #fff;
  position: absolute;
  top: 52%;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
  text-align: left;
  max-width: 300px;
}
.txt_black{
  color:#000;
}
.l_logo_box{
  max-width: 300px;
  margin: 15px;
  /*position: absolute;
  top: 15%;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
  margin: 2em auto;
}
.lead_block{
  max-width: 600px;
  margin: 0 auto;
  line-height: 1;
}
.detail_txt{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 1.1em;
  line-height: 1.5;
}
.concept_fsize_M{
  font-size: 0.7em;
  line-height: 0.6
}
.concept_fsize_S{
  font-size: 0.5em;
  line-height: 0.5
}
/*サービス*/
.strong_point{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.box30 {
    margin: 1em 0.65em;
    background: #f1f1f1;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
	max-width: 160px;
}
.box30 .box-title {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
    font-size: 1.2em;
    background: #fe7939;
    padding: 4px;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.box30 p {
	font-weight: 600 !important;
	line-height: 1.6 !important;
    padding: 15px 20px;
    margin: 0;
}
.tuyomi{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 1.5em;
  font-weight: 600;
  background: #04327da6;
  padding: 4px;
  text-align: center;
  color: #fff;
  letter-spacing: 0.05em;	
  max-width: 400px;
  margin: 0 auto;
  border: 2px solid #fff;
  border-radius: 10px;
}
/*リクルート*/
.front_content_back_rec{
  min-height: 850px;
  /*background-color: transparent;*/
  /*background-image: url("../img/common/AdobeStock_307344761_Preview2.jpg");*/
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 1;
}
.one_third_content_bk{
  min-height: 300px;
  width: 100%;
  position: absolute;
  bottom: -18%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
  z-index: 2;
}
.one_third_content{
  /*min-height: 400px;*/
  width: 100%;
  position: absolute;
  bottom: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}
.box3_block{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 80%;
  height: 500px;
  position: absolute;
  top: 10%;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
}
.box3_contents_left{
  width: 50%;
  position: relative;
}
.box3_contents_right{
  width: 50%;
  position: relative;
}
.box3_concept{
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 500;
  font-size: 3.8em;
  color: #fff;
  line-height: 1.2;
  margin-bottom: -0.5em;
  position: absolute;
  top: 24%;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
  text-align: center;
  width: 100%;
}
.box3_concept2{
  font-size:0.25em;
  line-height: 0.6;
}
.box3_concept2 span{
  font-size:2em;
}
.box3_concept3{
  font-size: 1.4em !important;
}

.concept_general {
  font-size: 0.9em;
  text-align: center;
  line-height: 1.2;
  width: 850px;
  position: absolute;
  top: 180px;
  left: 50%;
  transform: translate(-50%, -50%);
}
/*FAQアコーディオン*/
.accordion-006 {
    width: 100%;
    margin-bottom: 7px;
    background-color: #f2f2f2;
    border-radius: 5px;
}

.accordion-006 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.accordion-006 summary::-webkit-details-marker {
    display: none;
}

.accordion-006 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #c2c2c2;
    border-right: 3px solid #c2c2c2;
    content: '';
    transition: transform .3s;
}

.accordion-006[open] summary::after {
    transform: rotate(225deg);
}

.accordion-006 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 2em 1.5em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion-006[open] p {
    transform: none;
    opacity: 1;
}
/*Fellow*/
.fellow_box{
  position: absolute;
  top:53%;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
  text-align: center;
  max-width: 100%;
  margin: 0 auto;
}
.fellow_box img{
  max-width: 250px;
}
.slider-container {
  display: flex;
  overflow: hidden;
}
.slider-wrapper {
  display: flex;
  animation: horizontal-animation 30s linear infinite;
}
.wrapper_swiper .swiper-container .swiper-wrapper {
    transition-timing-function: linear !important;
	max-width: 400px;
    width: 100%;
    margin:  0 auto;
}
.fe_name{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 1.2em;
  font-weight: 600;
  line-height: 1.5;
}
.fe_comment{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  max-width: 250px;
  font-size: 1.0em;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  margin: 0 auto;
}
.rec_link_box{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
}
.rec_link_btn {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.0em;
  font-weight: 600;	
  background-color: #fff;
  border-radius: 100px;
  border: 2px solid #61b7d8;
  text-align: center;
  color: #000;
  width: 300px;
  margin: 0.3em;
}
.rec_link_btn:hover {
  background: #61b7d8;
  border: 2px solid #61b7d8;
  color:#fff;
}

.voiceicon {
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 400;
  font-size: 1.0em !important;
  color: #fff;
  margin-left: 1em;
  line-height: 1.2;
  width: 40px !important;
  height: auto;
  border-radius: 5px;
  background: #fe7939;
  display: inline-block;
  text-align: center;
  letter-spacing: 0em !important;
  padding: 0.1em 0em 0.1em 0em;
  margin: 0.1em 0.5em;
}
.fellow_main{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: -1em;
}
.fellow_left{
  max-width: 300px;
  margin: 1em auto;
}
.fellow_right{
  max-width: 600px;
  margin: 1em;
}
.job_question{
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3em;
  font-weight: 600;	
  color: #002f7b;
  line-height: 1.5;
  padding: 1em 0em 1em 0em;
}
.job_question::before{
  content: "Q.";
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 400;
  font-size: 1.8em;
  margin-right: 0.2em;
}
.job_section{
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.0em;
  font-weight: 600;	
  color: #002f7b;
  line-height: 1.5;
  padding: 0.5em;
}
.job_name{
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 600;
  font-size: 1.5em;
  text-align: center;
  border: 1px solid #000;
  border-radius: 100px;
  margin: 0 auto;
}
.job_name span{
  font-size:0.8em;
}
.fellow_leftimg{
  font-size:0.7em;	  
  text-align: center;
}
.fellow_name{
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 600;
  font-size: 2.5em;
  text-align: center;
  color:orangered;
}
.fellow_name span{
  font-size:0.8em;
}
.fellow_etc_box{
  position: absolute;
  top:58%;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
  text-align: center;
  max-width: 100%;
  margin: 0 auto;
}
.fellow_another{
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 600;
  font-size: 3.0em;
  text-align: center;
  color:#61b7d8;
}
.fellow_voiceicon {
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 400;
  font-size: 3em !important;
  color: #fff;
  line-height: 0.9;
  width: 150px !important;
  height: auto;
  border-radius: 5px;
  background: #fe7939;
  display: inline-block;
  text-align: center;
  letter-spacing: 0em !important;
  padding: 0.1em 0em 0.1em 0em;
  margin: -0.5em 0em 0.5em 0em;
}
/*Infomation*/
.info_block{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
  padding: 2em;
}
.info_title{
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 500;
  font-size: 4em;
  text-align: center;
  color: #fff;
  margin: 0 0.5em;
}
.info_list{
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.5;
  max-width: 700px;
  margin-top: -0.5em;
}
.info_list ul{
  list-style: none;
  line-height: 1.2;
}
.info_date{
  color:#002f7b;
}
.info_txt{
  padding-left: 5em;
  margin-top: -1.2em;
}
.info_txt a{
	text-decoration: underline;
}
.info_badge{
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9em;
  font-weight: 500;
  line-height: 1.2;
  max-width: 320px;
  position: absolute;
  bottom: 5%;
  right: 8%;
  background-color: transparent;
  padding: 0.5em;
  border-radius: 0px 0px 0px 0px;
  border-style: solid;
  border-width: 1px 0px 1px 0px;
  border-color: #61b7d8;
}
.info_badge span{
  font-size: 0.85em;
}
.info_badge_ttl{
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 500;
  font-size: 1.5em;
  color: #61b7d8;
}
/*Access*/
.access_block{
  width: 100%;
  /*background-color: #E4EFF4;*/
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 1em;
  margin-top: 4em;
}
.access_left{
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 500;
  font-size: 5em;
  text-align: center;
  max-width: 250px;
  margin: 0 0.5em;
  -webkit-text-stroke: 3px #000;
  color: #000;
}
.access_left img{
  max-width: 200px;
  text-align: center;
}
.access_map{
  max-width: 420px;
}
.access_right{
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9em;
  font-weight: 500;
  line-height: 1.5;
  max-width: 510px;
  margin: 0 2em;
}
.access_right img{
  max-width: 200px;
}
/*パンくずリスト*/
#pankuzu{
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.95em;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0.02em;
  padding: 1.5em;
  line-height: 1.5;
}
#pankuzu span{
  color:#9C9FA3;
  font-weight: 400;
}
#pankuzu a:hover{
  text-decoration: underline;
  color:#2a6ba4;
}
/*本文*/

.contents{
  max-width:1080px;
  margin: 0 auto;
  background: #fff;
  padding: 2em 3em;
  padding: 2em 3em 3em 3em;
}
.contents p{
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1em;
  font-weight: 400;
  font-style: normal;
  line-height: 2;
}

.contents h2{
  margin: 0 auto;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-size: 1.7em;
  color: #002f7b;
  font-style: normal;
  text-align: center;
  padding: 0.5em;
  line-height: 1.3;
}
.contents h2::after {
  content: "";
  display: block;
  width: 60px;
  height: 4px;
  background: linear-gradient(to right, #717c80 0%, #717c80 33.33%, #61b7d9 33.34%, #61b7d9 66.66%, #ff7230 66.67%);
  margin: 0.4em auto;
}
.contents h3{
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4em;
  font-weight: 600;
  font-style: normal;
  text-align: center;
  line-height: 1.5;
  margin-top: 1.8em;
}
.section-wrapper_pagetop {
  padding-bottom: 4em;
}
.section-body_pagetop {
  position: relative;
  padding-top: 0px;
  margin-top: 0px;
  width: 100%;
  height: 280px;
}
.bg-image-clip_pagetop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 280px;
  clip-path: inset(0);
  z-index: -1;
}
.bg-image-clip_block {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  clip-path: inset(0);
  z-index: -1;
}
.concept_block_positionA{
  top:45%;
}
.concept_block_positionB{
  top:75%;
}
.concept_block_position_general{
  top:30%;
}
.half_content_pagetop {
  min-height: 50px;
  width: 100%;
  position: absolute;
  bottom: -30%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
  z-index: 1;
  text-align: center;
}
table {
  border-collapse: collapse;
  margin-bottom: 1em;
}
.chart_narrow {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1em;
  font-weight: 400;
  text-align: left !important;
  max-width: 1080px;
  margin: 2em auto;
}
.chart_narrow th {
  text-align: left;
  background-color: #b3c8de;
  padding: 0.5em;
  border: 1px #cccccc solid;
  font-weight: initial;
}
table td {
  padding: 0.5em;
  border: 1px #cccccc solid;
  height: 25px;
  background: #f7f7f7;
  word-break : break-all;
}
table tr:nth-child(odd) td {
  background: #fff;
}
.th_center{
  text-align: center !important;
}
.th_6{
  width: 6%;
}
.th_10{
  width: 10%;
}
.th_15{
  width: 15%;
}
.th_20{
  width: 20%;
}
.th_22{
  width: 22%;
}
.th_25{
  width: 25%;
}
.th_28{
  width: 28%;
}
.th_30{
  width: 30%;
}
.th_35{
  width: 35%;
}
.th_40{
  width: 40%;
}
.th_50{
  width: 50%;
}
.th_80{
  width: 80%;
}
/*自動2コラムリスト*/
.list-2col {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: disc;
  line-height: 1;
}
.list-2col li {
  width: 50%; /* 2列にするため幅を50%にする */
  box-sizing: border-box; /* パディングを含めて50%にする */
  padding: 8px;
}

/*evolution*/
.three_block{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1em;
  font-weight: 400;
  margin: 2em 0em;
}
.value_box{
  max-width: 310px;
  border: 2px solid #fff;
  border-radius: 10px;
  padding: 1em;
  background-color: #fff;
  text-align: center;
  margin: 0.5em auto;
}
.twe_block{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1em;
  font-weight: 400;
  margin: 2em 0em;
}
.spoint_box{
  max-width: 440px;
  border: 2px solid #61b7d8;
  border-radius: 10px;
  padding: 1em;
  background-color: #fff;
  text-align: center;
  margin: 0.5em auto;
}
.spoint_box_none{
  padding: 1em;
  border: none !important;
  background-color: transparent;
  text-align: center;
  margin: 0.5em auto;
}
.spoint_arrow {
  position: relative;
  display: inline-block;
  width: 37.7px;
  height: 67.4px;
  top:45%;
}

.spoint_arrow::before,
.spoint_arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 4px);
  right: 0;
  width: 50px;
  height: 8px;
  border-radius: 9999px;
  background-color: #2192ab;
  transform-origin: calc(100% - 4px) 50%;
}

.spoint_arrow::before {
  transform: rotate(45deg);
}

.spoint_arrow::after {
  transform: rotate(-45deg);
}
.spointdw_arrow {
  position: relative;
  display: inline-block;
  width: 67.4px;
  height: 37.7px;
}

.spointdw_arrow::before,
.spointdw_arrow::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% - 4px);
  width: 8px;
  height: 50px;
  border-radius: 9999px;
  background-color: #2192ab;
  transform-origin: 50% calc(100% - 4px);
}

.spointdw_arrow::before {
  transform: rotate(45deg);
}

.spointdw_arrow::after {
  transform: rotate(-45deg);
}
.value_box_ttl{
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 500;
  font-size: 3.5em;
  text-align: center;
  color: #61b7d8;
}
.sub_evo_concept{
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 500;
  font-size: 6.5em;
  line-height: 0.9;
  text-align: center;
  color: #fff;
  -webkit-text-stroke: 3px #fff;
  padding-bottom: 0.2em;
}
.sub_concept{
  font-family: "Special Gothic Condensed One", sans-serif;
  font-weight: 500;
  font-size: 8em;
  line-height: 0.9;
  text-align: center;
  color: #002f7b;
  -webkit-text-stroke: 3px #002f7b;
  padding-bottom: 0.5em;
}
.sub_sub_concept{
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 2em;
  line-height: 0.2;
  text-align: center;
  color: #000;
  margin-bottom: 2em;
  margin-top: -1em;
}
.sub_concept_jt{
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-align: center;
  font-size: 1.25em;
  width: 350px;
  background: #fff;
  border-radius: 100px;
  border:2px solid #fff;
  padding-bottom: 0.1em;
  margin: 0em auto;
}
.value_box_subttl{
  font-weight: 500;
  font-size: 0.8em;
  line-height: 0.8;
}
.value_box_txt{
  font-weight: 400;
  margin-bottom: 1em;
  text-align: left;
}
.twe_block{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1em;
  font-weight: 400;
}
.twe_box{
  max-width: 600px;
  border-radius: 10px;
  text-align: center;
  margin: 0.5em;
}
.value_link_btn {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.0em;
  font-weight: 600;
  background-color: #fff;
  border-radius: 100px;
  border: 2px solid #61b7d8;
  text-align: center;
  color: #000;
  width: 300px;
  margin: 2em auto;
}
.value_link_btn:hover {
  background: #61b7d8;
  border: 2px solid #61b7d8;
  color:#fff;
}
/*educetion*/
.education_box{
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3em;
  font-weight: 600;
  background-color: #fff;
  border-radius: 10px;
  border: 3px solid #61b7d8;
  padding: 1em;
  color: #000;
  margin: 0 auto;
}

.list_check {
    padding: 0px;
    margin: 0px;
    list-style: none;
}

.list_check > li {
    position: relative;
    padding: 0px 0px 0px 2em;
    margin: 0px;
    font-size: 18px;
}
.list_check > li::before,
.list_check > li::after {
    position: absolute;
    top: 50%;
    height: 1em;
    content: "";
}
.list_check > li::before {
    left: 0px;
    transform: translateY(-50%);
    width: 1em;
    border: 1px solid #3388dd;
}
.list_check > li::after {
    left: 0.5em;
    transform: translateY(-75%) rotate(45deg);
    width: 0.5em;
    border-bottom: 3px solid #3388dd;
    border-right: 3px solid #3388dd;
}

.list_check > li + li {
    margin: 1em 0px 0px;
}
/*フッター*/
#footer{
	width: 100%;
	height: auto;
	background: #000;
	margin-top: 3em;
}
.footer_inner{
	width: 100%;
	margin: 0 auto;
	padding-top: 2em;
}

.footer_menu{
    width: 100%;
	display: flex;
	flex-flow: wrap;
    justify-content: space-around;
	color:#fff;
}
.footer_big_menu{
	font-family: "Special Gothic Condensed One", sans-serif;
	font-size:1.5em;
	font-weight: 400;
	font-style: normal;
	height: auto;
	padding-bottom: 1.5em;
}
.footer_big_menu ul{
	margin: 0.2em 1em 0.5em -1em;
}
.footer_big_menu li{
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.6em;
	line-height: 1.2;
	color:#fff;
	font-weight: normal;
    width: 100%;
}
.footer_big_menu a{
	color:#fff;
}
.footer_big_menu a:hover{
	text-decoration: underline;
}

.footer_sub_menu{
  font-size: 1.5em;
  list-style: none;
}


.sitemap_menu{
  max-width: 680px;
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
  color: #000;
  margin: 3em auto;
}
.sitemap_big_menu{
	font-family: "Special Gothic Condensed One", sans-serif;
	font-size:1.5em;
	font-weight: 400;
	font-style: normal;
	height: auto;
	padding-bottom: 1.5em;
	width: 50%;
}
.sitemap_big_menu ul{
	margin: 0.2em 1em 0.5em -1em;
}
.sitemap_big_menu li{
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.6em;
	line-height: 1.2;
	color:#000;
	font-weight: normal;
    width: 100%;
}
.sitemap_big_menu a{
	color:#000;
}
.sitemap_big_menu a:hover{
	text-decoration: underline;
}

.sitemap_sub_menu{
  font-size: 1.5em;
  list-style: none;
}


.ybc_copyright{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	background: #002f7b;
	margin: 0 auto;
	padding: 1.5em 5.5em 1.5em 1.5em;
}
.ybc_copyright div{
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9em;
  font-weight: 400;
  line-height: 1.5;
  color: #fff;
}
.ybc_copyright div span{
  margin-left: 2em;
}
.ybc_copyright a{
  color: #fff;
}
.ybc_copyright a:hover{
  text-decoration: underline;
}
.mgtop_mainasu_one{
  margin-top: -1em;
}
.mgtop_mainasu_twe{
  margin-top: -2em;
}
#page_top{
  width: 60px;
  height: 60px;
  position: fixed;
  right: 12px;
  bottom: 12px;
  z-index: 2000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
/* スクロール時に付与されるクラス（出現用） */
#page_top.is-show {
  opacity: 1;
  visibility: visible;
}
#page_top a{
  position: relative;
  display: block;
  width: 60px;
  height: 60px;
  text-decoration: none;
}

#page_dwn{
  width: 60px;
  height: 60px;
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 2000;
}
#page_top a{
  position: relative;
  display: block;
  width: 60px;
  height: 60px;
  text-decoration: none;
}
.forSP{
 display: none;
}
.forPCT{
 display: block;
}
/*タブレット*/
@media screen and (min-width:680px) and (max-width:1024px) {
	
.forSP{
 display: none;
}
.forPCT{
 display: block;
}
.contents{
  padding: 2em 4.1em 2em 3em;
}
.br-sp {
  display: none!important;
}	
.br-pc {
  display: none !important;
}
.logo_box{
  width: 160px;
  margin-left: 5px;
}
.concept_main {
  font-size: 6.5em;
  text-align: center;
}
.concept_main03{
  font-size: 8em;
  margin-bottom: -0.1em;
  line-height: 0.8;
}
.concept_sholder {
  font-size: 0.75em;
  margin-bottom: -0.5em;
}
.concept_sholder_splash {	
  top: 0;
  left: 350px;
  font-size: 0.6em;
}
.splash-screen p{
  font-size: 1.0em;
}
.second_concept {
  font-size: 5.5em;
}
.concept_sholder{
  font-size: 0.53em;
  top: 0px;
  left: 350px;
}
.concept_sholder02A{
  font-size: 0.53em;
  top: 0px;
  left: 350px;
}
.concept_fsize_S {
  font-size: 0.4em;
  line-height: 0.75;
}
.concept_j {
  font-size: 0.8em;
}
.concept_j3 {
  font-size: 0.8em;
}
.concept_fsize_M {
  font-size: 0.6em;
}
.box2_concept {
  font-size: 3.2em;
}
.box3_concept {
  font-size: 3.0em;
}
.concept_main05{
  font-size: 8.5em;
  margin-bottom: 0em;
  line-height: 0.7;
  text-align: center;
}
.rec_link_box{
  bottom: -6%;
}
.concept_j5 {
  width: 250px;
}
.info_block {
  width: 600px;
}
.mgtop_mainasu_one{
  margin-top: -1.8em
 }
.fellow_box {
  top: 48%;
  left: 50%;
}
.access_right {
  margin: 2em;
}
.footer_menu {
  padding: 1.5em;
}
#section01 {
 .bg-image-fixed {
  background-position: top left 55%;
  }
}
#section03 {
 .bg-image-fixed {
  background-position: 30%;
  }
}
#section04 {
 .bg-image-fixed {
  background-position: 30%;
  }
}
#section05 {
 .bg-image-fixed {
  background-position: top left 40%;
  }
}
#section06 {
 .bg-image-fixed {
  background-position: top 200px right 0px;
  background-repeat: no-repeat;
  }
}
.box2_concept_service {
  font-size: 4em;
  line-height: 1.2;
  margin-bottom: -0.5em;
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
.concept_service {
  font-size: 0.65em;
  position: absolute;
  top: 100px;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
}
.badge{
  left: 40px;
}
.concept_second_line {
  bottom: 30px;
}
.spoint_box {
 max-width: 280px;		
}
.box30 {
  max-width: 290px;
}
.concept_jprofile {
  top: 72px;
}
.concept_general {
  top: 150px;
}
}

@media screen and (max-width: 680px) {

.parallax-window {
    min-height: 850px;
    background: transparent;
}
.forSP{
 display: block !important;
}
.forPCT{
 display: none !important;
}
#header{
  height: 72px;
}
.br-sp {
  display: block !important;
}
.br-pc {
  display: none !important;
}
.logo_box{
  width: 170px;
  margin-left: 0px;
}
.inq_btn{
  display: none;
}
.recr_btn{
  display: none;
}
.right01_btn{
  display: none;
}
.right02_btn{
  display: none;
}
.rec_link_box{
  bottom: -10%;
}
.concept_block01 {
  min-width: 350px;
}
.concept_block_splash{
  width: 100%;
}
.concept_sholder_splash {	
  top: 0;
  left: 360px;
  font-size: 0.6em;
}
.concept_sholder {
  font-size: 0.6em;
  margin-bottom: -0.5em;
}
.concept_main {
  font-size: 6.5em;
  margin-bottom: -0.1em;
  text-align: center;
}
.concept_main03 {
    font-size: 6.5em;
    text-align: center;
    line-height: 0.5;
	width: 680px;
}
.concept_fsize_S {
    font-size: 0.45em;
    line-height: 0.9;
}
.concept_sholder{
  font-size: 0.58em;
  top: 0px;
  left: 101%;
}
.concept_sholder02A{
  font-size: 0.58em;
  top: 0px;
  left: 95%;
}
.concept_block02A {
  width: 100%;
  left: 50%;
}
.second_concept {
  font-size: 3.5em;
  width: 680px;
  top: -90px;
}
.second_concept_j {
  font-size: 2.0em;
  top: -94px;
}
.concept_j2{
  font-size: 1.0em;
  top: -10px;
  min-width: 350px;
  line-height: 1.2;
}
.concept_detail {
  min-width: 350px;
  top: 100px;
}
.concept_j3A {
  font-size: 0.6em;
  text-align: center;
  line-height: 1.2;
  width: 350px;
  margin: 2em auto;
  position: absolute;
  top: 150px;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
}
.concept_j6 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 1.2em;
  font-weight: 500;
  min-width: 350px;
  text-align: center;
  margin: 0 auto;
  line-height: 1.2;
}
.concept_block03 {
  width: 680px;
}
.concept_j {
  font-size: 0.7em;
  text-align: center;
  line-height: 1.2;
  width: 350px;
  margin: 2em auto;
}
.box2_concept {
  font-size: 3em;
  line-height: 1.1;
  top: 22%;
  left: 50%;
}
.concept_j4 {
  font-size: 1em;
  top: 58%;
  left: 50%;
  width: 350px;
}
.concept_j4_line {
  height: 50px;
  top: 58%;
}
.box2_contents_left {
  width: 100%;
}
.box2_contents_right {
  width: 100%;
}

.box3_contents_left {
  width: 100%;
}
.box3_contents_right {
  width: 100%;
}
.one_third_content_bk {
  background-color: transparent;
}
.box3_concept {
  font-size: 1.7em;
  top: -20%;
  color: #000;
}
 .concept_j3 {
    font-size: 0.6em;
    text-align: center;
    line-height: 1.2;
    width: 350px;
    margin: 2em auto;
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translate(-50%, -50%);
 }
.box2_concept_service {
  font-size: 3.5em;
  line-height: 1.0;
  margin-bottom: -0.5em;
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
 .concept_service {
    font-size: 0.6em;
    text-align: center;
    line-height: 1.2;
    width: 350px;
    margin: 2em auto;
    position: absolute;
    top: 60px;
    left: 50%;
    transform: translate(-50%, -50%);
 }
.concept_j5 {
  top: 0%;
  width: 350px;
}
.contents_link_btn_SP {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.0em;
  font-weight: 600;	
  background-color: #fff;
  border-radius: 100px;
  border: 2px solid #61b7d8;
  text-align: center;
  color: #000;
  width: 300px;
  margin: 2em auto;
  position: absolute;
  bottom: -50px;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
  z-index: 5;
}
.contents_link_btn_SP2 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.0em;
  font-weight: 600;	
  background-color: #fff;
  border-radius: 100px;
  border: 2px solid #61b7d8;
  text-align: center;
  color: #000;
  width: 300px;
  margin: 2em auto;
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translate(-50%, -50%); /* 自身の半分だけ位置を戻す */
  z-index: 5;
}
.contents_link_up_btn {
  bottom: 38%;
}
.concept_main05{
  font-size: 5.5em;
  margin-bottom: 0.9em;
  line-height: 0.6;
  text-align: center;
}
.detail_txt {
  width: 350px;
  margin: 0 auto;
}
.mgtop_mainasu_one {
  margin-top: -1.8em;
}
.mgtop_mainasu_twe {
  margin-top: -2em !important;
}
.fellow_box {
  top: 45%;
}
.info_list {
  font-size: 0.9em;
}
.info_txt {
  width: 300px;
}
.access_block {
  margin-top: 1em;
}
.access_map {
  margin: 3em;
}
.footer_big_menu {
  padding-bottom: 0em;
  margin: 1em;
}
.ybc_copyright div {
  margin: 0.3em;
}

#section01 {
 .bg-image-fixed {
  background-position: top -80px left -250px;
  }
}
#section03 {
 .bg-image-fixed {
  background-position: 30%;
  }
}
#section04 {
 .bg-image-fixed {
  background-position: top 320px left -500px;
  }
}
#section05 {
 .bg-image-fixed {
  background-position: top left 40%;
  }
}
#section06 {	
 .bg-image-fixed {
  background-position: top 200px right -300px;
  background-repeat: no-repeat;
  }
}
#section_rec {	
 .bg-image-fixed {
    background-position: top -100px right -400px;
  }
}
.splash-screen p{
  font-size: 1.0em;
}
.contents {
  padding: 2em 1.5em;
  /*margin-top: -3em;*/
}
.list-2col li {
  width: 100%;
}
.sitemap_big_menu{
    width: 100%;
}
.concept_fsize_l{
  font-size: 5em !important;
  margin-top: 0.25em;
}
.concept_rec{
  font-size: 5em !important;
  top: -10px;
  line-height: 0.5 !important;
  color: #fff;
  -webkit-text-stroke: 2px #fff;
}
.badge{
  font-size: 1.5em;
  position: absolute;
  top: -100px;
  left: 230px;
  height: 40px;
  width: 100px;
  padding-top: 0.4em;
}
.concept_second_line {
  bottom: 52px;
}
.twe_box {
  margin: -1em;
}
.sub_concept {
  font-size: 5.5em;
}
.value_box {
  max-width: 350px;
}
.box30 {
  max-width: 300px;
}
.concept_block_service_2l {
  top: 31.5%;
}
.contents h2 {
  margin-bottom: -0.5em;
}
.concept_profile {
  font-size: 5.5em;
  top: -50px;
}
.concept_jprofile {
  font-size: 0.6em;
  top: 50px;
}
.contents_link_btn {
  bottom: 25px;
}
.concept_block_position_general {
  top: 50%;
}
.concept_general {
  font-size: 0.8em;
  top: 100px;
}
.three_block {
  justify-content: center;
}
}