@charset "UTF-8";
/*
Theme Name: 飯田設計・中日エンジニアリング
*/

/*-----------------------------------------
default
-----------------------------------------*/
*{ margin:0; padding:0; }

html{
	/*-----------------------------------------
	ゴシック主体の場合
	-----------------------------------------*/
	font-family: -apple-system, BlinkMacSystemFont, "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	color:#343538;
	letter-spacing:1px;
	font-size:18px;
}
[id] {
	scroll-behavior: smooth;
	scroll-margin-top: 86px;
}
a{
	transition:0.1s linear all;	
	color:#343538;
	text-decoration:none;
}
a:hover{
	opacity: 0.8;	
}
li{
	list-style-type:none;	
}
p,th,td,li,dt,dd{
	line-height:1.8em;	
}
img{
	border:none !important;	
}

.noto {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.outfit {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.zenmaru {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.white {color: #fff;}
.black {color: #343538;}
.blue {color: #4A70AB;}
.green {color: #8FBA4A;}
.gray {color: #9A9A9A;}

.left {text-align: left;}
.center {text-align: center;}
.right {text-align: right;}

.regular {font-weight: 400;}
.medium {font-weight: 500;}
.mediumbold {font-weight: 600;}
.bold {font-weight: 700;}
.semibold {font-weight: 800;}
.wblack {font-weight: 900;}

.size10 {font-size: 10px;}
.size12 {font-size: 12px;}
.size14 {font-size: 14px;}
.size16 {font-size: 16px;}
.size18 {font-size: 18px;}
.size21 {font-size: 21px;}
.size24 {font-size: 24px;}
.size26 {font-size: 26px;}
.size28 {font-size: 28px;}
.size32 {font-size: 32px;}
.size34 {font-size: 34px;}
.size40 {font-size: 40px;}
.size48 {font-size: 48px;}
.size52 {font-size: 52px;}
.size64 {font-size: 64px;}
.size68_5 {font-size: 68.5px;}
.size80 {font-size: 80px;}
.size100 {font-size: 100px;}
.size176 {font-size: 176px;}
.size185 {font-size: 185px;}

.transparent12 {opacity: 0.12;}
.transparent24 {opacity: 0.24;}

.sp{ display: none;}
.pc { display: block;}

/*-----------------------------------------
wrapper
-----------------------------------------*/
.wrapper{
    width:100%;
    height:auto;
    background-color: #fff; /* 基本の背景色 */
    background-image: repeating-linear-gradient(
      to right,           /* 横方向に線を引く */
      rgba(0, 0, 0, 0.03), /* 線の色：黒3% */
      rgba(0, 0, 0, 0.03) 1px, /* 線の幅：1px */
      transparent 1px,      /* 線の後は透明 */
      transparent 240px     /* 1本ごとの間隔：240px */
    );
}

/*-----------------------------------------
header
-----------------------------------------*/
header {
    padding: 10px 40px;
    background: rgba(255, 255, 255, 0.5); /* 白50% */
    backdrop-filter: blur(11px); /* 背景をぼかす */
    -webkit-backdrop-filter: blur(11px); /* Safari対応 */
    position: fixed;
    width: 100%;
    box-sizing: border-box;
    z-index: 9999;
}
header .header_inner {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: space-between;
}
header .header_inner h1 {
    width: 100%
}
header .header_inner .logo a{
    display: flex;
    align-items: flex-end;
    gap: 6px 18px;
}
header .header_inner .logo img {
}
header .header_inner .logo div{
    line-height: 0.8;
}
header .header_inner nav{
}
header .header_inner nav ul{
    display: flex;
    justify-content: flex-end;
    gap: 6px 32px;
}
header .header_inner nav ul li{
}
header .header_inner nav ul li.contact{
}
header .header_inner nav ul li a{
    font-size: 16px;
    font-weight: 700;
}
header .header_inner nav ul li.contact a{
    padding: 10px 18px;
    background: #8fba4a;
    border-radius: 22px;
    color: #fff;
}

.wrapper header .header_inner .header_btn {
		width: 56px;
		z-index: 9999;
		height: 56px;
		cursor: pointer;
		position: absolute;
		right: 0;
		top: 0;
	}
	.menu__line {
		background: #4A70AB;
		display: block;
		height: 3px;
		width: 26px;
		position: absolute;
		transition: .5s ease-in-out;
		left: 14px;
	}
	.menu__line--top{
		top: 18px;
	}
	.menu__line--center {
		top: 28px;
	}
	.menu__line--bottom {
        top: 38px;
	}
	.menu__line--top.active {
		top: 28px;
        transform: rotate(45deg);
	}
	.menu__line--center.active {
		width: 0;
	}
	.menu__line--bottom.active {
		top: 28px;
		transform: rotate(135deg);
	}

/*-----------------------------------------
gnav
-----------------------------------------*/

/*-----------------------------------------
footer
-----------------------------------------*/

/*-----------------------------------------
common
-----------------------------------------*/
h2 {
	position: relative;
	padding-left: 28px;
}
h2::before,
h2::after {
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	position: absolute;
	left: 0;
}
h2::before {
	background: #8FBA4A;
	bottom:calc(50% - 2px);
}
h2::after {
	background: #4A70AB;
	top: calc(50% - 2px);
}

.btn {
	margin-top: 30px;
}
.btn a {
	background: #8FBA4A;
    padding: 16px 24px;
    border-radius: 30px;
    display: inline-flex;
    align-items: center;
    color: #fff;
    font-weight: 700;
}
.btn a:after {
	content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url(images/common/icon_arrow_g.svg) center center no-repeat #fff;
    border-radius: 50%;
    margin-left: 30px;
	transition: 0.1s linear all;
}
.btn a:hover:after {
	margin-left: 35px;
	margin-right: -5px;
}
.btn.blue a {
	background: #4A70AB;
}
.btn.blue a:after {
    background: url(images/common/icon_arrow_b.svg) center center no-repeat #fff;
}

/*-----------------------------------------
top
-----------------------------------------*/
.mainimg {
	position: relative;
}
.mainimg img {
    max-width: 100%;
    height: auto;
}

.mainimg #mainimg00 {
	opacity: 0;
  mask-image: linear-gradient(to right, black 0%, transparent 100%);
  animation: reveal 1.4s cubic-bezier(.25,.8,.45,1) forwards;
  animation-delay: 1.4s;
}
@keyframes reveal {
  0% {
    opacity: 0;
    mask-position: 100% 0;
  }
  100% {
    opacity: 1;
    mask-position: 0 0;
	}
}

.mainimg .parts {
	position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
	opacity: 0;
  animation: fadeParts .8s ease-out forwards;
  animation-delay: 2.2s;
}
@keyframes fadeParts {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.mainimg .parts img {
	position: absolute;
}
.mainimg #mainimg01 {
	top: 44px;
    right: calc(100% / 1440px * 104px);
    width: calc(100% / 1440px * 314px);
}
.mainimg #mainimg02 {
	right: 0;
    top: 240px;
    width: calc(100% / 1440px * 109px);
}
.mainimg #mainimg03 {
	top: calc(100% / 771px * 333px);
    right: calc(100% / 1440px * 197px);
    width: calc(100% / 1440px * 164px);
	opacity: 0.5;
}
.mainimg #mainimg04 {
	top: calc(100% / 771px * 327px);
    right: calc(100% / 1440px * 188px);
    width: calc(100% / 1440px * 23px);
	opacity: 0.5;
}
.mainimg #mainimg05 {
	top: calc(100% / 771px * 547px);
    right: calc(100% / 1440px * 342px);
    width: calc(100% / 1440px * 360px);
	opacity: 0.5;
}
.mainimg #mainimg06 {
	top: calc(100% / 771px * 608px);
    right: calc(100% / 1440px * 737px);
    width: calc(100% / 1440px * 290px);
}
.mainimg #mainimg07 {
	top: calc(100% / 771px * 158px);
    left: calc(100% / 1440px * 510px);
    width: calc(100% / 1440px * 36px);
}
.mainimg #mainimg07-2 {
	top: calc(100% / 771px * 158px);
    left: calc(100% / 1440px * 428px);
    width: calc(100% / 1440px * 36px);
}
.mainimg #mainimg07-3 {
	top: calc(100% / 771px * 158px);
    left: calc(100% / 1440px * 409px);
    width: calc(100% / 1440px * 36px);
}
.mainimg #mainimg07-4 {
	top: calc(100% / 771px * 158px);
    left: calc(100% / 1440px * 390px);
    width: calc(100% / 1440px * 36px);
}
.mainimg #mainimg07-5 {
	top: calc(100% / 771px * 158px);
    left: calc(100% / 1440px * 301px);
    width: calc(100% / 1440px * 36px);
}
.mainimg #mainimg08 {
	bottom: calc(100% / 771px * 64px);
    left: calc(100% / 1440px * 52px);
    width: calc(100% / 1440px * 19px);
}
.mainimg #mainimg09 {
	top: calc(100% / 771px * 107px);
    right: calc(100% / 1440px * 476px);
    width: calc(100% / 1440px * 245px);
}
.mainimg #mainimg10 {
	bottom: calc(100% / 771px * 304px);
    left: calc(100% / 1440px * 236px);
    width: calc(100% / 1440px * 191px);
}
.mainimg #mainimg11 {
	bottom: calc(100% / 771px * 304px);
    left: calc(100% / 1440px * 46px);
    width: calc(100% / 1440px * 191px);
}
.mainimg #mainimg12 {
	bottom: calc(100% / 771px * 16px);
    left: calc(100% / 1440px * 360px);
    width: calc(100% / 1440px * 133px);
}
.mainimg #mainimg13 {
	bottom: calc(100% / 771px * 105px);
    left: 0;
    width: calc(100% / 1440px * 227px);
}

.wobble {
	animation: wobble 6s ease-in-out infinite;
  	transform-origin: 50% 50%;
}
@keyframes wobble {
  0%   { transform: rotate(0deg); }
  20%  { transform: rotate(2.2deg); }
  50%  { transform: rotate(-2.2deg); }
  80%  { transform: rotate(1.2deg); }
  100% { transform: rotate(0deg); }
}
.circle {
	animation: symmetry 3.6s cubic-bezier(.22,.61,.36,1) infinite;
}
.mainimg #mainimg07 { --shift: 18px; }
.mainimg #mainimg07-2 { --shift: 10px; }
.mainimg #mainimg07-3 { --shift:   0px; }
.mainimg #mainimg07-4 { --shift:  -10px; }
.mainimg #mainimg07-5 { --shift:  -18px; }
@keyframes symmetry {
  0%   { transform: translateX(0); }
  40%  { transform: translateX(var(--shift)); }
  100% { transform: translateX(0); }
}
.breathing {
	animation: breathing 4.8s cubic-bezier(.2,.8,.4,1) infinite;
  	transform-origin: center center;
}
@keyframes breathing {
  0%   { transform: scale(1); }
  65%  { transform: scale(1.16); }
  100% { transform: scale(1); }
}
.pillar {
	animation: geometricTilt 4.8s cubic-bezier(.45,.05,.22,1) infinite;
  	animation-delay: 1.6s;
}
@keyframes geometricTilt {
  0%   { transform: rotate(0deg); }
  30%  { transform: rotate(2deg); }
  60%  { transform: rotate(-1.6deg); }
  85%  { transform: rotate(0.8deg); }
  100% { transform: rotate(0deg); }
}

.mainimg .catch {
  position: absolute;
    padding: 16px 27px;
    background: #F7F7F7;
    display: inline-block;
	letter-spacing: 0.1em;
	opacity: 0;
  animation: fadeCatch .8s ease-out forwards;
  animation-delay: 3.2s;
}
@keyframes fadeCatch {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.mainimg .catch.catch01 {
	top: 50%;
    left: calc(50% - 51px);
}
.mainimg .catch.catch02 {
	top: calc(50% + 128px);
	left: calc(50% + 25px);
}
.mainimg .catch::before,
.mainimg .catch::after,
.mainimg .catch .handle::before {
  content: '';
  position: absolute;
  width: 4px;
  height: 4px;
  background: #fff;
  border: 1px solid #343538;
}
.mainimg .catch::before { top: -3px; left: -3px; }   /* 左上 */
.mainimg .catch::after { top: -3px; right: -3px; }   /* 右上 */
.mainimg .catch .handle.top::before {
  left: 50%; top: -3px; transform: translateX(-50%);  /* 上中央 */
}
.mainimg .catch .handle.bottom::before {
  left: 50%; bottom: -3px; transform: translateX(-50%); /* 下中央 */
}
.mainimg .catch .handle.left::before {
  bottom: 15px; left: -3px;  /* 左下 */
}
.mainimg .catch .handle.right::before {
  bottom: 15px; right: -3px; /* 右下 */
}
.mainimg .catch .handle {
	position: absolute;
    width: 100%;
    height: 0;
    border-top: 1px dashed #343538;
    padding: 0 17px;
}
.mainimg .catch .handle.top {
    top: 0;
    left: -17px;
}
.mainimg .catch .handle.bottom {
    bottom: 0;
    left: -17px;
}
.mainimg .catch .handle.left {
	width: 0;
    height: 100%;
    padding: 17px 0;
    top: -17px;
    left: 0;
    border-left: 1px dashed #343538;
}
.mainimg .catch .handle.right {
	width: 0;
    height: 100%;
    padding: 17px 0;
    top: -17px;
    right: 0;
    border-left: 1px dashed #343538;
}
.mainimg .scrolldown {
	position: absolute;
    transform: rotate(90deg);
    transform-origin: bottom right;
    right: 70px;
    bottom: 0;
    padding-right: 118px;
	opacity: 0;
	animation: fadeScroll .8s ease-out forwards;
  	animation-delay: 3.2s;
}
@keyframes fadeScroll {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.mainimg .scrolldown:after {
	content: "";
	display: block;
	width: 116px;
	height: 1px;
	background: #343538;
	position: absolute;
    right: 0;
    bottom: 50%;
}
.mainimg .scrolldown:before {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #8FBA4A;
	position: absolute;
    right: 0;
    bottom: calc(50% - 4px);
	z-index: 1;
	animation: moveRight 2s linear infinite;
}
@keyframes moveRight {
  from {
    right: 116px;
  }
  to {
    right: 0;
  }
}

.iidadesign {
    overflow: hidden;
}
.animation-wrapper {
    position: relative;
    width: 100%;
    text-align: right;
    font-size: 185px;
    font-weight: 900;
    color: #F7F7F7;
    overflow: visible;
}
.animation-wrapper .text {
    position: relative;
    display: inline-block;
}
.animation-wrapper .text span {
    display: inline-block;
    transition: color 0.3s ease;
}
.animation-wrapper .illustration {
    position: absolute;
    left: 0;
    top: 0;
    width: 318px;
    height: 249px;
    border-radius: 50%;
    z-index: 10;
}
.animation-wrapper .illustration img {
    width: 100%;
    height: auto;
}
.iidadesign .section_inner{
	width: 94%;
    max-width: 1280px;
    margin: 50px auto 80px;
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.iidadesign .section_inner .txt_left{
	width: calc(100% - 451px);
}
.iidadesign .section_inner .txt_left .size32 {
	line-height: 1.875;
    margin-bottom: 32px;
}
.iidadesign .section_inner .txt_left p {
	line-height: 2.0;
	margin-bottom: 1em;
}
.iidadesign .section_inner .img_right{
}

.technical {
	background: url(images/index/bg_technical.webp) top center no-repeat;
	background-size: 100%;
	position: relative;
	padding-top: 168px;
}
.technical .transparent12 {
	position: absolute;
    top: 0;
    left: 0;
    line-height: 0.6;
}
.technical .section_inner {
	width: 94%;
	max-width: 1200px;
	margin: 0 auto 120px;
	background: #fff;
	border-radius: 8px;
	padding: 48px;
	box-sizing: border-box;
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	align-items: center;
	border: 1px solid rgba(0, 0, 0, 0.1);
}
.technical .section_inner h2{
}
.technical .section_inner .btn{
	margin-top: 0;
}
.technical .section_inner p{
	width: 100%;
	margin-top: 24px;
}
.technical .section_inner ul{
	display: flex;
    flex-wrap: wrap;
	gap: 32px 36px;
	margin-top: 32px;
}
.technical .section_inner ul li {
	width: calc(50% - 18px);
	border: 1px solid #dedede;
	border-radius: 8px;
	box-sizing: border-box;
}
.technical .section_inner ul li a {
	display: flex;
	gap: 24px;
	align-items: center;
	font-size: 18px;
	font-weight: 500;
	position: relative;
	padding-right: 48px;
}
.technical .section_inner ul li a img {
	width: 50%;
	border-radius: 8px 0 0 8px;
}
.technical .section_inner ul li a::after {
	content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url(images/common/icon_arrow_g.svg) center center no-repeat #F5F1F1;
    border-radius: 50%;
	position: absolute;
	right: 24px;
	top: calc(50% - 12px);
	transition: 0.1s linear all;
}
.technical .section_inner ul li a:hover::after {
	right: 19px;
}

main .recruit {
	display: flex;
	gap: 37px;
	justify-content: flex-end;
	margin-bottom: 80px;
	flex-wrap: wrap;
}
.recruit .txt_left {
	width: 611px;
	max-width: calc(50% - 37px);
	padding-left: 48px;
	box-sizing: border-box;
}
.recruit .txt_left h2 {
	margin: 48px 0;
}
.recruit .txt_left ul {
	margin: 32px 0 64px;
}
.recruit .txt_left ul li {
	border-bottom: 1px solid #d9d9d9;
}
.recruit .txt_left ul li a {
	display: block;
	font-size: 18px;
	font-weight: 700;
	position: relative;
	padding: 30px 50px 20px 0;
}
.recruit .txt_left ul li a span{
	display: block;
	line-height: 1;
}
.recruit .txt_left ul li a::after{
	content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background: url(images/common/icon_arrow_w.svg) center center no-repeat #8FBA4A;
    border-radius: 50%;
	position: absolute;
	right: 25px;
	top: calc(50% - 12px);
	transition: 0.1s linear all;
}
.recruit .txt_left ul li a:hover::after{
	right: 20px;
}
.recruit .txt_left ul li a::before{
	content: "";
	display: block;
	width: 42px;
	height: 1px;
	background: #4A70AB;
	position: absolute;
	bottom: -1px;
	left: 0;
}

.recruit .img_right {
	width: 50%;
}
.recruit .img_right img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.workplace {
	position: relative;
	padding-top: 215px;
	overflow: hidden;
}
.workplace::before {
	content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background: url(images/index/bg_workplace.webp) top left no-repeat;
	background-size: cover;
}
.workplace .transparent24 {
	position: absolute;
    top: 0;
    right: 0;
    line-height: 0.6;
}
.workplace .section_inner {
	width: 94%;
	max-width: 1080px;
	margin: 0 auto;
	background: #fff;
	border-radius: 8px;
	padding: 48px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	position: relative;
}
.workplace .section_inner .txt_left {
	width: 50%;
}
.workplace .section_inner .txt_left h2 {
	margin-bottom: 58px;
}
.workplace .section_inner .txt_left .btn {
	margin-top: 64px;
}
.workplace .section_inner .img_right {
	width: 50%;
    margin-left: 83px;
    margin-right: -83px;
}
.workplace .section_inner .img_right img {
	max-width: 100%;
}

.entry {
    //background: url(images/index/bg_entry.webp) top center no-repeat;
    background-size: cover;
    padding: 64px 0;
    box-sizing: border-box;
}
.entry .section_inner_recruit {
	width: 94%;
    max-width: 1200px;
    margin: 0 auto;
}
.entry .section_inner_recruit h2 {
	margin: 24px 0 48px;
	padding-left: 0;
}
.entry .section_inner_recruit h2:before,
.entry .section_inner_recruit h2:after {
	display: none;
}
.entry .section_inner {
    width: 94%;
    max-width: 1200px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 53px;
}
.entry .section_inner .txt_left {
}
.entry .section_inner .txt_left .size32 {
    line-height: 1.6;
    margin-bottom: 32px;
}
.entry .section_inner .txt_right {
    width: calc(100% - 680px);
}
.entry .section_inner .txt_right a {
    display: block;
    border: 1px solid #4A70AB;
    border-radius: 8px;
    box-sizing: border-box;
    padding: 30px 45px;
    position: relative;
}
.entry .section_inner .txt_right a:after {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url(images/common/icon_arrow_w.svg) center center no-repeat #8FBA4A;
    border-radius: 50%;
    margin-left: 30px;
    position: absolute;
    top: calc(50% - 12px);
    right: 24px;
	transition: 0.1s linear all;
}
.entry .section_inner .txt_right a:hover:after {
	right: 19px;
}
.entry .section_inner .txt_right a.bg_blue {
    background: #4A70AB;
    color:#fff ;
    margin-top: 32px;
}

.news .section_inner {
    width: 94%;
    max-width: 1200px;
    margin: 100px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.news .section_inner .size100 {
    width: 100%;
    margin-bottom: 48px;
}
.news .section_inner .btn {
    margin-top: 0;
}
.news .section_inner .news_list {
    width: 100%;
}
.news .section_inner .news_list ul {
    margin-top: 42px;
}
.news .section_inner .news_list ul li {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px dashed #343538;
    position: relative;
}
.news .section_inner .news_list ul li:before,
.news .section_inner .news_list ul li:after{
  content: '';
  position: absolute;
  width: 4px;
  height: 4px;
  background: #fff;
  border: 1px solid #343538;
  bottom: -3px;
}
.news .section_inner .news_list ul li:before{
    left: 0;
}
.news .section_inner .news_list ul li:after{
    right: 0;
}
.news .section_inner .news_list ul li a {
    position: relative;
	padding-right: 64px;
    display: block;
}
.news .section_inner .news_list ul li a:after {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url(images/common/icon_arrow_w.svg) center center no-repeat #8FBA4A;
    border-radius: 50%;
    margin-left: 30px;
    position: absolute;
    top: calc(50% - 12px);
    right: 24px;
	transition: 0.1s linear all;
}
.news .section_inner .news_list ul li a:hover:after {
	right: 19px;
}
.news .section_inner .news_list ul li a .date {
    color: #4a70ab;
    font-weight: 600;
}
.news .section_inner .news_list ul li a .title {
    font-size: 16px;
    font-weight: 700;
}

section.contact {
    background: url(images/common/bg_contact.webp) top center no-repeat #F5F1F1;
    background-size: cover;
    padding: 100px 0;
}
.contact .section_inner {}
.contact .section_inner h2 {
    display: inline-block;
    margin: 32px 0;
}

#pagetop {
	position: fixed;
    display: block;
    width: 44px;
    height: 44px;
    border: 1px solid #fff;
    border-radius: 50%;
    background: url(images/common/icon_arrow_w_t.svg) center center no-repeat #4a70ab;
    bottom: 40px;
    right: 40px;
	transition: 0.1s linear all;
	cursor: pointer;
	z-index: 1;
}
#pagetop:hover {
	opacity: 0.8;
}

footer {
    background-image: repeating-linear-gradient(
      to right,           /* 横方向に線を引く */
      rgba(255, 255, 255, 0.03), /* 線の色：黒3% */
      rgba(255, 255, 255, 0.03) 1px, /* 線の幅：1px */
      transparent 1px,      /* 線の後は透明 */
      transparent 240px     /* 1本ごとの間隔：240px */
    ),
        url(images/common/bg_footer.webp);
    background-size: auto, cover;
  background-position: left top, center center;
  background-repeat: repeat, no-repeat;
    display: flex;
    gap: 18px 0;
    flex-wrap: wrap;
    padding: 32px 38px;
}
footer .footer_left {
	width: 480px;
}
footer .footer_left .size24 {
	margin-bottom: 6px;
}
footer .footer_left .size12{
	margin-bottom: 32px;
}
footer .footer_left .size14{
	line-height: 2.0;
}
footer .footer_left a{
	color: #fff;
}
footer .footer_right {
	display: flex;
	width: calc(100% - 480px);
}
footer .footer_right ul{
	width: 240px;
	max-width: calc(100vw / 6);
}
footer .footer_right ul li{
	position: relative;
	padding-left: 15px;
	margin-bottom: 1.8em;
}
footer .footer_right ul li:before{
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	background: #8FBA4A;
	border-radius: 50%;
	position: absolute;
	top: 16px;
    left: 1px;
}
footer .footer_right ul li a {
	color: #fff;
    font-size: 14px;
    font-weight: 500;
}
footer .footer_right ul ul{
	width: 100%;
	max-width: 100%;
}
footer .footer_right ul ul li{
	margin-bottom: 0;
}
footer .footer_right ul ul li:before{
	height: 1px;
	top: 50%;
}

/*-----------------------------------------
内部共通
-----------------------------------------*/
.error404 .pageimg,
.page .pageimg {
	padding-top: 90px;
	padding-bottom: 48px;
	background: linear-gradient(0deg, #4A70AB 45%, transparent 0);
}
.archive .pageimg,
.single .pageimg {
	padding-top: 90px;
	padding-bottom: 48px;
}
.page-contact .pageimg {
	background: none;
	padding-bottom: 0;
}
.error404 .pageimg .pageimg_title,
.page .pageimg .pageimg_title,
.archive .pageimg .pageimg_title,
.single .pageimg .pageimg_title {
	position: relative;
	margin: 0 40px;
	overflow: hidden;
}
.error404 .pageimg .pageimg_title .pageimg_title_txt,
.page .pageimg .pageimg_title .pageimg_title_txt,
.archive .pageimg .pageimg_title .pageimg_title_txt,
.single .pageimg .pageimg_title .pageimg_title_txt {
	position: absolute;
    top: 50%;
    left: 84px;
    transform: translateY(-50%);
	padding-left: 38px;
}
.error404 .pageimg .pageimg_title .pageimg_title_txt:before,
.page .pageimg .pageimg_title .pageimg_title_txt:before,
.error404 .pageimg .pageimg_title .pageimg_title_txt:after,
.page .pageimg .pageimg_title .pageimg_title_txt:after,
.archive .pageimg .pageimg_title .pageimg_title_txt:before,
.single .pageimg .pageimg_title .pageimg_title_txt:before,
.archive .pageimg .pageimg_title .pageimg_title_txt:after,
.single .pageimg .pageimg_title .pageimg_title_txt:after {
	content: "";
    display: block;
	width: 25px;
    height: 25px;
	border-radius: 50%;
    position: absolute;
    left: 0;
}
.page-contact .pageimg .pageimg_title .pageimg_title_txt {
	font-size: 32px;
	left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
	color: #343538;
	margin-top: 32px;
}
.page-contact .pageimg .pageimg_title .pageimg_title_txt:before,
.page-contact .pageimg .pageimg_title .pageimg_title_txt:after {
	width: 14px;
    height: 14px;
}
.error404 .pageimg .pageimg_title .pageimg_title_txt:before,
.page .pageimg .pageimg_title .pageimg_title_txt:before,
.archive .pageimg .pageimg_title .pageimg_title_txt:before,
.single .pageimg .pageimg_title .pageimg_title_txt:before{
	background: #8FBA4A;
    bottom: calc(50% - 2px);
}
.error404 .pageimg .pageimg_title .pageimg_title_txt:after,
.page .pageimg .pageimg_title .pageimg_title_txt:after,
.archive .pageimg .pageimg_title .pageimg_title_txt:after,
.single .pageimg .pageimg_title .pageimg_title_txt:after {
	background: #4A70AB;
    top: calc(50% - 2px);
}
.error404 .pageimg .pageimg_title img,
.page .pageimg .pageimg_title img,
.archive .pageimg .pageimg_title img,
.single .pageimg .pageimg_title img{
	width: 100%;
    border-radius: 16px;
}
.error404 .pageimg .pageimg_title:before,
.page .pageimg .pageimg_title:before {
	content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(40, 72, 123, 0.9);
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 16px;
}
.archive .pageimg .pageimg_title:before,
.single .pageimg .pageimg_title:before {
	content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(41, 41, 63, 0.9);
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 16px;
}
.page-contact .pageimg .pageimg_title:before {
	display: none;
}
.error404 .pageimg .pageimg_title span,
.page .pageimg .pageimg_title span,
.archive .pageimg .pageimg_title span,
.single .pageimg .pageimg_title span{
	position: absolute;
    bottom: -25px;
    right: 0;
    opacity: 0.12;
    text-align: right;
    white-space: nowrap;
}
.page-contact .pageimg .pageimg_title span {
	font-size: 100px;
	color: #343538;
	top: 50%;
    bottom: -50px;
    left: 50%;
    right: auto;
    transform: translate(-50%, -50%);
	opacity: 1.0;
}
.page-recruit .page_title,
.page-origin .page_title,
.page-team .page_title,
.page-requirements .page_title,
.post-type-archive-interview .page_title,
.single-interview .page_title,
.page-crosstalk .page_title,
.page-crosstalk02 .page_title{
	padding-top: 90px;
	padding-bottom: 48px;
	margin: 0 40px;
}
.page-recruit .page_title div,
.page-origin .page_title div,
.page-team .page_title div,
.page-requirements .page_title div,
.post-type-archive-interview .page_title div,
.single-interview .page_title div,
.page-crosstalk .page_title div,
.page-crosstalk02 .page_title div {
	margin: 64px 0;
	position: relative;
	padding-left: 38px;
}
.page-recruit .page_title div:before,
.page-recruit .page_title div:after,
.page-origin .page_title div:before,
.page-origin .page_title div:after,
.page-team .page_title div:before,
.page-team .page_title div:after,
.page-requirements .page_title div:before,
.page-requirements .page_title div:after,
.post-type-archive-interview .page_title div:before,
.post-type-archive-interview .page_title div:after,
.single-interview .page_title div:before,
.single-interview .page_title div:after,
.page-crosstalk .page_title div:before,
.page-crosstalk .page_title div:after,
.page-crosstalk02 .page_title div:before,
.page-crosstalk02 .page_title div:after {
	content: "";
    display: block;
	width: 25px;
    height: 25px;
	border-radius: 50%;
    position: absolute;
    left: 0;
}
.page-recruit .page_title div:before,
.page-origin .page_title div:before,
.page-team .page_title div:before,
.page-requirements .page_title div:before,
.post-type-archive-interview .page_title div:before,
.single-interview .page_title div:before,
.page-crosstalk .page_title div:before,
.page-crosstalk02 .page_title div:before {
	background: #8FBA4A;
    bottom: calc(50% - 2px);
}
.page-recruit .page_title div:after,
.page-origin .page_title div:after,
.page-team .page_title div:after,
.page-requirements .page_title div:after,
.post-type-archive-interview .page_title div:after,
.single-interview .page_title div:after,
.page-crosstalk .page_title div:after,
.page-crosstalk02 .page_title div:after {
	background: #4A70AB;
    top: calc(50% - 2px);
}

.wrapper .breadcrumb {
	position: relative;
	margin: -48px 40px 23px 120px;
	overflow:hidden;
}
.page-origin .wrapper .breadcrumb,
.page-team .wrapper .breadcrumb,
.page-requirements .wrapper .breadcrumb,
.post-type-archive-interview .wrapper .breadcrumb,
.single-interview .wrapper .breadcrumb,
.page-crosstalk .wrapper .breadcrumb,
.page-crosstalk02 .wrapper .breadcrumb {
	margin: 0;
	color: #343538;
}
.page-recruit .wrapper .breadcrumb {
	margin: -48px 40px 64px 120px;
	color: #fff;
	text-shadow: 0 0 15px rgba(0, 66, 141, 0.75);
}
.wrapper .breadcrumb li{
	padding-left: 40px;
    position: relative;
	float:left;
}
.wrapper .breadcrumb li:first-child{
	padding-left: 0;
}
.wrapper .breadcrumb li:before {
	content: "";
	display: block;
	width: 23px;
	height: 1px;
	background: #fff;
	position: absolute;
    top: 48%;
    left: 8px;
}
.wrapper .breadcrumb li:first-child:before {
	display: none;
}
.wrapper .breadcrumb li a,
.page-recruit .wrapper .breadcrumb li,
.page-recruit .wrapper .breadcrumb li a{
	color: #fff;
}
.page-contact .wrapper .breadcrumb li,
.page-contact .wrapper .breadcrumb li a,
.page-origin .wrapper .breadcrumb li,
.page-origin .wrapper .breadcrumb li a,
.page-team .wrapper .breadcrumb li,
.page-team .wrapper .breadcrumb li a,
.page-requirements .wrapper .breadcrumb li,
.page-requirements .wrapper .breadcrumb li a,
.post-type-archive-interview .wrapper .breadcrumb li,
.post-type-archive-interview .wrapper .breadcrumb li a,
.single-interview .wrapper .breadcrumb li,
.single-interview .wrapper .breadcrumb li a,
.page-crosstalk .wrapper .breadcrumb li,
.page-crosstalk .wrapper .breadcrumb li a,
.page-crosstalk02 .wrapper .breadcrumb li,
.page-crosstalk02 .wrapper .breadcrumb li a{
	color: #343538;
}
.page-recruit .wrapper .breadcrumb li:before{
	background: #fff;
}
.page-contact .wrapper .breadcrumb li:before,
.page-origin .wrapper .breadcrumb li:before,
.page-team .wrapper .breadcrumb li:before,
.page-requirements .wrapper .breadcrumb li:before,
.post-type-archive-interview .wrapper .breadcrumb li:before,
.single-interview .wrapper .breadcrumb li:before,
.page-crosstalk .wrapper .breadcrumb li:before,
.page-crosstalk02 .wrapper .breadcrumb li:before{
	background: #343538;
}

#page_nav {
	background: #4a70ab;
	padding-bottom: 48px;
    margin-bottom: 64px;
}
.page-team #page_nav {
	background: #fff;
    padding-bottom: 0;
}
.page-recruit #page_nav {
	margin-top: -41px;
    padding-top: 48px;
}
#page_nav ul {
	margin: 0 40px 0 120px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 32px;
}
.page-team #page_nav ul {
	margin: 0 40px;
}
#page_nav ul li {
}
#page_nav ul li a{
	color: #fff;
    font-size: 18px;
    font-weight: 700;
	display: flex;
    align-items: center;
    transition: 0.1s linear all;
}
.page-team #page_nav ul li a{
	color: #343538;
}
#page_nav ul li a:hover{
}
#page_nav ul li a:after{
	content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url(images/common/icon_arrow_g.svg) center center no-repeat #fff;
    border-radius: 50%;
    margin-left: 8px;
	transform: rotate(90deg);
    transition: 0.1s linear all;
	position: relative;
	bottom: 0;
}
.page-team #page_nav ul li a:after{
    background: url(images/common/icon_arrow_g.svg) center center no-repeat #F7F7F7;
}
#page_nav ul li a:hover:after{
    bottom: -4px;
}
section .section_inner {
	width: 1200px;
	max-width: calc(100% - 80px);
	margin: auto;
}

/*-----------------------------------------
コンタクトフォーム用
-----------------------------------------*/
input[type="checkbox"],
input[type="radio"]{
	vertical-align:middle;
}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea{
	padding:5px;
	width:96%;
}

/*-----------------------------------------
pagenavi
-----------------------------------------*/
.wp-pagenavi{
	margin-bottom:5px;
}
.wp-pagenavi a, .wp-pagenavi span{
	background-color:white;
	border:1px solid #4A70AB !important;
	color:#4A70AB;
	padding:6px 10px !important;
	font-size:14px;
	transition:0.1s linear all;
	display: inline-block;
	border-radius: 5px;
}
.wp-pagenavi span.current{
	background-color:#4A70AB;
	font-weight:normal !important;
	color:white;
}
.wp-pagenavi a:hover{
	background-color:#4A70AB;	
	color:white;
}

.page-technical .catch {
	margin-bottom: 48px;
}
.page-technical section .section_inner {
	margin-top: 64px;
	margin-bottom: 64px;
}
.page-technical section .slide_tec img {
	width: 100%;
	height: auto;
	border-radius: 16px;
}
.page-technical section .slide_tec .slick-list {
  margin: 0 -24px;
}
.page-technical section .slide_tec .slick-slide {
  margin: 0 24px;
}
.page-technical .section_inner h2 {
	margin-bottom: 32px;
}
.page-technical .section_inner p {
	margin-bottom: 32px;
}
.page-technical .section_inner .img {
	margin-bottom: 32px;
}
.page-technical .section_inner .img img {
	width: 100%;
    height: auto;
	border-radius: 16px;
}
.page-technical .section_inner .tec_box {
	display: flex;
    flex-wrap: wrap;
    gap: 32px 144px;
	padding-bottom: 64px;
	border-bottom: 1px solid #D9D9D9;
}
.page-technical #anc04 .section_inner .tec_box {
	border-bottom: none;
}
.page-technical .section_inner .tec_box div {
	width: calc(50% - 72px);
}
.page-technical .section_inner .tec_box div h3 {
	background: #8FBA4A;
    padding: 12px;
    text-align: center;
    border-radius: 8px;
    margin-bottom: 18px;
}
.page-technical .section_inner .tec_box div.tec_box_blue h3 {
	background: #4A70AB;
	margin-bottom: 32px;
}
.page-technical .section_inner .tec_box div ul.disc {
	margin: 0 7px;
}
.page-technical .section_inner .tec_box div ul.disc li {
	padding-left:1.2em;
	position: relative;
	margin-bottom: 4px;
	font-size: 16px;
}
.page-technical .section_inner .tec_box div ul.disc li:before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background: #8FBA4A;
	border-radius: 50%;
	position: absolute;
	top: 8px;
	left: 0;
}
.page-technical .section_inner .tec_box div ul.iblock {
	display: flex;
    flex-wrap: wrap;
    gap: 15px;
}
.page-technical .section_inner .tec_box div ul.iblock li {
	border: 1px solid #D9D9D9;
    padding: 0 13px;
    font-size: 16px;
	border-radius: 16px;
}
.page-technical .section_inner .tec_box .tec_box_green {
}
.page-technical .section_inner .tec_box .tec_box_blue {
}

.page-company .section_inner h2 {
	padding-left: 0;
	margin-bottom: 32px;
}
.page-company .section_inner h2:before,
.page-company .section_inner h2:after {
	display: none;
}
.page-company #anc01 h2 span {
	margin-bottom: 24px;
    display: inline-block;
}
.page-company .section_inner .greeting_box {
	margin: 42px 0 32px;
	display: flex;
    flex-wrap: wrap;
    gap: 48px;
}
.page-company .section_inner .greeting_box .greeting_box_wrap {
	position: relative;
    padding: 16px 16px;
    background: #F7F7F7;
    display: inline-block;
	letter-spacing: 0.1em;
	margin-left: 45px;
}
.page-company .section_inner .greeting_box .greeting_box_wrap::before,
.page-company .section_inner .greeting_box .greeting_box_wrap::after,
.page-company .section_inner .greeting_box .greeting_box_wrap .handle::before {
  content: '';
  position: absolute;
  width: 4px;
  height: 4px;
  background: #fff;
  border: 1px solid #343538;
}
.page-company .section_inner .greeting_box .greeting_box_wrap::before { top: -3px; left: -3px; }   /* 左上 */
.page-company .section_inner .greeting_box .greeting_box_wrap::after { top: -3px; right: -3px; }   /* 右上 */
.page-company .section_inner .greeting_box .greeting_box_wrap .handle.top::before {
  left: 50%; top: -3px; transform: translateX(-50%);  /* 上中央 */
}
.page-company .section_inner .greeting_box .greeting_box_wrap .handle.bottom::before {
  left: 50%; bottom: -3px; transform: translateX(-50%); /* 下中央 */
}
.page-company .section_inner .greeting_box .greeting_box_wrap .handle.left::before {
  bottom: 15px; left: -3px;  /* 左下 */
}
.page-company .section_inner .greeting_box .greeting_box_wrap .handle.right::before {
  bottom: 15px; right: -3px; /* 右下 */
}
.page-company .section_inner .greeting_box .greeting_box_wrap .handle {
	position: absolute;
    width: 100%;
    height: 0;
    border-top: 1px dashed #343538;
    padding: 0 10px;
}
.page-company .section_inner .greeting_box .greeting_box_wrap .handle.top {
    top: 0;
    left: -10px;
}
.page-company .section_inner .greeting_box .greeting_box_wrap .handle.bottom {
    bottom: 0;
    left: -10px;
}
.page-company .section_inner .greeting_box .greeting_box_wrap .handle.left {
	width: 0;
    height: 100%;
    padding: 10px 0;
    top: -10px;
    left: 0;
    border-left: 1px dashed #343538;
}
.page-company .section_inner .greeting_box .greeting_box_wrap .handle.right {
	width: 0;
    height: 100%;
    padding: 10px 0;
    top: -10px;
    right: 0;
    border-left: 1px dashed #343538;
}
.page-company .section_inner .greeting_box .greeting_box_wrap .num {
	position: absolute;
	left: -45px;
    top: 12px;
}
.p_name {
	margin-top: 32px;
}
.page-company .animation-wrapper .illustration {
	top: -16px;
}
.page-company #anc02 {
	padding: 120px 0;
	background: #4a70ac;
}
.page-company #anc02 h2 span {
	margin-bottom: 24px;
    display: inline-block;
}
.page-company #anc02 .table {
	width: 100%;
    background: #fff;
    padding: 48px 58px;
    border-radius: 8px;
	box-sizing: border-box;
}
.page-company #anc02 .table table {
	width: 100%;
	border-collapse: separate;
    border-spacing: 21px;
}
.page-company #anc02 .table table th {
	width: 150px;
	text-align: left;
    font-weight: 500;
    font-size: 16px;
    padding: 0 10px 13px;
    border-bottom: 1px solid #8FBA4A;
	box-sizing: border-box;
}
.page-company #anc02 .table table td {
    font-weight: 500;
    font-size: 16px;
    padding: 0 10px 13px;
    border-bottom: 1px solid #D9D9D9;
	position: relative;
}
.page-company #anc02 .table table td.td_img_wrap {
	padding-right: 45%;
}
.page-company #anc02 .table table td .td_img {
	position: absolute;
    bottom: 0;
    right: 0;
	width: 50%;
}
.page-company #anc02 .table .table_img img,
.page-company #anc02 .table table td .td_img img {
	width: 100%;
	height: auto;
}
.page-company #anc03 {
	padding: 120px 0;
	background: #8FBA4A;
}
.page-company #anc03 h2 span {
	margin-bottom: 24px;
    display: inline-block;
}
.page-company #anc03 .table {
	width: 100%;
    background: #fff;
    padding: 48px 58px;
    border-radius: 8px;
	box-sizing: border-box;
}
.page-company #anc03 .table table {
	width: 100%;
	border-collapse: separate;
    border-spacing: 21px;
}
.page-company #anc03 .table table th {
	width: 150px;
	text-align: left;
    font-weight: 500;
    font-size: 16px;
    padding: 0 10px 13px;
    border-bottom: 1px solid #4A70AB;
	box-sizing: border-box;
}
.page-company #anc03 .table table td {
    font-weight: 500;
    font-size: 16px;
    padding: 0 10px 13px;
    border-bottom: 1px solid #D9D9D9
}
.page-company #anc04 {
	padding: 120px 0;
}
.page-company #anc04 .section_inner {
	display: flex;
    gap: 114px;
    flex-wrap: wrap;
}
.page-company #anc04 h2 {
	writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
}
.page-company #anc04 h2 span {
	transform: rotate(180deg);
    display: inline-block;
    margin-right: 16px;
}
.page-company #anc04 .section_inner .history_box {
	position: relative;
	padding: 33px 0 33px 53px;
	width: calc(100% - 279px);
}
.page-company #anc04 .section_inner .history_box:before {
	content:"";
	width: 0;
	height: 100%;
	display: block;
	border-left: 1px dashed #9A9A9A;
	position: absolute;
	top: 0;
	left: 10px;
}
.page-company #anc04 .section_inner .history_box dl {
	position: relative;
	margin-bottom: 48px;
}
.page-company #anc04 .section_inner .history_box dl:last-child {
	margin-bottom: 0;
}
.page-company #anc04 .section_inner .history_box dl:before {
	content: "";
	width: 21px;
	height: 21px;
	border-radius: 50%;
	display: block;
	background: #8FBA4A;
	position: absolute;
	top:10px;
    left: -53px;
}
.page-company #anc05 {
	padding-bottom: 120px;
}
.page-company #anc05 h2 {
	margin-bottom: 48px;
}
.page-company #anc05 h2 span {
	margin-bottom: 24px;
    display: inline-block;
}
.page-company #anc05 iframe {
	max-width: 100%;
	border-radius: 8px;
}
.page-company #anc05 .access_box{
	margin-top: 48px;
	display: flex;
    flex-wrap: wrap;
    gap: 24px 48px;
}
.page-company #anc05 .access_box .access_box_L {
	border-right: 1px dashed #4A70AB;
    padding-right: 48px;
	line-height: 1.5;
}
.page-company #anc05 .access_box .access_box_L span {
	padding: 4px 11px;
    background: #4a70ab;
    border-radius: 4px;
    margin-bottom: 10px;
    display: inline-block;
}
.page-company #anc05 .access_box .access_box_R {
	line-height: 1.8;
}


.page-contact .section_inner h2 {
	padding-left: 0;
	margin-bottom: 32px;
}
.page-contact .section_inner h2:before,
.page-contact .section_inner h2:after {
	display: none;
}
.page-contact h2 span {
	margin-bottom: 24px;
    display: inline-block;
}
.page-contact #anc01 {
	padding: 64px 0;
}
.page-contact #anc01 p {
	margin-bottom: 48px;
}
.page-contact #anc01 table {
	width: 100%;
	max-width: 1200px;
	margin: auto;
}
.page-contact #anc01 table th {
	padding: 16px 32px 16px 0;
    text-align: left;
    vertical-align: top;
    width: 224px;
    font-size: 16px;
    font-weight: 500;
}
.page-contact #anc01 table th span.req {
	margin-left: 24px;
    background: #4A70AB;
    color: #fff;
    font-size: 12px;
    padding: 1px 9px 3px;
    border-radius: 4px;
}
.page-contact #anc01 table td {
    font-size: 16px;
    font-weight: 500;
	padding: 16px 0;
}
.page-contact #anc01 table p {
	margin-bottom: 0;
}
.page-contact #anc01 table td input[type="text"],
.page-contact #anc01 table td input[type="email"],
.page-contact #anc01 table td input[type="tel"],
.page-contact #anc01 table td input[type="date"],
.page-contact #anc01 table td textarea,
.page-contact #anc01 table td select {
	background: #F6F6F6;
    border: none;
    border-radius: 4px;
    padding: 16px;
    font-size: 16px;
	display: inline-block;
    margin-bottom: 10px;
}
.page-contact #anc01 table td input[type="file"] {
	padding: 5px;
    margin-bottom: 10px;
}
.page-contact #anc01 table td .wpcf7-list-item {
	display: block;
}
.page-contact #anc01 table td dl {
	display: flex;
    align-items: center;
	margin-bottom: 10px;
}
.page-contact #anc01 table td dl dt {
	width: 118px;
}
.page-contact #anc01 table td dl dd {
}
.page-contact #anc01 table td dl dd input[type="text"] {
	margin-bottom: 0;
}
.page-contact #anc01 .btn {
	text-align: center;
}
.page-contact #anc01 .btn input[type="submit"] {
	margin-left: 72px;
    background: #4a70ab;
    border: none;
    color: #fff;
    padding: 15px 58px;
    font-size: 16px;
    font-weight: 500;
    border-radius: 30px;
	transition: all linear 0.3s;
}
.page-contact #anc01 .btn input[type="submit"]:disabled {
	background: #ccc;
}
.page-contact #anc01 .btn input[type="submit"]:hover {
	opacity: 0.8;
}


.page-contact #anc02 {
	padding: 120px 0;
	background: #F6F6F6;
}
.page-contact #anc02 h3 {
	margin-top: 90px;
	margin-bottom: 32px;
	position: relative;
	padding-left: 28px;
}
.page-contact #anc02 h3::before,
.page-contact #anc02 h3::after {
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	position: absolute;
	left: 0;
}
.page-contact #anc02 h3::before {
	background: #8FBA4A;
	bottom:calc(50% - 2px);
}
.page-contact #anc02 h3::after {
	background: #4A70AB;
	top: calc(50% - 2px);
}
.page-contact #anc02 h4 {
	margin-bottom: 18px;
}
.page-contact #anc02 p {
	margin-bottom: 32px;
}
.form-tabs .tab-content {
  display: none;
}
#tab1:checked ~ .form-area .tab1 {
  display: block;
}
#tab2:checked ~ .form-area .tab2 {
  display: block;
}

.page-recruit .mainimg {
}
.page-recruit .mainimg .recruit_slider {
	display: flex;
    flex-wrap: nowrap;
	height:100vh;
    overflow:hidden;
	opacity: 0;
	animation: fadeCatch .8s ease-out forwards;
	animation-delay: 0.5s;
}
.page-recruit .mainimg .recruit_slider div.slide_up,
.page-recruit .mainimg .recruit_slider div.slide_down {
	width: calc(100% / 3);
}
.page-recruit .mainimg .recruit_slider div.slide_down {
	transform: scaleY(-1);
	visibility:hidden;
}
.page-recruit .mainimg .recruit_slider div.slide_down.slick-initialized {
	visibility:visible;
}
.page-recruit .mainimg .recruit_slider div.slide_down .slick-slide {
	transform: scaleY(-1);
}
.page-recruit .mainimg .recruit_slider div .slick-slide {
	border: none;
}
.page-recruit .mainimg .recruit_slider div.slide_down .slick-track {
	display: flex !important;
	flex-direction: column-reverse;
}
.page-recruit .mainimg .txt {
	position: absolute;
    left: 100px;
    bottom: 160px;
    line-height: 1.4;
	color: #00428d;
	color: #fff;
	opacity: 0;
	animation: fadeCatch .8s ease-out forwards;
    animation-delay: 1.5s;
	text-shadow: 0 0 15px rgba(255, 255, 255, 0.75);
	text-shadow: 0 0 15px rgba(0, 66, 141, 0.75);
}

.page-recruit .img01 {
	position: absolute;
    top: 90px;
    right: 40px;
    width: 30%;
	border-radius: 16px;
}
.page-recruit .recruit_main {
	display: flex;
    gap: 37px;
    justify-content: flex-end;
    margin-top: 76px;
    margin-bottom: 80px;
    flex-wrap: wrap;
}
.page-recruit .recruit_main .txt_left{
	width: 611px;
    max-width: calc(50% - 37px);
    padding-left: 48px;
    box-sizing: border-box;
}
.page-recruit .recruit_main .txt_left .catch {
	position: relative;
	padding: 9px 41px;
    background: #F7F7F7;
    display: inline-block;
	letter-spacing: 0.1em;
}
.page-recruit .recruit_main .txt_left .catch.catch01 {
	margin-bottom: 28px;
}
.page-recruit .recruit_main .txt_left .catch.catch02 {
	margin-left: 134px;
	margin-bottom: 50px;
}
.page-recruit .recruit_main .txt_left .catch::before,
.page-recruit .recruit_main .txt_left .catch::after,
.page-recruit .recruit_main .txt_left .catch .handle::before {
	content: '';
  position: absolute;
  width: 4px;
  height: 4px;
  background: #fff;
  border: 1px solid #343538;
}
.page-recruit .recruit_main .txt_left .catch::before { top: -3px; left: -3px; }   /* 左上 */
.page-recruit .recruit_main .txt_left .catch::after { top: -3px; right: -3px; }   /* 右上 */
.page-recruit .recruit_main .txt_left .catch .handle.top::before {
  left: 50%; top: -3px; transform: translateX(-50%);  /* 上中央 */
}
.page-recruit .recruit_main .txt_left .catch .handle.bottom::before {
  left: 50%; bottom: -3px; transform: translateX(-50%); /* 下中央 */
}
.page-recruit .recruit_main .txt_left .catch .handle.left::before {
  bottom: 9px; left: -3px;  /* 左下 */
}
.page-recruit .recruit_main .txt_left .catch .handle.right::before {
  bottom: 9px; right: -3px; /* 右下 */
}
.page-recruit .recruit_main .txt_left .catch .handle {
	position: absolute;
    width: 100%;
    height: 0;
    border-top: 1px dashed #343538;
    padding: 0 10px;
}
.page-recruit .recruit_main .txt_left .catch .handle.top {
    top: 0;
    left: -10px;
}
.page-recruit .recruit_main .txt_left .catch .handle.bottom {
    bottom: 0;
    left: -10px;
}
.page-recruit .recruit_main .txt_left .catch .handle.left {
	width: 0;
    height: 100%;
    padding: 10px 0;
    top: -10px;
    left: 0;
    border-left: 1px dashed #343538;
}
.page-recruit .recruit_main .txt_left .catch .handle.right {
	width: 0;
    height: 100%;
    padding: 10px 0;
    top: -10px;
    right: 0;
    border-left: 1px dashed #343538;
}
.page-recruit .recruit_main .txt_left p {
	margin-bottom: 1em;
}
.page-recruit .recruit_main .img_right{
	width: 50%;
}
.page-recruit .recruit_main .img_right img {
	position: relative;
	max-width: 50%;
	height: auto;
	border-radius: 16px;
}
.page-recruit .recruit {
	margin-top: 80px;
	margin-bottom: 120px;
}
.page-recruit .recruit h2 {
	padding-left: 0;
}
.page-recruit .recruit h2:before,
.page-recruit .recruit h2:after {
	display: none;
}
.page-recruit .recruit .img_right img {
	border-radius: 16px 0 0 16px;
}
.page-recruit .interview {
	margin-bottom: 130px;
}
.page-recruit .interview h2 {
	margin: 24px 0 48px;
	padding-left: 0;
}
.page-recruit .interview h2:before,
.page-recruit .interview h2:after {
	display: none;
}
.page-recruit .interview ul {
	display: flex;
    flex-wrap: wrap;
    gap: 28px 86px;
	margin-bottom: 76px;
}
.page-recruit .interview ul li {
	width: calc((100% - 172px) / 3);
	line-height: 1.5;
}
.page-recruit .interview ul li a {
}
.page-recruit .interview ul li a img {
	width: 100%;
	height: auto;
	border-radius: 16px;
	margin-bottom: 28px;
}
.page-recruit .interview ul li a .name {
	padding-bottom: 6px;
    margin-bottom: 4px;
}
.page-recruit .interview ul li a .word-bg {
	background: #F5F1F1;
    border-radius: 5px;
    padding: 2px 7px 3px;
    margin-right: 10px;
}
.page-workplace p {
	margin-bottom: 32px;
}
.page-workplace section {
	padding: 64px 0;
	margin-bottom: 42px;
	border-bottom: 1px solid #D9D9D9;
}
.page-workplace section.contact,
.page-workplace section.entry {
	margin-bottom: 0;
	border: none;
}
.page-workplace section#page_nav {
	padding: 0 0 48px;
}
.page-workplace section#anc10 {
	border-bottom: none;
}
.page-workplace section h2 {
	display: flex;
    align-items: center;
    gap: 24px;
	margin-bottom: 32px;
}
.page-workplace section h2 span {
	display: inline-flex;
    background: #f7f7f7;
    border: 1px solid #D9D9D9;
    border-radius: 14px;
    padding: 7px 14px;
}
.page-workplace section .intro {
	display: flex;
    flex-wrap: wrap;
	align-items: flex-start;
    gap: 16px 42px;
	margin-bottom: 48px;
}
.page-workplace section .catch {
	position: relative;
    width: 453px;
    text-align: center;
    padding: 20px 8px;
	margin-top: 16px;
    background: #F7F7F7;
    display: inline-block;
	box-sizing: border-box;
}
.page-workplace section .catch::before,
.page-workplace section .catch::after,
.page-workplace section .catch .handle::before {
	content: '';
  position: absolute;
  width: 3px;
  height: 3px;
  background: #fff;
  border: 1px solid #343538;
}
.page-workplace section .catch::before { top: -3px; left: -3px; }   /* 左上 */
.page-workplace section .catch::after { top: -3px; right: -3px; }   /* 右上 */
.page-workplace section .catch .handle.top::before {
  left: 50%; top: -3px; transform: translateX(-50%);  /* 上中央 */
}
.page-workplace section .catch .handle.bottom::before {
  left: 50%; bottom: -3px; transform: translateX(-50%); /* 下中央 */
}
.page-workplace section .catch .handle.left::before {
  bottom: 9px; left: -3px;  /* 左下 */
}
.page-workplace section .catch .handle.right::before {
  bottom: 9px; right: -3px; /* 右下 */
}
.page-workplace section .catch .handle {
	position: absolute;
    width: 100%;
    height: 0;
    border-top: 1px dashed #343538;
    padding: 0 10px;
}
.page-workplace section .catch .handle.top {
    top: 0;
    left: -10px;
}
.page-workplace section .catch .handle.bottom {
    bottom: 0;
    left: -10px;
}
.page-workplace section .catch .handle.left {
	width: 0;
    height: 100%;
    padding: 10px 0;
    top: -10px;
    left: 0;
    border-left: 1px dashed #343538;
}
.page-workplace section .catch .handle.right {
	width: 0;
    height: 100%;
    padding: 10px 0;
    top: -10px;
    right: 0;
    border-left: 1px dashed #343538;
}
.page-workplace section .catch + div {
	width: calc(100% - 495px);
	line-height: 1.75;
}
.page-workplace section .detail {
	display: flex;
    gap: 24px 48px;
    flex-wrap: wrap;
}
.page-workplace section .detail .detail_R {
	width: 50%;
}
.page-workplace section .detail .detail_R img {
	width: 100%;
	height: auto;
	border-radius: 16px;
}
.page-workplace section .detail .detail_L {
	width: calc(50% - 48px);
}
.page-workplace section .detail .detail_L h3 {
	margin-bottom: 16px;
}
.page-workplace section .detail .detail_L p {
	margin-bottom: 42px;
}
.page-workplace section .detail .detail_L dl dt {
	font-size: 16px;
    color: #fff;
    text-align: center;
    background: #4A70AB;
    border-radius: 8px;
    padding: 6px;
    margin-bottom: 16px;
}
.page-workplace section .detail .detail_L ul {
}
.page-workplace section .detail .detail_L ul li {
	position: relative;
	padding-left: 32px;
	font-size: 16px;
    font-weight: 500;
}
.page-workplace section .detail .detail_L ul li:before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background: #8FBA4A;
	border-radius: 50%;
	position: absolute;
    top: 9px;
    left: 7px;
}
.page-workplace #anc01 {
	padding: 0;
	border-bottom: none;
}
.page-workplace #anc01 h2 {
	padding-left: 0;
	margin: 24px 0 36px;
}
.page-workplace #anc01 h2:before,
.page-workplace #anc01 h2:after {
	display: none;
}
.page-workplace #anc01 img {
	max-width: 100%;
	width: 593px;
	height: auto;
}
.page-workplace #anc01 ul {
	display: flex;
    justify-content: center;
    gap: 8px 70px;
    background: #f6f6f6;
    width: 560px;
    margin: 20px auto;
    padding: 11px 25px;
    box-sizing: border-box;
    border-radius: 6px;
}
.page-workplace #anc01 ul li:before {
	content: "";
    width: 17px;
    height: 17px;
    display: inline-block;
    border-radius: 50%;
    background: #FBDB25;
    vertical-align: middle;
    margin-bottom: 4px;
    margin-right: 5px;
}
.page-workplace #anc01 ul li:nth-child(2):before {
    background: #4A70AB;
}
.page-workplace #anc01 ul li:nth-child(3):before {
    background: #8FBA4A;
}
.page-origin #policy {
	position: relative;
	margin-bottom: 80px;
}
.page-origin #policy:before {
	content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(40, 72, 123, 0.9);
    position: absolute;
    top: 0;
    left: 0;
}
.page-origin #policy .section_inner {
	display: block;
	position: absolute;
    left: 0;
    right: 0;
    padding-top: 64px;
}
.page-origin #policy .section_inner h3 {
	margin-bottom: 32px;
}
.page-origin #policy .section_inner p {
}
.page-origin #policy img {
	width: 100%;
	height: auto;
}
.page-origin #policy .size185 {
	position: absolute;
    bottom: -25px;
    right: 0;
    opacity: 0.12;
    text-align: right;
    white-space: nowrap;
}
.page-origin .section_inner {
	display: flex;
    gap: 24px 90px;
    margin-bottom: 80px;
}
.page-origin #anc02 .section_inner,
.page-origin #anc06 .section_inner,
.page-origin #anc07 .section_inner{
	flex-direction: row-reverse;
}
.page-origin .section_inner .img img {
	width: 100%;
	height: auto;
	border-radius: 16px;
}
.page-origin .section_inner div.green {
	margin-bottom: 14px;
}
.page-origin .section_inner div.blue {
	position: relative;
	line-height: 1.4;
	margin-bottom: 34px;
}
.page-origin .section_inner div.blue:after {
	content: "";
	display: block;
	width: calc(100% - 200px);
	height: 1px;
	background: #4A70AB;
	position: absolute;
	top: 50%;
	margin-left: 200px;
}
.page-origin #anc04 .section_inner div.blue:after,
.page-origin #anc05 .section_inner div.blue:after,
.page-origin #anc06 .section_inner div.blue:after,
.page-origin #anc07 .section_inner div.blue:after,
.page-origin .contact .section_inner div.blue:after{
	display: none;
}
.page-origin .section_inner h3 {
	line-height: 1.4;
	margin-bottom: 32px;
}
.page-origin .section_inner p {
	margin-bottom: 32px;
}
.page-origin #anc01 .section_inner .img {
	width: 36%;
}
.page-origin #anc01 .section_inner .txt {
	width: calc( 64% - 90px);
}
.page-origin #anc02 .section_inner .img {
	width: 42%;
	position: relative;
	padding-bottom: 20%;
}
.page-origin #anc02 .section_inner .img img {
	width: 83%;
	height: auto;
}
.page-origin #anc02 .section_inner .img img + img{
	width: 68%;
	position: absolute;
	right: 0;
	bottom: 0;
}
.page-origin #anc02 .section_inner .txt {
	width: calc( 58% - 90px);
}
.page-origin #anc03 .section_inner .img {
	width: 45%;
}
.page-origin #anc03 .section_inner .txt {
	width: calc( 55% - 90px);
}
.page-origin #anc04 .section_inner {
	display: block;
}
.page-origin #anc05 .section_inner .img {
	width: 45%;
}
.page-origin #anc05 .section_inner .txt {
	width: calc( 55% - 90px);
}
.page-origin #anc06 .section_inner .img {
	width: 44%;
	position: relative;
	padding-bottom: 27%;
}
.page-origin #anc06 .section_inner .img img {
	width: 70%;
	height: auto;
}
.page-origin #anc06 .section_inner .img img + img{
	width: 58%;
	position: absolute;
	right: 0;
	bottom: 0;
}
.page-origin #anc06 .section_inner .txt {
	width: calc( 56% - 90px);
}
.page-origin #anc07 .section_inner .img {
	width: 45%;
}
.page-origin #anc07 .section_inner .txt {
	width: calc(55% - 90px);
}

.page-origin .bg {
	margin-bottom: 80px;
}
.page-origin .bg img {
	width: 100%;
	height: auto;
}
.page-origin .contact .section_inner {
	display: block;
}
.page-team section .section_inner {
	display: flex;
	flex-wrap: wrap;
	gap: 0 77px;
	margin-bottom: 64px;
}
.page-team section.entry .section_inner {
    gap: 53px;
}
.page-team section#anc01 .section_inner.career_up {
	gap:0 63px;
}
.page-team section#anc02 .section_inner {
	gap:0 50px;
}
.page-team h2{
	width: 100%;
	margin-bottom: 32px;
}
.page-team section#anc04 h2 {
	margin-bottom: 48px;
}
.page-team h3{
	width: 100%;
	margin-bottom: 24px;
}
.page-team section#anc01 {
	margin-bottom: 120px;
}
.page-team section#anc01 .section_inner .txt_L {
	width: calc(54% - 77px);
}
.page-team section#anc01 .section_inner.career_up .txt_L,
.page-team section#anc01 .section_inner.support .txt_L {
	width: calc(54% - 63px);
}
.page-team section#anc02 .section_inner .txt_L {
	width: calc(54% - 50px);
}
.page-team section .section_inner .txt_L p.size28,
.page-team section#anc03 .section_inner p.size28{
	margin-bottom: 24px;
}
.page-team section .section_inner .img_R {
	width: 46%;
}
.page-team section .section_inner .img_R img {
	width: 100%;
	height: auto;
	border-radius: 16px;
}
.page-team section#anc01 .section_inner ul {
	display: flex;
	align-items: flex-start;
    flex-wrap: wrap;
    gap: 24px 65px;
	margin-bottom: 64px;
}
.page-team section#anc01 .section_inner ul li {
	font-size: 18px;
    font-weight: 700;
    padding: 10px 20px;
    background: #F5F1F1;
    border: 1px dashed #9A9A9A;
    border-radius: 8px;
    position: relative;
}
.page-team section#anc01 .section_inner ul li:after {
	content: "";
    display: block;
    width: 0;
    height: 0;
    border: 10px solid transparent;
    border-left-color: #4A70AB;
    position: absolute;
    top: 16px;
    right: -50px;
}
.page-team section#anc01 .section_inner ul li:last-child:after {
	display: none;
}
.page-team section#anc01 .section_inner .lesson {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
    gap: 48px 60px;
	margin-bottom: 64px;
}
.page-team section#anc01 .section_inner .lesson .lesson_inner {
	width: calc((100% - 120px) / 3);
	border: 1px solid #9A9A9A;
	border-radius: 8px;
	box-sizing: border-box;
}
.page-team section#anc01 .section_inner .lesson .lesson_inner h4 {
	background: #8FBA4A;
    padding: 26px 10px;
}
.page-team section#anc01 .section_inner .lesson .lesson_inner p {
	padding: 18px 26px 10px;
}
.page-team section#anc01 .section_inner .lesson .lesson_inner img {
	width: 35%;
    padding: 0 30px 25px;
}
.page-team section#anc01 .section_inner .lesson .lesson_inner:nth-child(1) img {
	width: 45%;
}
.page-team section#anc01 .section_inner .lesson .lesson_inner:nth-child(2) img {
	width: 30%;
}
.page-team section#anc02 {
	padding: 64px 0 1px;
	background: #F9F9F9;
}
.page-team section#anc02 .support {
	display: flex;
    flex-wrap: wrap;
	justify-content: center;
    gap: 44px;
}
.page-team section#anc02 .support .support_inner {
	display: flex;
    width: 267px;
    height: auto;
    aspect-ratio: 1;
    background: url(images/team/bg_01.png) center center no-repeat #4A70AB;
	background-size: 75%;
    border-radius: 50%;
	padding: 16px;
    box-sizing: border-box;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    gap: 24px;
}
.page-team section#anc02 .support .support_inner:nth-child(2) {
    background-image: url(images/team/bg_02.png);
}
.page-team section#anc02 .support .support_inner:nth-child(3) {
    background-image: url(images/team/bg_03.png);
}
.page-team section#anc02 .support .support_inner:nth-child(4) {
    background-image: url(images/team/bg_04.png);
}
.page-team section#anc02 .support .support_inner div {
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}
.page-team section#anc02 .support .support_inner span {
	font-size: 16px;
    font-weight: 700;
    color: #4a70ab;
    background: #fff;
    padding: 8px 6px;
    border-radius: 8px;
    display: inline-block;
}
.page-team section#anc02 .support .support_inner p {
	width: 100%;
}
.page-team section#anc03 {
	margin-bottom: 120px;
}
.page-team section#anc03 .section_inner ul {
	margin-top: 41px;
    display: flex;
    flex-wrap: wrap;
    gap: 42px 50px;
	margin-bottom: 24px;
}
.page-team section#anc03 .section_inner ul li {
	display: flex;
    width: calc((100% - 150px) / 4);
    height: auto;
    aspect-ratio: 1;
    border: 1px solid #9A9A9A;
    border-radius: 8px;
	box-sizing: border-box;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
}
.page-team section#anc03 .section_inner ul li .img {
	display: flex;
    align-items: center;
    justify-content: center;
	aspect-ratio: 1;
}
.page-team section#anc03 .section_inner ul li .img img {
	transform: scale(0.66);
	transform-origin: center center;
}
.page-team section#anc03 .section_inner ul li p {
	width: 100%;
	text-align: center;
	line-height: 30px;
}
.page-team section#anc03 .section_inner ul li.full {
	width: 100%;
	aspect-ratio: auto;
	flex-direction: row-reverse;
	justify-content: flex-end;
	gap: 35px 98px;
	padding: 0 42px;
}
.page-team section#anc03 .section_inner ul li.full p {
	text-align: left;
}
.page-team section#anc04 {
	margin-bottom: 165px;
}
.page-team section#anc04 .section_inner ul {
	display: flex;
    flex-wrap: wrap;
    gap: 48px 60px;
	margin-bottom: 48px;
}
.page-team section#anc04 .section_inner ul li {
	width: calc((100% - 120px) / 3);
    border: 1px solid #d9d9d9;
    border-radius: 16px;
    display: flex;
    gap: 40px;
    align-items: center;
    justify-content: center;
	padding: 50px 20px;
	box-sizing: border-box;
	text-align: center;
}
.page-team section#anc04 .section_inner ul li img {
	width: 95px;
	height: auto;
}
.page-team section#anc04 .section_inner ul li .data span {
	margin: 0 10px;
}
.page-team section#anc04 .section_inner ul li .data .size21 {
	margin-bottom: 21px;
}
.page-team section#anc04 .section_inner ul li .data div.size21:last-child {
	margin-bottom: 0;
}
.page-team section#anc04 .section_inner ul li.wide {
	width: calc((100% - 120px) / 3 * 2 + 60px);
	align-items: flex-end;
	padding: 29px 20px;
}
.page-team section#anc04 .section_inner ul li.wide img {
	width: 153px;
}
.page-team section#anc04 .section_inner ul li.wide .data {
	display: flex;
    gap: 48px;
}
.page-team section#anc04 .section_inner .graph {
	display: flex;
    gap: 66px;
}
.page-team section#anc04 .section_inner .graph .graph_L {
	display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
	width: calc(62% - 60px);
    border: 1px solid #d9d9d9;
    border-radius: 16px;
	padding: 48px;
    box-sizing: border-box;
}
.page-team section#anc04 .section_inner .graph .graph_L img {
	max-width: 373px;
	height: auto;
}
.page-team section#anc04 .section_inner .graph .img_R {
	width: 38%;
}
.page-team section#anc04 .section_inner .graph .img_R img {
	border-radius: 16px;
}
.recruit #introduction {
	background: url(images/crosstalk/bg_introduction.png) top center no-repeat;
	background-size: cover;
	padding: 100px 0;
}
.recruit ul.crosstalk_list_btn {
	display: flex;
    flex-wrap: wrap;
    gap: 60px;
	margin: 64px 0 0;
}
.recruit ul.crosstalk_list_btn li {
	width: calc(50% - 30px);
}
.recruit ul.crosstalk_list_btn li img{
	width: 100%;
    border-radius: 16px 16px 0 0;
}
.recruit ul.crosstalk_list_btn li a {
	background: #8FBA4A;
	display: block;
    border-radius: 16px;
}
.recruit ul.crosstalk_list_btn li:nth-child(2n+1) a {
	background: #4A70AB;
}
.recruit ul.crosstalk_list_btn li a .link_btn_txt {
	position: relative;
	padding: 0 40px 15px 15px;
}
.recruit ul.crosstalk_list_btn li a .link_btn_txt div {
	background: #fff;
    display: inline-block;
    padding: 0 8px;
	line-height: 1.4;
}
.recruit ul.crosstalk_list_btn li a .link_btn_txt:after {
	content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url(images/common/icon_arrow_g.svg) center center no-repeat #fff;
	background-size: 10px;
    border-radius: 50%;
    position: absolute;
    right: 15px;
    top: calc(50% - 12px);
    transition: 0.1s linear all;
}
.recruit ul.crosstalk_list_btn li:nth-child(2n+1) a .link_btn_txt:after {
    background: url(images/common/icon_arrow_b.svg) center center no-repeat #fff;
	background-size: 10px;
}
.recruit ul.crosstalk_list_btn li a:hover .link_btn_txt:after {
	right: 10px;
}
.recruit #crosstalk {
	margin-bottom: 165px;
}
.recruit #crosstalk h2 {
	border-top: 1px solid #e4ebf4;
    border-bottom: 1px solid #e4ebf4;
    position: relative;
    padding: 58px 0 40px;
	margin-top: 115px;
    font-size: 38px;
    line-height: 1.6;
}
.recruit #crosstalk.vol2 h2 {
	border-top-color: #eef5e4;
	border-bottom-color: #eef5e4;
}
.recruit #crosstalk h2:before,
.recruit #crosstalk h2:after {
	display: none;
}
.recruit #crosstalk h2 span {
	font-size: 20px;
    position: absolute;
    top: 0;
    background: #e4ebf4;
    padding: 0 18px;
    left: 50%;
    transform: translateX(-50%);
}
.recruit #crosstalk.vol2 h2 span {
    background: #eef5e4;
}
.recruit #crosstalk .crosstalk_member {
	margin-top: 90px;
}
.recruit #crosstalk .crosstalk_member img {
	width: 100%;
	height: auto;
	border-radius: 16px;
}
.crosstalk_introduction {
	position: relative;
	padding: 45px 30px 45px 180px;
    background: url(images/crosstalk/icon_check.svg) top 45px left 30px no-repeat #F7F7F7;
    background-size: 120px;
    letter-spacing: 0.1em;
	margin: 90px 20px;
}
.crosstalk_introduction::before,
.crosstalk_introduction::after,
.crosstalk_introduction .handle::before {
  content: '';
  position: absolute;
  width: 4px;
  height: 4px;
  background: #fff;
  border: 1px solid #343538;
}
.crosstalk_introduction::before { top: -3px; left: -3px; }   /* 左上 */
.crosstalk_introduction::after { top: -3px; right: -3px; }   /* 右上 */
.crosstalk_introduction .handle.top::before {
  left: 50%; top: -3px; transform: translateX(-50%);  /* 上中央 */
}
.crosstalk_introduction .handle.bottom::before {
  left: 50%; bottom: -3px; transform: translateX(-50%); /* 下中央 */
}
.crosstalk_introduction .handle.left::before {
  bottom: 15px; left: -3px;  /* 左下 */
}
.crosstalk_introduction .handle.right::before {
  bottom: 15px; right: -3px; /* 右下 */
}
.crosstalk_introduction .handle {
	position: absolute;
    width: 100%;
    height: 0;
    border-top: 1px dashed #343538;
    padding: 0 17px;
}
.crosstalk_introduction .handle.top {
    top: 0;
    left: -17px;
}
.crosstalk_introduction .handle.bottom {
    bottom: 0;
    left: -17px;
}
.crosstalk_introduction .handle.left {
	width: 0;
    height: 100%;
    padding: 17px 0;
    top: -17px;
    left: 0;
    border-left: 1px dashed #343538;
}
.crosstalk_introduction .handle.right {
	width: 0;
    height: 100%;
    padding: 17px 0;
    top: -17px;
    right: 0;
    border-left: 1px dashed #343538;
}
.crosstalk_introduction_tit {
	margin-bottom: 16px;
}
.crosstalk_introduction ul li {
	list-style-type: square;
    margin-left: 2em;
	line-height: 2.2;
}
.crosstalk_content_point {
	margin: 90px 0;
    padding: 90px 45px;
/*    background: url(images/crosstalk/icon_point_blue.svg) center left 30px no-repeat #F2F4F5;
    background-size: 100px;*/
	background: #4a70ab;
	color: #fff;
	text-align: center;
}
.page-crosstalk02 {
    background: url(images/crosstalk/icon_point_green.svg) center left 30px no-repeat #F2F4F5;
    background-size: 100px;
}
.crosstalk_content_point_tit {
	margin-top: 16px;
	margin-bottom: 52px;
    position: relative;
}
.crosstalk_content_point_tit:after {
	content: "";
	position: absolute;
    width: 15px;
    height: 1px;
    background: #fff;
    margin: auto;
    left: 0;
    right: 0;
    bottom: -32px;
}
.crosstalk_content_point_txt {
	line-height: 2.2;
}
.recruit #crosstalk .crosstalk_content {
	margin-top: 64px;
}
.recruit #crosstalk .crosstalk_content dl {
	display: flex;
    flex-wrap: wrap;
    gap: 45px 10px;
	margin-bottom: 64px;
}
.recruit #crosstalk .crosstalk_content dl dt {
	width: 120px;
	font-weight: bold;
}
.recruit #crosstalk .crosstalk_content dl dt.purple {
	color: #8F4AAB;
}
.recruit #crosstalk .crosstalk_content dl dt.orange {
	color: #D5783E;
}
.recruit #crosstalk .crosstalk_content dl dt.lightblue {
	color: #20ADD4;
}
.recruit #crosstalk .crosstalk_content dl dt.red {
	color: #D53E57;
}
.recruit #crosstalk .crosstalk_content dl dd {
	width: calc(100% - 130px);
}
.recruit #crosstalk .crosstalk_content dl dd span {
	font-size: 24px;
	font-weight: 500;
}
.recruit #crosstalk .crosstalk_content ul {
	display: flex;
    flex-wrap: wrap;
    gap: 30px;
	margin: 115px 0;
}
.recruit #crosstalk .crosstalk_content ul li {
	width: calc(50% - 15px);
}
.recruit #crosstalk .crosstalk_content ul li + li {
	margin-top: 60px;
}
.recruit #crosstalk .crosstalk_content ul li img {
	width: 100%;
	height: auto;
	border-radius: 16px;
}
.recruit #crosstalk .crosstalk_content .summary {
	line-height: 1.6;
}
.recruit #crosstalk .crosstalk_content .summary div {
	margin-bottom: 24px;
}
.recruit #crosstalk .crosstalk_content .crosstalk_list {
	margin-top: 115px;
}
.recruit #crosstalk .crosstalk_content .crosstalk_list div span {
	font-size: 20px;
    display: inline-block;
    margin-bottom: 20px;
}
.recruit #crosstalk .crosstalk_content .crosstalk_list ul {
	display: flex;
    flex-wrap: wrap;
    gap: 60px;
	margin: 64px 0 0;
}
.recruit #crosstalk .crosstalk_content .crosstalk_list ul li {
	width: calc(50% - 30px);
}
.recruit #crosstalk .crosstalk_content .crosstalk_list ul li + li {
	margin-top: 0;
}
.recruit #crosstalk .crosstalk_content .crosstalk_list ul li img{
	width: 100%;
    border-radius: 16px;
}


.post-type-archive-interview .interview {
	margin-bottom: 130px;
}
.post-type-archive-interview .entry {
	margin-bottom: 0;
}
.post-type-archive-interview .interview ul {
	display: flex;
    flex-wrap: wrap;
    gap: 64px 86px;
	margin-bottom: 76px;
}
.post-type-archive-interview .interview ul li {
	width: calc((100% - 172px) / 3);
	line-height: 1.5;
}
.post-type-archive-interview .interview ul li a:after {
	display: none;
}
.post-type-archive-interview .interview ul li a img {
	width: 100%;
	height: auto;
	border-radius: 16px;
	margin-bottom: 28px;
}
.post-type-archive-interview .interview ul li a .name {
	padding-bottom: 6px;
    margin-bottom: 4px;
}
.post-type-archive-interview .interview ul li a .word-bg {
	background: #F5F1F1;
    border-radius: 5px;
    padding: 2px 7px 3px;
    margin-right: 10px;
}
.single-interview section.interview .mainimg {
	position: relative;
	margin-bottom: 84px;
}
.single-interview section.interview .mainimg img {
	width: 50%;
    height: auto;
    aspect-ratio: 720 / 380;
    object-fit: cover;
}
.single-interview section.interview .mainimg .name_img {
	position: relative;
}
.single-interview section.interview .mainimg .name_img:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #9fb0ce;
	border-radius: 50%;
	position: absolute;
    z-index: 1;
	top: 15px;
    left: -5px;
}
.single-interview section.interview .mainimg .name_img img {
	width: 100px;
	aspect-ratio: auto;
	object-fit: none;
	position: relative;
    z-index: 2;
}
/*.single-interview section.interview .mainimg img {
	width: 100%;
    height: auto;
    aspect-ratio: 1440 / 380;
    object-fit: cover;
}*/
.single-interview section.interview .catch_copy {
	position: absolute;
    top: 50%;
    left: 48%;
    background: #fff;
    padding: 17px;
    border-radius: 8px;
}
.single-interview section.interview .name {
    position: absolute;
    bottom: 0;
    left: 50%;
    padding: 12px 22px 22px;
    background: #F5F1F1;
    line-height: 1.4;
    width: 50%;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.single-interview section.interview .name span {
    display: inline-block;
	margin-top: 10px;
}
.single-interview section.interview .name span.outfit {
	display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.single-interview section.interview .name:before {
	content: "";
    display: block;
    width: 60px;
    height: 100%;
    background: #F5F1F1;
    position: absolute;
    bottom: 0;
    left: -59px;
    clip-path: polygon(0 100%, 100% 0, 100% 100%);
}
.single-interview section.interview .name > br {
	display: none;
}
/*.single-interview section.interview .name {
	position: absolute;
    bottom: 14px;
    left: 48%;
    padding: 14px;
    background: #4A70AB;
    border-radius: 8px;
	line-height: 1.2;
	width: 42%;
}
.single-interview section.interview .name span {
	margin-bottom: 0.2em;
    display: inline-block;
}*/
.single-interview section.interview .section_inner {
	display: flex;
    gap: 64px 113px;
    flex-wrap: wrap;
	align-items: center;
    margin-bottom: 64px;
}
.single-interview section.interview .section_inner:nth-child(2n+1) {
	flex-direction: row-reverse;
}
.single-interview section.interview .section_inner:last-child {
	margin-bottom: 165px;
}
.single-interview section.interview .section_inner .img {
	width: calc(50% - 113px);
}
.single-interview section.interview .section_inner .img img {
	width: 100%;
    height: auto;
	border-radius: 16px;
	margin-bottom: 64px;
}
.single-interview section.interview .section_inner .txt {
	width: 50%;
}
.single-interview section.interview .section_inner .txt .heading {
	margin-bottom: 32px;
	line-height: 1.4;
}
.single-interview section.interview .section_inner .txt .content p {
	margin-bottom: 1em;
}


.page-requirements #requirement {
	background: #4a70ab;
	padding: 48px 0 136px;
}
.page-requirements #requirement .section_inner h3 {
	line-height: 1.4;
    margin-bottom: 24px;
}
.page-requirements #requirement .section_inner .recruitments-tabs {
  display: flex;
  gap: 0 33px;
}
.page-requirements #requirement .section_inner .recruitments-tabs button {
	width: calc((100% - 33px) / 2);
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    background: #B1B1B1;
    border: none;
    border-radius: 8px 8px 0 0;
    padding: 17px;
}
.page-requirements #requirement .section_inner .recruitments-tabs button.is-active {
	background: #8FBA4A;
}
.page-requirements #requirement .section_inner .recruitments-contents {
	background: #fff;
	padding: 48px 58px;
	border-radius: 0 0 8px 8px;
}
.page-requirements #requirement .section_inner .recruitments-contents .tab-content {
  display: none;
}
.page-requirements #requirement .section_inner .recruitments-contents .tab-content.is-active {
  display: block;
}
.page-requirements #requirement .section_inner .recruitments-contents .tab-content .size24 {
	margin: 24px 0;
}
.page-requirements #requirement .section_inner .recruitments-contents .tab-content .recruitments-contents-txt {
	border-bottom: 1px solid #B1B1B1;
    padding: 10px 10px 32px;
    margin-bottom: 22px;
	font-size: 16px;
	line-height: 1.75;
}
.page-requirements #requirement .section_inner .recruitments-contents .tab-content dl {
	display: flex;
    gap: 21px;
	margin-bottom: 22px;
}
.page-requirements #requirement .section_inner .recruitments-contents .tab-content dl dt {
	width: 150px;
	font-size: 16px;
	font-weight: 500;
	border-bottom: 1px solid #8FBA4A;
	padding: 10px 10px 32px;
}
.page-requirements #requirement .section_inner .recruitments-contents .tab-content dl dd {
	width: calc(100% - 171px);
	font-size: 16px;
	font-weight: 500;
	border-bottom: 1px solid #B1B1B1;
	padding: 10px 10px 32px;
}
.page-requirements #requirement .section_inner .recruitments-contents .tab-content dl dd strong {
	font-size: 18px;
	font-weight: 700px;
}
.page-requirements #requirement .section_inner .recruitments-contents .tab-content dl dd span {
	font-size: 12px;
    background: #F5F1F1;
    border: 1px dashed #9A9A9A;
    border-radius: 8px;
    padding: 2px 7px 3px;
    margin-right: 10px;
}
.m_recruit {
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
	margin-top: 60px;
}
.m-recruit__site {
	width: 32%;
	text-align: center;
}

.archive p.date ,
.single p.date {
	margin-bottom: 14px;
}
.archive h3,
.single h3 {
	position: relative;
	padding-bottom: 24px;
	margin-bottom: 42px;
	border-bottom: 1px dashed #343538;
}
.archive h3 {
	padding-right: 64px;
}
.archive h3:before,
.single h3:before {
	content: '';
    position: absolute;
    width: 4px;
    height: 4px;
    background: #fff;
    border: 1px solid #343538;
	bottom: -3px;
    left: -4px;
}
.archive h3:after,
.single h3:after {
	content: '';
    position: absolute;
    width: 4px;
    height: 4px;
    background: #fff;
    border: 1px solid #343538;
	bottom: -3px;
    right: -4px;
}
.archive section,
.single .content {
	margin-bottom: 64px;
}
.archive section article a {
	position: relative;
}
.archive section article a:after {
	content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url(images/common/icon_arrow_w.svg) center center no-repeat #8fba4a;
    border-radius: 50%;
    margin-left: 30px;
	transition: 0.1s linear all;
	position: absolute;
    right: 24px;
    bottom: 50%;
}
.archive section article a:hover:after {
	margin-left: 35px;
	margin-right: -5px;
}
.archive .wp-pagenavi {
	text-align: center;
    margin-bottom: 111px;
}
.single .btn {
	margin-bottom: 114px;
}


.error404 section {
	padding: 60px 0;
	text-align: center;
}
.error404 section h3 {
	margin-bottom: 48px;
}

/*-----------------------------------------
sp
-----------------------------------------*/
.sp{ display:none; }

@media screen and (max-width: 1024px) { /* タブレット横 */
.pc { display: none;}
.sp{ display: block;}

html {font-size: 16px;}

.size24 {font-size: 20px;}
.size28 {font-size: 24px;}
.size32 {font-size: 28px;}
.size68_5 { font-size: 58.5px; }
.size100 {font-size: 80px;}
.size176 {font-size: 14.5vw;}
.size185 {font-size: 14.5vw;}

header .header_inner nav {
		width: 100%;
		position: fixed;
		z-index: 9998;
		right: -100%;
		top: 0;
		margin-top: 86px;
		padding: 44px 0 120px;
		display: block;
		background-color: #fff;
		height: 100vh;
		overflow-y: scroll;
		box-sizing: border-box;
	}
header .header_inner nav ul{
	flex-wrap: wrap;
	gap: 0;
	}
header .header_inner nav ul li{
	width: calc(100% - 60px);
		border-bottom: 1px solid #ddd;
		margin: 0 auto;
	}
header .header_inner nav ul li a{
		display: block;
    padding: 10px 10px;
}
header .header_inner nav ul li.contact {
	border-bottom: none;
    margin-top: 64px;
    text-align: center;
}
header .header_inner nav ul li.contact a {
	width: 300px;
    max-width: 100%;
	border-radius: 28px;
    color: #fff;
    display: inline-block;
}
	
	.mainimg .catch.catch01 {
		left: auto;
    	right: 164px;
	}
	.mainimg .catch.catch02 {
		left: auto;
    	right: 50px;
	}
	.mainimg .scrolldown {
		right: 32px;
	}
	.animation-wrapper {
		font-size: 13vw;
	}
	.animation-wrapper .illustration {
		width: 24vw;
		height: auto;
	}
	
	.iidadesign .section_inner .txt_left {
		width: calc(100% - 320px);
	}
	.iidadesign .section_inner .img_right {
		width: 320px;
		text-align: center;
	}
	.iidadesign .section_inner .img_right img {
		max-width: 100%;
		height: auto;
	}
	
	.page-recruit .mainimg .recruit_slider {
		height: auto;
	}
	.page-recruit .mainimg .txt {
		left: 40px;
    	bottom: 100px;
	}
	.page-recruit .wrapper .breadcrumb {
		margin: -48px 40px 64px 40px;
	}
/*	.page-recruit .wrapper .recruit .txt_left{
		width: 100%;
		max-width: 100%;
		padding-left: 48px;
	}*/
	.page-recruit .interview ul,
	.post-type-archive-interview .interview ul{
		gap: 28px;
	}
	.page-recruit .interview ul li,
	.post-type-archive-interview .interview ul li{
		width: calc((100% - 56px) / 3);
	}
	.entry .section_inner .txt_right {
		width: 100%;
	}
	.page-origin #policy {
		overflow: hidden;
	}
	.page-origin #policy:before {
		padding-bottom: 64px;
	}
	.page-origin #policy img {
		width: 130%;
	}
	
	.page-team section#anc01 .section_inner ul {
		flex-wrap: wrap;
		gap: 24px 65px;
	}
	.page-team section#anc01 .section_inner ul li:before {
		display: none;
	}
	.page-team section#anc01 .section_inner ul li:after {
    	content: "";
    	display: block;
    	width: 0;
    	height: 0;
    	border: 10px solid transparent;
    	border-left-color: #4A70AB;
    	position: absolute;
    	top: 16px;
    	right: -50px;
	}
	.page-team section#anc01 .section_inner ul li:last-child:after {
		display: none;
	}
	.page-team section#anc02 .support {
		display: grid;
    	grid-template-columns: repeat(2, 1fr);
		margin: auto;
	}
	.page-team section#anc03 .section_inner ul li .txt {
		width: calc(100% - 207px);
	}
	.page-team section#anc04 .section_inner ul li {
		width: calc(50% - 30px);
	}
	.page-team section#anc04 .section_inner ul li.wide {
		width: 100%;
	}
	.page-team section#anc03 .section_inner ul li.full {
		gap: 35px;
	}
	.page-team section#anc03 .section_inner ul li.full .txt {
		width: calc(75% + (10px / 4));
	}
	.page-team section#anc03 .section_inner ul li.full .img {
		width: calc((100% - 150px) / 4);
	}
	.page-company #anc02 .table .table_img.sp {
		display: block;
		padding: 21px 21px 0;
	}
	.page-company #anc02 .table table td.td_img_wrap {
		padding-right: 10px;
	}

}
@media screen and (max-width: 896px) { /* iPhone XS MAX 横表示 */
	.sp{ display:inline-block; }
	.pc{ display:none; }
	.wrapper{
		width:100%;
		overflow:hidden;
	}
	.wrapper .sp{
		display:inline;	
	}
	
	header {
		padding: 10px 3%;
	}
	header .header_inner .logo img {
		width: 120px;
    	height: auto;
	}
	header .header_inner nav {
		margin-top: 75px;
	}
	
	.error404 .pageimg .pageimg_title .pageimg_title_txt, .page .pageimg .pageimg_title .pageimg_title_txt, .archive .pageimg .pageimg_title .pageimg_title_txt, .single .pageimg .pageimg_title .pageimg_title_txt {
		left: 48px;
	}
	.page-contact .pageimg .pageimg_title .pageimg_title_txt {
		left: 50%;
		margin-top: 24px;
	}
	.page-contact .pageimg .pageimg_title span {
		font-size: 64px;
	}
	.wrapper .breadcrumb {
		margin-left: 96px;
	}
	#page_nav ul {
		margin-left: 48px;
	}
	
	.iidadesign .section_inner .txt_left,
	.iidadesign .section_inner .img_right,
	.technical .section_inner ul li,
	.recruit .txt_left,
	.recruit .img_right,
	.workplace .section_inner .txt_left,
	.workplace .section_inner .img_right,
	.entry .section_inner .txt_left,
	.entry .section_inner .txt_right,
	footer .footer_left,
	footer .footer_right {
		width: 100%;
		max-width: 100%;
	}
	.mainimg img {
		aspect-ratio: 1;
    	object-fit: cover;
	}
	.iidadesign .section_inner .img_right {
		margin-top: 64px;
	}
	.recruit {
		align-items: flex-start;
	}
	.recruit .img_right {
		overflow: hidden;
	}
	.recruit .img_right img {
		height: auto;
		aspect-ratio: 2 / 1;
	    object-position: left top;
	}
	.technical,
	.workplace {
		padding-top: 165px;
	}
	.workplace .section_inner .img_right {
		margin: 64px 0 0;
	}
	footer .footer_right > ul {
		width: calc(100% / 3);
		max-width: calc(100% / 3);
	}
	footer .footer_left,
	footer .footer_right {
		width: 100%;
	}
	
	.page-company #anc02 .table,
	.page-company #anc03 .table {
		padding: 27px;
	}
	.page-company #anc04 .section_inner {
		gap: 48px;
	}
	.page-company #anc04 .section_inner .history_box {
		width: calc(100% - 209px);
	}
	.page-company #anc05 .access_box {
		flex-direction: column;
	}
	.page-company #anc05 .access_box .access_box_L {
		border: none;
		border-bottom: 1px dashed #4A70AB;
		padding: 0 0 24px;
	}
	
	.page-technical .section_inner .tec_box {
		gap: 32px;
	}
	.page-technical .section_inner .tec_box div {
		width: calc(50% - 16px);
	}
	.page-recruit .interview ul {
		gap: 28px 32px;
	}
	.page-recruit .interview ul li {
		width: calc((100% - 64px) / 3);
	}
	.page-origin .section_inner {
		flex-wrap: wrap;
	}
	.page-origin #anc01 .section_inner .img,
	.page-origin #anc02 .section_inner .img,
	.page-origin #anc03 .section_inner .img,
	.page-origin #anc05 .section_inner .img,
	.page-origin #anc06 .section_inner .img,
	.page-origin #anc07 .section_inner .img,
	.single-interview section.interview .section_inner .img,
	.page-team section .section_inner .img_R,
	.page-team section .section_inner .img_L,
	.page-workplace section .detail .detail_R {
		text-align: center;
		width: 100%;
		height: 320px;
		padding-bottom: 0;
	}
	.page-team section .section_inner .img_R {
		padding-top: 48px;
	}
	.page-origin #anc01 .section_inner .img img,
	.page-origin #anc02 .section_inner .img img,
	.page-origin #anc03 .section_inner .img img,
	.page-origin #anc05 .section_inner .img img,
	.page-origin #anc06 .section_inner .img img,
	.page-origin #anc07 .section_inner .img img,
	.single-interview section.interview .section_inner .img img,
	.page-team section .section_inner .img_R img,
	.page-team section .section_inner .img_L img,
	.page-workplace section .detail .detail_R img {
		height: 100%;
    	width: auto
	}
	.page-origin #anc02 .section_inner .img img + img,
	.page-origin #anc06 .section_inner .img img + img{
		display: none;
	}
	.page-origin #anc01 .section_inner .txt,
	.page-origin #anc02 .section_inner .txt,
	.page-origin #anc03 .section_inner .txt,
	.page-origin #anc05 .section_inner .txt,
	.page-origin #anc06 .section_inner .txt,
	.page-origin #anc07 .section_inner .txt,
	.single-interview section.interview .section_inner .txt,
	.page-team section .section_inner .txt_R,
	.page-team section#anc01 .section_inner .txt_L,
	.page-team section#anc01 .section_inner.career_up .txt_L,
	.page-team section#anc02 .section_inner .txt_L,
	.page-workplace section .catch + div,
	.page-workplace section .detail .detail_L{
		width: 100%;
	}
	
	
/*	.single-interview section.interview .name {
		top: 50%;
	}*/
	
	.page-team section#anc01 .section_inner .lesson {
		gap: 48px;
	}
	.page-team section#anc01 .section_inner .lesson .lesson_inner {
		width: calc(50% - 24px);
	}
	.page-team section#anc03 .section_inner ul li {
		width: calc((100% - 100px) / 3);
	}
	.page-team section#anc04 .section_inner .graph .graph_L img {
		max-width: 100%;
	}
	
	.single-interview section.interview .mainimg .name_img img {
		width: 60px;
	}
	.single-interview section.interview .name span.size16 {
		font-size: 14px;
	}
}
@media screen and (max-width: 640px) {
.size24 {font-size: 20px;}
.size32 {font-size: 28px;}
.size48 {font-size: 36px;}
.size64 {font-size: 48px;}
.size68_5 { font-size: 42.5px; }
.size80 {font-size: 60px;}
.size100 {font-size: 80px;}
	
	.mainimg {
		margin-top: 45px;
	}
	.mainimg .catch {
		font-size: 7.0vw;
		padding: 5vw 3.5vw;
	}
	.mainimg .catch.catch01 {
		top: calc(50% - 64px);
		right: 128px;
	}
	.mainimg .catch.catch02 {
		top: calc(50% + 48px);
	}
	.mainimg .scrolldown {
		padding-right: 64px;
	}
	.mainimg .scrolldown:after {
		width: 58px;
	}
	@keyframes moveRight {
  from {
    right: 58px;
  }
  to {
    right: 0;
  }
}
	.technical,
	.workplace {
		padding-top: 64px;
	}
	.technical .section_inner,
	.workplace .section_inner,
	footer {
		padding: 32px;
	}
	.recruit .txt_left {
		padding: 0 32px;
	}
	.technical .section_inner h2,
	.news .section_inner .size100 {
    	order: 1;
	}
	.technical .section_inner p,
	.news .section_inner h2{
		order: 2;
	}
	.technical .section_inner ul,
	.news .section_inner .news_list{
		order: 3;
	}
	.technical .section_inner .btn,
	.news .section_inner .btn{
		order: 4;
		margin-top: 64px;
	}
	.technical .section_inner ul li a {
		flex-wrap: wrap;
    	justify-content: center;
		padding-right: 0;
	}
	.technical .section_inner ul li a img {
		width: 100%;
		border-radius: 8px 8px 0 0; 
	}
	.technical .section_inner ul li a div {
		padding-bottom: 24px;
	}
	.technical .section_inner ul li a::after {
		top: auto;
		bottom: 24px;
	}
	
	.contact .section_inner .size100 {
		font-size: 15vw;
	}
	footer .footer_right {
		flex-wrap: wrap;
	}
	footer .footer_right > ul {
		width: 100%;
		max-width: 100%;
	}
	footer .footer_right > ul > li {
		margin-bottom: 0.9em;
	}
	
	.wrapper .breadcrumb {
		margin-top: -24px;
	}
	
	.page-company #anc02 .table, .page-company #anc03 .table {
		padding: 0;
	}
	.page-company #anc02 .table table th,
	.page-company #anc02 .table table td,
	.page-company #anc03 .table table th,
	.page-company #anc03 .table table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	.page-company #anc02 .table table td,
	.page-company #anc03 .table table td {
		padding: 10px;
		border: none;
	}
	.page-company #anc04 h2 {
		writing-mode: inherit;
		margin-bottom: 0;
	}
	.page-company #anc04 h2 span {
		transform: rotate(0);
	}
	.page-company #anc04 .section_inner .history_box {
		width: 100%;
	}
	
	.page-technical .section_inner .tec_box div {
		width: 100%;
	}
	
	.page-recruit .interview ul {
		gap: 28px;
	}
	.page-recruit .interview ul li,
	.post-type-archive-interview .interview ul li {
		width: calc(50% - 14px);
	}
	
	.page-team section#anc01 .section_inner ul li {
		width: 100%;
	}
	.page-team section#anc01 .section_inner ul li:before {
		display: none;
	}
	.page-team section#anc01 .section_inner ul li:after {
    	top: unset;
        bottom: -28px;
        right: 50%;
        border-left-color: transparent;
        border-top-color: #4A70AB;
	}
	.page-team section#anc01 .section_inner ul li:last-child:after {
		display: none;
	}
	.page-team section#anc01 .section_inner .lesson .lesson_inner {
		width: 100%;
	}
	.page-team section#anc02 .support {
		grid-template-columns: repeat(1, 1fr);
	}
	.page-team section#anc03 .section_inner ul {
		gap: 42px;
	}
	.page-team section#anc03 .section_inner ul li {
		width: calc(50% - 21px);
	}
	.page-team section#anc04 .section_inner ul li,
	.page-team section#anc04 .section_inner .graph .graph_L {
		width: 100%;
	}
	.page-team section#anc04 .section_inner ul li .data span.size80 {
		font-size: 52px;
		line-height: 1.4;
	}
	.page-team section#anc04 .section_inner .graph {
		flex-wrap: wrap;
		gap: 42px;
	}
	.page-team section#anc04 .section_inner .graph .img_R {
		padding-top: 0;
		width: 100%;
		text-align: center;
	}
	.page-requirements #requirement .section_inner .recruitments-contents {
		padding: 40px;
	}
	.page-requirements #requirement .section_inner .recruitments-contents .tab-content dl {
		flex-wrap: wrap;
	}
	.page-requirements #requirement .section_inner .recruitments-contents .tab-content dl dt,
	.page-requirements #requirement .section_inner .recruitments-contents .tab-content dl dd {
		width: 100%;
		padding: 10px;
	}
	.page-requirements #requirement .section_inner .recruitments-contents .tab-content dl dd {
		border: none;
	}
	.m-recruit__site {
		width: 100%;
	}
	
	.page-contact #anc01 table th,
	.page-contact #anc01 table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	
	.recruit #crosstalk h2 {
		font-size: 32px;
	}
	
	.crosstalk_introduction {
		background-position: top 20px left 20px;
		padding: 80px 20px 20px 30px;
		margin: 60px 0px;
	}
	.crosstalk_content_point {
		background-position: top 15px left 15px;
    	padding: 100px 20px 20px 30px;
    	margin: 60px 0px;
    	background-size: 80px;
	}
	.recruit #crosstalk .crosstalk_content dl {
		gap: 10px;
	}
	.recruit #crosstalk .crosstalk_content dl dt,
	.recruit #crosstalk .crosstalk_content dl dd {
		width: 100%;
	}
	.recruit #crosstalk .crosstalk_content dl dd {
		margin-bottom: 20px;
	}
	.recruit #crosstalk .crosstalk_content dl dd span {
		font-size: 20px;
	}
	.recruit #crosstalk .crosstalk_content ul {
		margin: 60px 0;
	}
	
	.single-interview section.interview .mainimg img {
		width: 100%;
		height: auto;
	}
	.single-interview section.interview .name {
		height: auto;
    	width: auto;
    	max-width: calc(100% - 60px);
    	right: 0;
    	left: auto;
	}
	
	
	
}
@media screen and (max-width: 480px) {
	.size16 {
    	font-size: 14px;
	}
	.size18 {
    	font-size: 15px;
	}
	.size28 {
        font-size: 20px;
    }
	
	h2 span {
		width: 100%;
		word-wrap: break-word;
	}
	.error404 .pageimg, .page .pageimg {
		padding-bottom: 24px;
	}
	.archive .pageimg, .single .pageimg {
		padding-bottom: 24px;
	}
	.error404 .pageimg .pageimg_title, .page .pageimg .pageimg_title, .archive .pageimg .pageimg_title, .single .pageimg .pageimg_title {
		margin: 0 10px;
	}
	.error404 .pageimg .pageimg_title .pageimg_title_txt:before, .page .pageimg .pageimg_title .pageimg_title_txt:before, .archive .pageimg .pageimg_title .pageimg_title_txt:before, .single .pageimg .pageimg_title .pageimg_title_txt:before,
	.error404 .pageimg .pageimg_title .pageimg_title_txt:after, .page .pageimg .pageimg_title .pageimg_title_txt:after, .archive .pageimg .pageimg_title .pageimg_title_txt:after, .single .pageimg .pageimg_title .pageimg_title_txt:after{
		width: 14px;
    	height: 14px;
	}
	.error404 .pageimg .pageimg_title .pageimg_title_txt, .page .pageimg .pageimg_title .pageimg_title_txt, .archive .pageimg .pageimg_title .pageimg_title_txt, .single .pageimg .pageimg_title .pageimg_title_txt {
		top: 40%;
		left: 24px;
		font-size: 28px;
		padding-left: 28px;
	}
	.error404 .pageimg .pageimg_title span, .page .pageimg .pageimg_title span, .archive .pageimg .pageimg_title span, .single .pageimg .pageimg_title span {
		font-size: 10.5vw;
		bottom: -10px;
	}
	.wrapper .breadcrumb {
		margin-left: 34px;
		margin-bottom: 0;
	}
	#page_nav ul {
		margin: 0 24px;
	}
	#page_nav ul li a {
		font-size: 16px;
	}
	#page_nav ul li a:after {
		width: 16px;
    	height: 16px;
		background-size: 10px;
	}
	#page_nav {
		padding-bottom: 24px;
	}
	.page-recruit #page_nav {
		padding-top: 24px;
	}
	
	section .section_inner {
		max-width: calc(100% - 40px);
	}

	.page-company #anc02,
	.page-company #anc03,
	.page-company #anc04{
		padding: 60px 0;
	}
	.page-company #anc05 iframe {
		height: 320px;
	}

	.page-technical section .slide_tec .slick-slide {
		margin: 0 7px;
	}

	.page-origin #anc01 .section_inner .img, .page-origin #anc02 .section_inner .img, .page-origin #anc03 .section_inner .img, .page-origin #anc05 .section_inner .img, .page-origin #anc06 .section_inner .img, .page-origin #anc07 .section_inner .img, .single-interview section.interview .section_inner .img, .page-team section .section_inner .img_R, .page-team section .section_inner .img_L, .page-workplace section .detail .detail_R {
		height: auto;
	}
	.page-origin #anc01 .section_inner .img img, .page-origin #anc02 .section_inner .img img, .page-origin #anc03 .section_inner .img img, .page-origin #anc05 .section_inner .img img, .page-origin #anc06 .section_inner .img img, .page-origin #anc07 .section_inner .img img, .single-interview section.interview .section_inner .img img, .page-team section .section_inner .img_R img, .page-team section .section_inner .img_L img, .page-workplace section .detail .detail_R img {
		max-width: 100%;
    	height: auto;
	}
	.page-team section#anc04 .section_inner ul li {
		flex-wrap: wrap;
	}
	.page-workplace section h2 {
		flex-wrap: wrap;
		gap: 12px;
	}
	.page-workplace section h2::before{
		top: 4px;
	}
	.page-workplace section h2::after {
		top: 14px;
	}
	
	.page-requirements #requirement .section_inner {
		max-width: calc(100% - 40px);
	}
	.page-requirements #requirement .section_inner .recruitments-contents {
		padding: 20px;
	}

	.recruit #introduction {
		padding: 60px 0;
	}
	.recruit #link_btn ul li,
	.recruit #crosstalk .crosstalk_content .crosstalk_list ul li {
		width: 100%;
		margin: 0;
	}
	.recruit #crosstalk h2 {
		font-size: 24px;
	}
	.recruit #crosstalk .crosstalk_content dl {
		gap: 10px;
	}
	.recruit #crosstalk .crosstalk_content dl dt,
	.recruit #crosstalk .crosstalk_content dl dd {
		width: 100%;
	}
	.recruit #crosstalk .crosstalk_content dl dd {
		width: 100%;
		margin-bottom: 24px;
	}
	.recruit #crosstalk .crosstalk_content dl dd span {
		font-size: 22px;
	}
	.recruit #crosstalk .crosstalk_content ul {
		margin: 60px 0;
	}
	.recruit #crosstalk .crosstalk_content ul li {
		width: 90%;
	}
	.recruit #crosstalk .crosstalk_content ul li + li {
		margin-top: 0;
		margin-left: 10%;
	}
	
	.single-interview section.interview .name {
    	max-width: 100%;
    	position: unset;
		margin-top: -2px;
	}

}




