@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Gabarito:wght@400..900&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&display=swap');

html { 
	font-size: 62.5%;
	scroll-padding-top: 150px;
	scroll-behavior: smooth;
}

body {
	inline-size: 100%;
	-webkit-text-size-adjust: 100%;
	margin: 0;
	color: #505050;
	font-size: 16px;
  font-optical-sizing: auto;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.15em;
	background: #fff;
}

img {
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
}

* {box-sizing: border-box;}

a {	transition: .2s ease-in-out;}

h1, h2, h3, h4 {
    text-wrap: auto;
}

.pc { display: block !important;}
.sp { display: none !important;}
.sp_menu { display: none !important }

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

.noto-sans-jp { font-family: "Noto Sans JP", sans-serif;}
.inter { font-family: "Inter", sans-serif;}
.gabarito { font-family: "Gabarito", sans-serif;}


@media screen and (max-width:768px) {
.pc { display: none !important }
.sp { display: block !important }
img { max-width: 100%; height: auto; width: auto; }
html {	scroll-padding-top: 80px;}
body { min-width: auto !important; overflow: inherit !important; font-size: 4.2vw; }
div, p, dd, dl, dt, th, td, span, li { box-sizing: border-box; }
}


/* --------------------
レイアウト
--------------------*/
.inner {
}

.column {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
}

/* --------------------
余白
--------------------*/

/* --------------------
配置
--------------------*/
.tac { text-align: center !important;}

/* --------------------
見出し
--------------------*/
/* .headline_01 */
.headline_01 {
	margin: 0 0 1em 0;
	font-size: 16px;
}

.headline_01 .eng {
	display: block;
	margin-bottom: 1em;
	font-weight: 700;
	white-space: nowrap;
}

.headline_01 .jp {
	display: block;
	margin-top: 1em;
	font-weight: 500;
	white-space: nowrap;
}

/* .headline_02 */
.headline_02 {
	margin: 2em 0 1em;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.5;
}

/* .headline_03 */
.headline_03 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0 0 1em 0;
}

.headline_03 .jp {
	display: inline-block;
	font-size: 20px;
	font-weight: 500;
	line-height: 2.15;
	white-space: nowrap;
}

.headline_03 .eng {
	display: inline-block;
	margin-right: 0.5em;
	color: rgba(80,80,80,0.22);
	font-size: 135px;
	font-family: "Gabarito", sans-serif;
	font-weight: 700;
	line-height: 0.8;
	letter-spacing: 0.05em;
}

/* .headline_04 */
.headline_04 {
	margin: 0 0 1em 0;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.75;
}

@media screen and (max-width:768px) {
	
.headline_01 {
	font-size: 4.2vw;
}

.headline_02 {
	font-size: 6.4vw;
}
	
.headline_03 .jp {
	display: block;
	padding: 0 5vw;
	font-size: 5.3vw;
}

.headline_03 .eng {
	font-size: 14.6vw;
}

	
}


/* --------------------
背景
--------------------*/

@media screen and (max-width:768px) {
	
}

/* --------------------
リスト
--------------------*/

/* --------------------
ボタン
--------------------*/
.btn_01 {
	position: relative;
	display: inline-block;
	width: 100%;
	max-width: 394px;
	padding: 1em 50px 1em 0;
	color: #505050;
	font-size: 20px;
	text-decoration: none;
	border-bottom: 1px solid rgba(0,0,0,0.25);
}

.btn_01::after {
	content: "";
	position: absolute;
	right: 0;
	top: 0.5em;
	width: 48px;
	height: 48px;
	background: url("../images/common/arrow_01.svg") no-repeat center left 17px;
	border: 1px solid rgba(0,0,0,0.25);
	border-radius: 50%;
	transition : 0.5s;
}

.btn_01:hover {
	color: #5CA7E8; 
}

.btn_01:hover::after {
	background: url("../images/common/arrow_01.svg") no-repeat center left 30px;
	transition : 0.5s;
}

@media screen and (max-width:768px) {
.btn_01 {
	max-width: 100%;	
	padding: 1em 50px 1em 0;
	font-size: 5vw;
}

.btn_01::after {
	width: 12.8vw;
	height: 12.8vw;
	background: url("../images/common/arrow_01.svg") no-repeat center left 4.5vw;
}

.btn_01:hover::after {
	background: url("../images/common/arrow_01.svg") no-repeat center left 9vw;
	transition : 0.5s;
}
	

}

/* --------------------
流れるライン
--------------------*/
.line {
  position: absolute;
  z-index: 1;
  display: inline-block;
  width: 4px;
  height: 290px;
  overflow: hidden;
  border-radius: 2px;
  transform: rotate(55deg);
}

.line::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: #5CA7E8;
	border-radius: 2px;
	animation: scroll_line 3s cubic-bezier(0.87, 0, 0.13, 1) infinite;
	transform: translateY(100%);
}
	
.line_s {
  position: absolute;
  z-index: 1;
  display: inline-block;
  width: 4px;
  height: 132px;
  overflow: hidden;
  border-radius: 2px;
  transform: rotate(55deg);
}

.line_s::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: #5CA7E8;
	border-radius: 2px;
	animation: scroll_line 3s cubic-bezier(0.87, 0, 0.13, 1) infinite;
	transform: translateY(100%);
}
	
.line_b {
	position: absolute;
	z-index: 1;
	display: inline-block;
	width: 24px;
	height: 100px;
	overflow: hidden;
	border-radius: 24px;
	transform: rotate(55deg);
	opacity: 0.4;
}
	
.line_b::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 24px;
	display: block;
	background: linear-gradient(0deg, rgba(92,167,232,0.35), rgba(144,255,238,0.670));
	animation: scroll_line 5s cubic-bezier(0.87, 0, 0.13, 1) infinite;
	transform: translateY(100%);
}

/* アニメーション */
@keyframes scroll_line {
  0% { transform: translateY(100%); }
  50% { transform: translateY(0); }
  90% { transform: translateY(-100%); }
  100% { transform: translateY(-100%); }
}
	
.delay_10::before { animation-delay: 1s; }
.delay_20::before { animation-delay: 2s; }
.delay_30::before { animation-delay: 3s; }

@media screen and (max-width:768px) {
.line {
  height: 77.3vw;
}
	
.line_s {
  height: 30.9vw;
}
	
.line_b {
	height: 13.3vw;
}


}

/* --------------------
丸
--------------------*/
.maru {
	position: absolute;
	z-index: 1;
	border-radius: 50%;
}

/* 青 */
.maru_b {
	background: rgba(92, 167, 232, 0.35);
}

/* 黄 */
.maru_y {
	background: rgba(251, 244, 169, 0.69);
}

/* 水色 */
.maru_lb {
	background: rgba(165, 248, 248, 0.69);
}

/* 緑 */
.maru_g {
	background: #BEF4E5;
}

/* 大 */
.maru_l {
	width: 130px;
  height: 130px;
}

/* 中 */
.maru_m {
	width: 101px;
	height: 101px;
}

/* 小 */
.maru_s {
	width: 68px;
  height: 68px;
}

/* --------------------
wp-pagenavi
--------------------*/
.wp-pagenavi {
	margin-bottom: 80px;
	color: #505050;
	font-weight: 400;
}

.wp-pagenavi .page,
.wp-pagenavi .current,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	color: #fff;
	font-weight: 400;
	background: #5CA7E8;
	border: 1px solid #5CA7E8;
}

.wp-pagenavi .current {
  border: 1px solid #BFBFBF;
}

.wp-pagenavi .page {
	color: #505050;
	background-color: #fff;
	border: 1px solid #BFBFBF;
}

.wp-pagenavi .previouspostslink, 
.wp-pagenavi .nextpostslink {
	background-color: #fff;
	border: 1px solid #BFBFBF;
}

.wp-pagenavi .previouspostslink::after, 
.wp-pagenavi .nextpostslink::after {
	background-image: url("../images/common/icon_arrow.svg");
}

/* --------------------

header

--------------------*/
header {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1000;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 24px 30px;
}

header .site {
	margin: 0;
}

header .site a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0;
	color: #000;
	font-size: 16px;
	font-weight: 400;
	text-decoration: none;
}

header .site img {
	width: 88px;	
	margin-right: 40px;
}

header nav ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 6px 6px 6px 32px;
	background: #fff;
	border-radius: 45px;
}

header nav a {
	display: block;
	padding: 12px 14px;
	color: #000;
	font-size: 14px;
	text-decoration: none;
	line-height: 1;
}

header nav a:hover {
	color: #5CA7E8; 
}

header nav .contact {
	margin-left: 14px;
}

header nav .contact a {
	display: block;
	padding: 12px 28px;
	color: #fff; 
	background: #5CA7E8;
	border: 1px solid #5CA7E8;
	border-radius: 38px;
}

header nav .contact a:hover {
	color: #5CA7E8; 
	background: #fff; 
}

@media screen and (min-width:768.1px) and (max-width:1220px) {
	
header {
	padding: 1.96vw 2.45vw;
}

header .site a {
	font-size: 1.3vw;
}

header .site img {
	width: 7.2vw;	
	margin-right: 3.27vw;
}

header nav ul {
	padding: 0.49vw 0.49vw 0.49vw 2.62vw;
	border-radius: 3.68vw;
}

header nav a {
	padding: 0.98vw 1vw;
	font-size: 1vw;
}

header nav .contact {
	margin-left: 1.14vw;
}

header nav .contact a {
	display: block;
	padding: 0.98vw 1.47vw;
	border-radius: 3.11vw;
}
	
}

@media screen and (max-width:768px) {
header {
	padding: 5vw;
	background: #fff;
}

header .site a {
	font-size: 4.2vw;
}

header .site img {
	width: 13.3vw;	
	margin-right: 5vw;
}

.sp_menu {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 5vw;
  right: 5vw;
  z-index: 1000;
  width: 10vw;
  height: 8vw;
	padding: 2vw;
  text-align: center;
  cursor: pointer;
  background: #fff;
	border-radius: 1vw;
}

.sp_menu span {
  display: block;
  width: 8vw;
  height: 2px;
  background: #505050;
}

header nav {
  z-index: 99999;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: none;
  overflow: scroll;
  padding: 0;
	background: #FAFAFA;
  box-sizing: border-box;
}
	
header nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin: 0;
	padding: 10vw 5vw;
	list-style: none;
	background: #FAFAFA;
}

header nav li {
	width: 100%;
	margin: 0;
	padding: 0;
}

header nav li a {
	padding: 5vw;
	font-size: 4.5vw;
	text-decoration: none;
	text-align: center;
}

header nav .closebtn {
  display: block;
  position: fixed;
  top: 5vw;
  right: 5vw;
  z-index: 1000;
  width: 10vw;
  height: 8vw;
	padding: 2vw;
  text-align: center;
  cursor: pointer;
  background: #fff;
	border-radius: 1vw;
}

header nav .closebtn span {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
  display: block;
  width: 8vw;
  height: 2px;
  background: #505050;
}

header nav .closebtn span:first-child {
	transform:rotate(30deg); 
}

header nav .closebtn span:last-child {
	transform:rotate(-30deg); 
}
	
header nav .contact {
  margin: 1em 0 0 0;
}

}


/* --------------------

main

--------------------*/
main {
	display: block;
	overflow: hidden;
	background: #FAFAFA;
}


@media screen and (max-width:768px) {
main {
	margin-top: 19vw;
}
}

/* --------------------
#contact
--------------------*/
#contact {
	padding: calc(150px + 80px) 80px 80px;
	margin-top: 0;	
	text-align: center;
	background: url("../images/common/contact_bg.svg") no-repeat left top / 100% auto;
}

#contact .headline_03 .eng {
	display: block;
	width: 100%;
	margin-right: 0;
}

#contact .headline_03 .jp {
	display: block;
	width: 100%;
}

#contact .btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#contact .btn a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 520px;
	height: 175px;
	margin: 48px 24px;
	padding: 30px;
	text-decoration: none;
	border-radius: 30px;
}

#contact .btn a:hover {
	opacity: 0.75;
}

#contact .btn .btn_tel {
	cursor: pointer;
	pointer-events: auto; 
	background: #fff;
	border: 1px solid #fff;
}

#contact .btn .btn_tel:hover {
	border: 1px solid #5CA7E8;
}

#contact .btn .btn_tel .text {
	display: block;
	width: 100%;
	color: #505050;
	font-size: 20px;
	font-weight: 700;
}

#contact .btn .btn_tel .number {
	display: inline-block;
	padding-left: 48px;
	color: #5CA7E8;
	font-size: 32px;
	font-weight: 700;
	background: url("../images/common/icon_tel.svg") no-repeat left center;
}

#contact .btn .btn_tel .time {
	display: block;
	width: 100%;
	color: #505050;
	font-size: 14px;
}

#contact .btn .btn_entry {
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	background: #5CA7E8;
	border: 1px solid #5CA7E8;
}

#contact .btn .btn_entry .icon_link {
	padding-right: 5em;
	background: url("../images/common/icon_link.png") no-repeat right center;
}

@media screen and (max-width:768px) {
#contact {
	padding: 23vw 5vw 20px;
	margin-top: 0;	
	text-align: center;
	background: url("../images/common/contact_bg.svg") no-repeat center top / auto 150vw;
}

#contact .headline_03 .eng {
	display: block;
	width: 100%;
	margin-right: 0;
}

#contact .headline_03 .jp {
	display: block;
	width: 100%;
}

#contact .btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#contact .btn a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: auto;
	margin: 5vw 0;
	padding: 5vw;
	text-decoration: none;
	border-radius: 8vw;
}

#contact .btn .btn_tel .text {
	font-size: 5.3vw;
}

#contact .btn .btn_tel .number {
	padding-left: 1.5em;
	font-size: 8.5vw;
	background: url("../images/common/icon_tel.svg") no-repeat left center / 1em auto;
}

#contact .btn .btn_tel .time {
	font-size: 3.7vw;
}

#contact .btn .btn_entry {
	font-size: 5.3vw;
}

#contact .btn .btn_entry .icon_link {
	padding-right: 5em;
	background: url("../images/common/icon_link.png") no-repeat right center;
}
	
	
}


/* --------------------

#top（TOPページ）

--------------------*/
/* --------------------
#fv
--------------------*/
#fv {
	position: relative;
	overflow: hidden;
	margin: 0 0 7vw 0;
	padding: 0 0 2.5vw 0;
}

#fv::before {
	content: "";
	position: absolute;
	left: -6.8vw;
	bottom: 3.9vw;
	z-index: -1;
	width: 28.68vw;
	height: 28.68vw;
	background: #BEF4E5;
	border-radius: 50%;
}

#fv svg {
    width: 100%;
    height: auto;
  }

#fv .slide {
	margin: 0;
	padding: 0;
	list-style: none;
}

#fv .slide img {
	width: 100%;
	object-fit: cover;
	border-radius: 50% / 0 0 100% 100%;
}

#fv .copy_jp {
	position: absolute;
	top: 21.38vw;
	left: 10.41vw;
	width: 100%;
	color: #fff;
	font-weight: 700;
	text-shadow: 0px 0px 7px rgba(0, 0, 0, 0.4);
}

#fv .copy_jp .copy_1 {
	margin: 0 0 1em 0;
	font-size: 2.77vw;
	font-weight: 700;
	line-height: 1;
}

#fv .copy_jp .copy_1 span {
	color: #BEF4E5;
	font-size: 3.47vw;
}

#fv .copy_jp .copy_2 {
	margin: 0;
	font-size: 2.08vw;
	font-weight: 700;
	line-height: 2;
}

#fv .copy_eng {
	position: absolute;
	bottom: 0;
	width: 100%;
	color: rgba(92,167,232,0.35);
	font-size: 8.88vw;
	font-family: "Gabarito", sans-serif;
	font-weight: 700;
	text-align: center;
	line-height: 1;
	letter-spacing: 0.07em;
}

@media screen and (max-width:768px) {
#fv {
	margin: 0 0 7vw 0;
	padding: 0 0 20vw 0;
}

#fv .slide img {
	border-radius: none;
}

#fv .copy_jp {
	top: 92vw;
	left: 0;
	padding: 0 5vw;
}

#fv .copy_jp .copy_1 {
	font-size: 8vw;
	line-height: 1.6;
}

#fv .copy_jp .copy_1 span {
	font-size: 12vw;
}

#fv .copy_jp .copy_2 {
	font-size: 5.3vw;
	line-height: 2.5;
}

#fv .copy_eng {
	font-size: 14.6vw;
}
	
}

/* --------------------
#news
--------------------*/
#top #news {
	padding: 48px 5vw 80px;
}

#top #news .inner {
	position: relative;	
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	max-width: 930px;
	margin: auto;
	padding: 24px 64px;
	border: 1px solid #D9D9D9;
}

#top #news .inner::before {
	content: "";
	position: absolute;
	left: 0;
	top: -32px;
	z-index: 1;
	width: 101px;
	height: 101px;
	background: rgba(165,248,248,0.69);
	border-radius: 50%;
}

#top #news .inner .headline_01 {
	position: relative;
	z-index: 2;
}

#top #news .inner ul {
	flex: 1;
	margin: 0 0 0 64px;
	padding: 0;
	list-style: none;
}

#top #news .inner li:not(:last-child) {
	margin-bottom: 1em;
}

#top #news .inner li.note {
	padding-right: 5em;
}

#top #news .inner li a {
	display: block;
	overflow: hidden;
  text-overflow: ellipsis;
	white-space: nowrap;
	text-decoration: none;
	width: 100%;
	max-width: 630px;
}

#top #news .inner li a:hover {
	background: rgba(251,244,169,0.69);
}

#top #news .inner li a time {
	margin-right: 64px;
}

#top #news .inner .btn {
	width: 100%;
	text-align: right;
}

#top #news .inner .btn .btn_01 {
	padding-bottom: 0;
	max-width: 300px;
	text-align: left;
	border-bottom: none;
}

@media screen and (max-width:768px) {
	
#top #news .inner .headline_01 {
	width: 100%;
}

#top #news .inner {
	padding: 5vw;
}

#top #news .inner::before {
	content: "";
	position: absolute;
	left: 0;
	top: -32px;
	z-index: 1;
	width: 101px;
	height: 101px;
	background: rgba(165,248,248,0.69);
	border-radius: 50%;
}

#top #news .inner .headline_01 {
	position: relative;
	z-index: 2;
}
	
#top #news .inner ul {
	flex: none;
	width: 100%;
	margin: 0;
}

#top #news .inner li a {
  text-overflow: inherit;
	white-space: wrap;
}

#top #news .inner li a time {
	display: block;
	width: 100%;
	margin-right: 0;
}
	
#top #news .inner .btn .btn_01 {
	margin-top: 2em;
	max-width: 100%;
}
	
}


/* --------------------
#message
--------------------*/
#top #message {
	position: relative;
	padding: 80px;
}

#top #message .line_01 {
	left: 100px;
	top: 0;
}

#top #message .line_02 {
	left: 200px;
	bottom: -100px;
}

#top #message .line_03 {
	right: 250px;
	top: 80px;
}

#top #message .inner {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
}

#top #message .inner::before {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
	width: 203px;
	height: 203px;
	background: rgba(165,248,248,0.69);
	border-radius: 50%;
}

#top #message .inner .img {
	aspect-ratio: 1 / 1;
	width: min(457px, 31.7vw);
	height: min(457px, 31.7vw);
	margin-right: min(80px, 5.5vw);
	text-align: right;
	background: rgba(92,167,232,0.3);
	border-radius: 50%;
}

#top #message .inner .img img {
	aspect-ratio: 1 / 1;
	width: min(405px, 28.125vw);
	height: min(405px, 28.125vw);
	border-radius: 50%;
}

#top #message .inner .text {
	position: relative;
	z-index: 2;
	flex: 1;
	margin-bottom: 10vw;
	padding-left: min(64px, 4.4vw);
}

#top #message .inner .text::before {
	content: "";
	position: absolute;
	z-index: 1;
	left: -64px;
	top: -32px;
	width: 101px;
	height: 101px;
	background: rgba(251,244,169,0.69);
	border-radius: 50%;
}

#top #message .inner .text::after {
	content: "";
	position: absolute;
	right: 250px;
	top: 290px;
	z-index: -1;
	width: 71px;
	height: 71px;
	background: rgba(92,167,232,0.35);
	border-radius: 50%;
}

#top #message .inner .text .headline_01 {
	position: relative;
	z-index: 2;
	margin-left: -64px;
}

#top #message .inner .text p {
	line-height: 2.125;
}

#top #message .inner .text .btn_01 {
	margin-top: 2em;
}

@media screen and (max-width:768px) {
	
#top #message {
	padding: 5vw 0;
}

#top #message .line_01 {
	left: 50vw;
	top: 120vw;
}

#top #message .line_02 {
	left: 50vw;
	bottom: 50vw;
}

#top #message .line_03 {
	right: 30vw;
	top: -120vw;
}

#top #message .inner {
	position: relative;
	display: flex;
	justify-content: space-between;
	width: 100%;
}

#top #message .inner::before {
	content: none;
}

#top #message .inner .img {
	width: 100vw;
	height: 100vw;
	aspect-ratio: 1 / 1;
	margin-right: 0;
}

#top #message .inner .img img {
	border-radius: 50%;
	width: 92.5vw;
	height: 92.5vw;
}

#top #message .inner .text {
	position: relative;
	z-index: 2;
	flex: 1;
	padding: 10vw 5vw;
}

#top #message .inner .text::before {
	left: -5vw;
	top: -5vw;
	width: 26.9vw;
	height: 26.9vw;
}

#top #message .inner .text::after {
	right: 50vw;
	top: inherit;
	bottom: -20vw;
	z-index: -1;
	width: 18.1vw;
	height: 18.1vw;
}

#top #message .inner .text .headline_01 {
	position: relative;
	z-index: 2;
	margin-left: 10vw;
}

#top #message .inner .text p {
	line-height: 2.125;
}

#top #message .inner .text .btn_01 {
	margin-top: 2em;
}
	
}

/* --------------------
#strengths
--------------------*/
#strengths {
	padding: 80px 0 80px 40px;
}

#strengths .bg {
	position: relative;
	padding: 24px 64px 80px;
	background: rgba(92,167,232,0.35);
	border-radius: 48px 0 0 48px;
}

#strengths .bg::before {
	content: "";
	position: absolute;
	right: 128px;
	top: 250px;
	z-index: 1;
	width: 76px;
	height: 76px;
	background: rgba(251,244,169,0.69);
	border-radius: 50%;
}

#strengths .headline_03 {
	position: relative;
	padding-top: 50px;
}

#strengths .headline_03::before {
	content: "";
	position: absolute;
	left: -85px;
	top: 0;
	z-index: 1;
	width: 130px;
	height: 130px;
	background: rgba(251,244,169,0.69);
	border-radius: 50%;
}

#strengths .headline_03 .eng {
	position: relative;
	z-index: 2;
}

#strengths .bg p {
	position: relative;
	z-index: 2;
}

#strengths .inner {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(2, 1fr);
	grid-column-gap: 64px;
	grid-row-gap: 64px;
	margin-top: 80px;
}

#strengths .inner .item {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	padding: 48px 40px;
	background: #fff;
	border-radius: 48px;
}

#strengths .inner .item .number {
	position: absolute;
	top: -0.5em;
	left: 40px;
	color: rgba(80,80,80,0.22);
	font-size: 80px;
	font-family: "Gabarito", sans-serif;
	font-weight: 700;
	line-height: 1;
}

#strengths .inner .item .headline_04 {
	width: 100%;
}

#strengths .inner .item p {
	flex: 1;
}

#strengths .inner .item .img {
	width: 147px;
	margin-left: 30px;
}

@media screen and (min-width:768px) and (max-width:1100px) {
#strengths .inner .item .img {
	width: 100%;
	margin-left: 0;
	text-align: center;
}
	
}

@media screen and (max-width:768px) {
#strengths {
	padding: 20vw 0 20vw 5vw;
}

#strengths .bg {
	position: relative;
	padding: 5vw 5vw 20vw;
	background: rgba(92,167,232,0.35);
	border-radius: 12.8vw 0 0 12.8vw;
}

#strengths .bg::before {
	right: inherit;
	left: 0;
	top: 95vw;
	width: 31.4vw;
	height: 31.4vw;
	background: rgba(92,167,232,0.35);
}

#strengths .headline_03 {
	position: relative;
	padding-top: 50px;
}

#strengths .headline_03::before {
	left: -10vw;
	top: 0;
	width: 18.1vw;
	height: 18.1vw;
}

#strengths .headline_03 .eng {
	position: relative;
	z-index: 2;
}

#strengths .inner {
	display: block;
	margin-top: 10vw;
}

#strengths .inner .item {
	padding: 10vw 5vw;
	border-radius: 12.8vw;
	margin-top: 20vw;
}

#strengths .inner .item .number {
	left: 10vw;
	font-size: 21.3vw;
}

#strengths .inner .item .headline_04 {
	width: 100%;
}

#strengths .inner .item .img {
	width: 100%;
	margin-left: 0;
	text-align: center;
}
	
#strengths .inner .item .img img {
	width: auto;
	object-fit: none;
}	
	
}

/* --------------------
#about
--------------------*/
#top #about {
	position: relative;
	padding: 80px 0 80px 40px;
}

#top #about::before {
	content: "";
	position: absolute;
	right: 30vw;
	top: -40px;
	width: 80px;
	height: 80px;
	background: rgba(144,255,238,0.67);
	border-radius: 50%;
}

#top #about::after {
	content: "";
	position: absolute;
	right: 40vw;
	bottom: 120px;
	width: 80px;
	height: 80px;
	background: rgba(251,244,169,0.69);
	border-radius: 50%;
}

#top #about .bg {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	padding: 24px 64px 80px;
	background: #D9F2F0;
	border-radius: 48px 0 0 48px;
}

#top #about .headline_03 {
	position: relative;
	z-index: 0;
	width: 100%;
	padding-top: 50px;
}

#top #about .headline_03::before {
	content: "";
	position: absolute;
	left: -85px;
	top: 0;
	z-index: -1;
	width: 130px;
	height: 130px;
	background: rgba(251,244,169,0.69);
	border-radius: 50%;
}

#top #about .text {
	flex: 1;
}

#top #about .text ul {
	margin: 80px 0 0 0;
	padding: 0;
	list-style: none;
}

#top #about .text li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 32px;
}

#top #about .text li .icon {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: min(129px, 8.958vw);
	width: min(129px, 8.958vw);
	background: #fff;
	border-radius: 50%;
}

#top #about .text li .btn_01 {
	margin: 32px;
	flex: 1;
}

#top #about .img {
	width: min(596px, 39.5vw);
	margin: min(64px, 4.4vw) 0 0 min(80px, 5.5vw);
}

#top #about .img img {
	border-radius: 48px;
}

@media screen and (min-width:768.1px) and (max-width:1300px) {
#top #about .text li {
	flex-direction: column;
}
	
}

@media screen and (max-width:768px) {
#top #about {
	padding: 20vw 0 20vw 5vw;
}

#top #about::before {
	content: "";
	position: absolute;
	right: 30vw;
	top: -40px;
	width: 80px;
	height: 80px;
	background: rgba(144,255,238,0.67);
	border-radius: 50%;
}

#top #about::after {
	content: "";
	position: absolute;
	right: 40vw;
	bottom: 120px;
	width: 80px;
	height: 80px;
	background: rgba(251,244,169,0.69);
	border-radius: 50%;
}

#top #about .bg {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	padding: 5vw 5vw 20vw;
	background: #D9F2F0;
	border-radius: 48px 0 0 48px;
}

#top #about .headline_03 {
	order: 2;
	margin-bottom: 0;
}

#top #about .headline_03::before {
	left: -10vw;
	top: 0;
	width: 18.1vw;
	height: 18.1vw;
}
	
#top #about .text {
	order: 3;
}

#top #about .text ul {
	margin: 10vw 0 0 0;
}

#top #about .text li {
	margin-bottom: 8.5vw;
}
	
#top #about .text li .icon {
	height: 34.4vw;
	width: 34.4vw;
	margin: auto;
}

#top #about .text li .btn_01 {
	flex: none;
	width: 100%;
	margin: 5vw 0;
}

#top #about .img {
	order: 1;
	width: 100%;
	margin: 0;
}

#top #about .img img {
	border-radius: 12.8vw;
}
	
}
	
/* --------------------
#faq
--------------------*/
#faq {
	position: relative;
	padding: 80px 24px;
	background: url("../images/top/faq_bg.svg") no-repeat left top / 50vw auto;
}

#faq .line_01 {
	left: 50vw;
	top: -80px;
}

#faq .line_02 {
	left: 50vw;
	top: 0;
}

#faq .line_03 {
	left: 200px;
	top: 0;
}

#faq .line_04 {
	left: 55vw;
	bottom: 80px;
}

#faq .line_05 {
	right: 40vw;
	bottom: -80px;
}

#faq .line_06 {
	right: 200px;
	top: 0;
	height: 132px;
}

#faq .headline_02 {
	position: relative;
	z-index: 2;
	margin-left: 80px;
}

#faq p {
  margin-top: 0;
}

#faq .accordion {
	position: relative;
	margin: 0;
	padding: 48px 80px;
  list-style: none;
}

#faq .accordion::before {
	content: "";
	position: absolute;
	right: 25vw;
	top: 100px;
	z-index: -1;
	width: 67px;
	height: 67px;
	background: rgba(165,248,248,0.69);
	border-radius: 50%;
}

#faq .accordion::after {
	content: "";
	position: absolute;
	left: 35vw;
	top: 120px;
	z-index: -1;
	width: 140px;
	height: 140px;
	background: rgba(165,248,248,0.69);
	border-radius: 50%;
}

#faq .accordion-q-prefix {
  display: block;
  position: absolute;
	left: 0;
	top: 24px;
	width: 39px;
	margin-right: 18px;
	padding: 10px;
	text-align: center;
  line-height: 1;
	background: #BEF4E5;
}

#faq .accordion-q-content {
  display: block;
  font-weight: 400;
  line-height: 1.6;
}

#faq .accordion-q-icon {
  display: block;
  position: absolute;
  top: 50%;
	right: 20px;
	width: 20px;
	height: 20px;
  transform: translateY(-50%);
}

#faq .accordion-q-icon::before,
#faq .accordion-q-icon::after {
  content: "";
  display: block;
  position: absolute;
	top: 9px;
  left: 0;
  width: 100%;
  height: 2px;
  background: #000;
}

#faq .accordion-q-icon::after {
  transform: rotate(90deg);
  transition: transform 400ms;
}

#faq .accordion-q button {
  display: block;
  position: relative;
  width: 100%;
  padding: 28px 60px;
  box-sizing: border-box;
  border: none;
  background: none;
  text-align: left;
  appearance: none;
  cursor: pointer;
  transition: opacity 400ms;
}

#faq .accordion-q button:hover,
#faq .accordion-q button:active {
	opacity: 0.5;
}

#faq .accordion-a {
  display: none;
  overflow: hidden;
}

#faq .accordion-a-inner {
  position: relative;
  padding: 28px 60px;
}

#faq .accordion-a-prefix {
  display: block;
  position: absolute;
	left: 0;
	top: 24px;
	width: 39px;
	margin-right: 18px;
	padding: 10px;
	text-align: center;
  line-height: 1;
	background: rgba(251,244,169,0.69);
}

#faq .accordion > li {
  border-bottom: 1px solid #ccc;
}

#faq .accordion > li.is-open .accordion-q-icon::after {
  transform: rotate(0deg);
}

@media screen and (max-width:768px) {
#faq {
	position: relative;
	padding: 20vw 5vw;
	background: url("../images/top/faq_bg.svg") no-repeat left bottom 20vw / 80vw auto;
}

#faq .line_01 {
	left: 50vw;
	top: -80px;
}

#faq .line_02 {
	left: 50vw;
	top: 0;
}

#faq .line_03 {
	display: none;
}

#faq .line_04 {
	left: 55vw;
	bottom: 80px;
}

#faq .line_05 {
	right: 40vw;
	bottom: -80px;
}

#faq .line_06 {
	right: 200px;
	top: 0;
	height: 132px;
}

#faq .headline_02 {
	margin-left: 0;
}

#faq p {
  margin-top: 0;
}

#faq .accordion {
	padding: 5vw 0;
}

#faq .accordion::before {
	content: "";
	position: absolute;
	right: 25vw;
	top: 100px;
	z-index: -1;
	width: 67px;
	height: 67px;
	background: rgba(165,248,248,0.69);
	border-radius: 50%;
}

#faq .accordion::after {
	content: "";
	position: absolute;
	left: 35vw;
	top: 120px;
	z-index: -1;
	width: 140px;
	height: 140px;
	background: rgba(165,248,248,0.69);
	border-radius: 50%;
}

#faq .accordion-q-prefix {
  display: block;
  position: absolute;
	left: 0;
	top: 24px;
	width: 39px;
	margin-right: 18px;
	padding: 10px;
	text-align: center;
  line-height: 1;
	background: #BEF4E5;
}

#faq .accordion-q-content {
  display: block;
  font-weight: 400;
  line-height: 1.6;
}

#faq .accordion-q-icon {
  display: block;
  position: absolute;
  top: 50%;
	right: 20px;
	width: 20px;
	height: 20px;
  transform: translateY(-50%);
}

#faq .accordion-q-icon::before,
#faq .accordion-q-icon::after {
  content: "";
  display: block;
  position: absolute;
	top: 9px;
  left: 0;
  width: 100%;
  height: 2px;
  background: #000;
}

#faq .accordion-q-icon::after {
  transform: rotate(90deg);
  transition: transform 400ms;
}

#faq .accordion-q button {
  display: block;
  position: relative;
  width: 100%;
  padding: 28px 60px;
  box-sizing: border-box;
  border: none;
  background: none;
  text-align: left;
  appearance: none;
  cursor: pointer;
  transition: opacity 400ms;
}

#faq .accordion-q button:hover,
#faq .accordion-q button:active {
	opacity: 0.5;
}

#faq .accordion-a {
  display: none;
  overflow: hidden;
}

#faq .accordion-a-inner {
  position: relative;
  padding: 28px 60px;
}

#faq .accordion-a-prefix {
  display: block;
  position: absolute;
	left: 0;
	top: 24px;
	width: 39px;
	margin-right: 18px;
	padding: 10px;
	text-align: center;
  line-height: 1;
	background: rgba(251,244,169,0.69);
}

#faq .accordion > li {
  border-bottom: 1px solid #ccc;
}

#faq .accordion > li.is-open .accordion-q-icon::after {
  transform: rotate(0deg);
}	
	
}

/* --------------------
#top #interview
--------------------*/
#top #interview {
	position: relative;
	padding: 80px 0 80px 60px;
}

#top #interview .line_01 {
	left: 30vw;
	top: 0;
	height: 132px;
}

#top #interview .line_02 {
	left: 60vw;
	top: 0;
}

#top #interview .headline_03 {
	position: relative;
	z-index: 2;
}

#top #interview .headline_03 .eng {
	position: relative;
	z-index: 2;
}

#top #interview .headline_03::before {
	content: "";
	position: absolute;
	left: -75px;
	top: -60px;
	z-index: 1;
	width: 140px;
	height: 140px;
	background: rgba(251,244,169,0.69);
	border-radius: 50%;
}

#top #interview .headline_03::after {
	content: "";
	position: absolute;
	left: 580px;
	bottom: -24px;
	z-index: 1;
	width: 67px;
	height: 67px;
	background: rgba(251,244,169,0.69);
	border-radius: 50%;
}

#top #interview .list_interview {
	display: flex;
	margin: 0;
	padding: 60px 0 60px 23vw;
	list-style: none;
}

#top #interview .list_interview li {
	width: min(237px, 16.45vw);
	margin-left: min(24px, 1.6vw);
}

#top #interview .list_interview li a {
	position: relative;
	display: block;
	border-radius: min(30px, 2vw);
	overflow: hidden;
}

#top #interview .list_interview li a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, rgba(10,52,46,0) 0%,rgba(10,52,46,0) 50%,rgba(10,52,46,0.67) 100%);
}

#top #interview .list_interview li .cate {
	position: absolute;
	top: min(-16px, -1.1vw);
	left: min(-6px, -0.41vw);
	width: min(112px, 7.77vw);
	height: min(112px, 7.77vw);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	padding: 0.5em;
	font-size: min(14px, 0.97vw);
	font-weight: 700;
	line-height: 1;
	text-align: center;
	background: rgba(254,255,207,0.9);
	border-radius: 50%;
}

#top #interview .list_interview li .text {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 0 1em 1em;
	color: #fff;
	line-height: 1.6;
}

#top #interview .list_interview li .text .tit {
	display: block;
	font-size: min(18px, 1.25vw);
	font-weight: 700;
}

#top #interview .list_interview li .text .date {
	display: block;
	font-size: min(14px, 0.97vw);
}

@media screen and (max-width:768px) {
	
#top #interview {
	padding: 20vw 0;
}

#top #interview .line_01 {
	left: 30vw;
	top: 0;
	height: 132px;
}

#top #interview .line_02 {
	left: 60vw;
	top: 0;
}

#top #interview .headline_03 {
	padding: 0 5vw;
}

#top #interview .headline_02 {
	padding: 0 5vw;
}

#top #interview p {
	padding: 0 5vw;
}

#top #interview .headline_03::before {
	left: -10vw;
	top: 0;
	width: 18.1vw;
	height: 18.1vw;
}

#top #interview .headline_03::after {
	content: none;
}

#top #interview .sp_scroll {
	overflow-y: scroll;
	margin: 10vw 0;
	padding: 5vw;
}

#top #interview .list_interview {
	width: 330vw;
	padding: 0;
}

#top #interview .list_interview li {
	margin: 1vw;
	width: 70vw;
}

#top #interview .list_interview li a {
	position: relative;
	display: block;
	border-radius: 30px;
	overflow: hidden;
}

#top #interview .list_interview li a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, rgba(10,52,46,0) 0%,rgba(10,52,46,0) 50%,rgba(10,52,46,0.67) 100%);
}

#top #interview .list_interview li .cate {
	top: -4.2vw;
	left: -1.6vw;
	width: 29.8vw;
	height: 29.8vw;
	font-size: 3.5vw;
}

#top #interview .list_interview li .text .tit {
	font-size: 4.8vw;
}

#top #interview .list_interview li .text .date {
	font-size: 3.5vw;
}
	
#top #interview .btn_01 {
	width: calc(100% - 10vw);
	margin: 5vw;
}
	
}

/* --------------------

下層ページ共通

--------------------*/
/* --------------------
.page_header
--------------------*/
.page_header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	overflow: hidden;
}

.page_header .l-breadcrumb {
	padding: 0 30px;
	font-size: 14px;
}

.page_header .l-breadcrumb__item:not(:first-of-type)::before {
    width: 10px;
    height: 10px;
}

.page_header .title {
	width: calc(100% - 54.4vw);
	padding: 100px 0 0 0;
}

.page_header .title .headline_03 {
	margin: 80px 0 0 50px;
}

.page_header .title .headline_03 .eng {
	width: 100%;
	margin-right: 0;
}

.page_header .fv {
	width: 54.8vw;
	margin: -14vw -14vw 0 0;
}

.page_header .fv img {
	border-radius: 50%;
}

@media screen and (min-width:768.1px) and (max-width:1300px) {
.page_header .title {
	padding: 7.7vw 0 0 0;
}
}

@media screen and (max-width:768px) {
.page_header {
	display: block;
	height: 100vw;
	position: relative;
}

.page_header .l-breadcrumb {
	position: relative;
	z-index: 3;
	margin: 0;
	padding: 1vw 2vw;
	font-size: 3vw;
	background: #fff;
}

.page_header .l-breadcrumb__item:not(:first-of-type)::before {
	width: 2vw;
	height: 2vw;
}

.page_header .title {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	padding: 0;
}

.page_header .title .headline_03 {
	margin: 0;
}

.page_header .title .headline_03 .eng {
	width: 100%;
	margin: 70vw 0 0 0;
	padding: 0 5vw;
	font-size: 14.6vw;
}
	
.page_header .fv {
	width: 100%;
	margin: -30vw 0 0 0;
}

.page_header .img {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	margin: -35vw 0 0 0;
}

.page_header .img img {
	border-radius: 50%;
}
	
}


/* --------------------
.list_icon
--------------------*/
.list_icon {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 64px 0;
	list-style: none;
}

.list_icon li {
	width: 176px;
	margin: 1em;
	text-align: center;
}

.list_icon li .pic {
	width: 176px;
	height: 176px;
	margin-bottom: 1em;
	background: rgba(251,244,169,0.69);
	border-radius: 50%;
}

@media screen and (max-width:768px) {
.list_icon {
	justify-content: center;
	padding: 12.8vw 0;
}
	
.list_icon li {
	width: 100%;
}
	
.list_icon li .pic {
	margin: 0 auto 1em;
}
}

/* --------------------
#block（ブロックエディタ内）
--------------------*/
/* 見出し */
#block .wp-block-heading {
	margin: 2em 0 1em;
	font-weight: 700;
	line-height: 1.5;	
}

#block h2.wp-block-heading {
	font-size: 32px;
}

#block h3.wp-block-heading {
	font-size: 30px;
}

#block h4.wp-block-heading {
	font-size: 28px;
}

#block h5.wp-block-heading {
	font-size: 26px;
}

#block h6.wp-block-heading {
	font-size: 24px;
}

/* 画像 */
.wp-block-image img {
	max-width: 100% !important;
	border-radius: 30px;
}

/* リスト */
.wp-block-list {
	list-style: disc;
	padding-left: 1em;
}

@media screen and (max-width:768px) {
#block h2.wp-block-heading {
	font-size: 6.5vw;
}

#block h3.wp-block-heading {
	font-size: 6vw;
}

#block h4.wp-block-heading {
	font-size: 5.5vw;
}

#block h5.wp-block-heading {
	font-size: 5vw;
}

#block h6.wp-block-heading {
	font-size: 4.5vw;
}
	
}

/* --------------------

#about（四国日清食品について）

--------------------*/
/* --------------------
#message
--------------------*/
#about #message {
	position: relative;
	padding: 80px 0;
}

#about #message .line_01 {
	left: 150px;
	top: -50px;
}

#about #message .line_02 {
	left: 300px;
	bottom: 0;
}

#about #message .line_03 {
	right: 300px;
	bottom: -50px;
}

#about #message .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#about #message .inner .img {
	width: min(608px, 42.2vw);
}

#about #message .inner .img img {
	border-radius: 0 48px 48px 0;
}

#about #message .inner .text {
	position: relative;
	flex: 1;
	margin-left: min(80px, 5.5vw);
	padding: min(32px, 2.2vw) min(80px, 5.5vw) 0;
}

#about #message .inner .text .headline_01 {
	position: relative;
	z-index: 2;
	margin: 0 0 48px -48px;
}

#about #message .inner .text p {
	position: relative;
	z-index: 2;
}

#about #message .inner .text .maru_01 {
	left: -180px;
	top: -180px;
}

#about #message .inner .text .maru_02 {
	left: -20px;
	top: -20px;
}

#about #message .inner .text .maru_03 {
	right: 20vw;
	bottom: 100px;
}

@media screen and (max-width:768px) {
#about #message {
	padding: 20vw 0;
}

#about #message .line_01 {
	left: 150px;
	top: -50px;
}

#about #message .line_02 {
	left: 300px;
	bottom: 0;
}

#about #message .line_03 {
	right: 20vw;
	bottom: -60vw;
}

#about #message .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#about #message .inner .img {
	width: 100%;
	padding-right: 5vw;
}

#about #message .inner .img img {
	border-radius: 0  12.8vw  12.8vw 0;
}

#about #message .inner .text {
	position: relative;
	flex: 1;
	margin: 12.8vw 0;
	padding: 12.8vw 5vw 0;
}

#about #message .inner .text .headline_01 {
	position: relative;
	z-index: 2;
	margin: 0 0 12.8vw 12.8vw;
}

#about #message .inner .text p {
	position: relative;
	z-index: 2;
}

#about #message .inner .text .maru_01 {
	left: -180px;
	top: -180px;
}

#about #message .inner .text .maru_02 {
	left: 0;
	top: 0;
}

#about #message .inner .text .maru_03 {
	right: 20vw;
	bottom: 100px;
}
	
	
}

/* --------------------
#company_scenery
--------------------*/
#company_scenery {
	position: relative;
	margin-top: -150px;
	padding-top: 150px;
}

#company_scenery .headline_03 {
	position: relative;
	margin-left: 80px;
}

#company_scenery .headline_03 .eng {
	position: relative;
	z-index: 2;
}

#company_scenery .maru_04 {
	left: 0;
	top: -40px;
}

#company_scenery .maru_05 {
	right: 20vw;
	bottom: -150px;
}

#company_scenery .maru_06 {
	left: 22vw;
	top: 2vw;
}

#company_scenery .maru_07 {
	right: 30vw;
	top: 200px;
}

#company_scenery .maru_08 {
	left: 20px;
	top: 0;
}

#company_scenery .maru_09 {
	left: 10px;
	top: 400px;
}

#company_scenery .maru_10 {
	left: 30vw;
	bottom: -100px;
}

#company_scenery .maru_11 {
	left: 20vw;
	top: 250px;
}

#company_scenery .maru_12 {
	right: 10vw;
	top: -70px;
}

#company_scenery .inner {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 80px 0;
}

#company_scenery .inner .img_2_l {
	position: relative;
	width: min(871px, 60.48vw);
	margin-bottom: min(20.83vw, 300px);
}

#company_scenery .inner .img_2_l .img_01 {
	border-radius: 48px 0 0 48px;
}

#company_scenery .inner .img_2_l .img_02 {
	position: absolute;
	left: min(-15.27vw, -220px);
	bottom: min(-20.83vw, -300px);
	width: min(42vw, 606px);
	border-radius: 48px;
}

#company_scenery .inner .img_2 {
	position: relative;
	width: 47.98vw;
	padding-left: 9.2vw;
	margin-bottom: 13.8vw;
}

#company_scenery .inner .img_2 .img_01 {
	border-radius: 48px 0 0 48px;
}

#company_scenery .inner .img_2 .img_02 {
	position: absolute;
	left: 0;
	top: min(20.8vw, 300px);
	width: min(29.2vw, 421px);
	border-radius: 48px;
}

#company_scenery .inner .text {
	position: relative;
	flex: 1;
	padding: 32px 80px 0;
}

#company_scenery .inner .text .headline_01 {
	position: relative;
  z-index: 2;
}

#company_scenery .inner .text p {
	position: relative;
  z-index: 2;
}

#company_scenery .circle {
	position: relative;
	display: flex;
	justify-content: space-between;
	padding: 80px;
}

#company_scenery .circle.reverse {
	flex-direction: row-reverse;
}

#company_scenery .circle .img {
	width: min(631px, 43.8vw);
	height: min(631px, 43.8vw);
	text-align: right;
	border-radius: 50%;
}

#company_scenery .circle .img img {
	width: min(572px, 39.7vw);
	height: min(572px, 39.7vw);
}

#company_scenery .circle .img.green {
	background: #BEF4E5;
}

#company_scenery .circle .img.blue {
	background: rgba(92,167,232,0.35);
}

#company_scenery .circle .img.yellow {
	background: rgba(251,244,169,0.69);
}

#company_scenery .circle .img.left {
	text-align: left;
}

#company_scenery .circle .img img {
	border-radius: 50%;
}

#company_scenery .circle .text {
	position: relative;
	flex: 1;
	margin: 0 80px 0 0;
	padding: 0;
}

#company_scenery .circle .text p {
	position: relative;
	z-index: 2;
}

#company_scenery .circle.reverse .text {
	position: relative;
	flex: 1;
	margin: 0 0 0 80px;
	padding: 0;
}

#company_scenery .inner.bg {
	padding: 80px 0 240px;
	background: url("../images/about/bg.png") no-repeat top right / 70.8vw 100%;
}

#company_scenery .circle .line_01 {
	left: 50vw;
	top: 0;
}

#company_scenery .circle .line_02 {
	right: 30vw;
	bottom: 0;
}

#company_scenery .circle .line_03 {
	left: 40px;
	bottom: -100px;
}

#company_scenery .circle .line_04 {
	left: 300px;
	bottom: -40px;
}

#company_scenery .inner .line_05 {
	left: 50vw;
	top: 150px;
}

#company_scenery .inner .line_06 {
	left: 20vw;
	top: 0;
}

#company_scenery .inner .line_07 {
	left: 20vw;
	bottom: -100px;
}

#company_scenery .inner .line_08 {
	left: 50vw;
	bottom: -100px;
}

#company_scenery .inner .line_09 {
	left: 50vw;
	bottom: 150px;
}

#company_scenery .inner .line_10 {
	left: 50vw;
	top: 250px;
}

#company_scenery .inner .line_11 {
	right: 30vw;
	bottom: 100px;
}

@media screen and (max-width:768px) {
#company_scenery {
	margin-top: -23vw;
	padding-top: 23vw;
}

#company_scenery .headline_03 {
	margin: 0 0 0 5vw;
}

#company_scenery .maru_04 {
	left: 0;
	top: 0;
}

#company_scenery .maru_05 {
	right: 20vw;
	bottom: -150px;
}

#company_scenery .maru_06 {
	left: 22vw;
	top: 2vw;
}

#company_scenery .maru_07 {
	right: 30vw;
	top: 200px;
}

#company_scenery .maru_08 {
	left: 0;
	top: 0;
}

#company_scenery .maru_09 {
	left: 10px;
	top: 400px;
}

#company_scenery .maru_10 {
	left: 30vw;
	bottom: -100px;
}

#company_scenery .maru_11 {
	left: 20vw;
	top: 250px;
}

#company_scenery .maru_12 {
	right: 10vw;
	top: -70px;
}

#company_scenery .inner {
	padding: 0;
}

#company_scenery .inner .img_2_l {
	position: relative;
	width: 100%;
	margin-bottom: 0;
}

#company_scenery .inner .img_2_l .img_01 {
	border-radius: 12.8vw 0 0 12.8vw;
	margin-left: 5vw;
}

#company_scenery .inner .img_2_l .img_02 {
	position: static;
	width: calc(100% - 10vw);
	margin: 5vw;
	border-radius: 12.8vw;
}

#company_scenery .inner .img_2 {
	position: relative;
	width: 100%;
	padding-left: 0;
	margin-bottom: min(13.8vw, 200px);
}

#company_scenery .inner .img_2 .img_01 {
	border-radius: 12.8vw 0 0 12.8vw;
	width: calc(100% - 5vw);
	margin-left: 5vw;
}

#company_scenery .inner .img_2 .img_02 {
	position: static;
	width: calc(100% - 10vw);
	margin: 5vw;
	border-radius: 12.8vw;
}

#company_scenery .inner .text {
	position: relative;
	z-index: 2;
	flex: none;
	width: 100%;
	padding: 5vw;
}

#company_scenery .inner .text .headline_01 {
	position: relative;
  z-index: 2;
	margin: 0 0 12.8vw 12.8vw;
}

#company_scenery .inner .text p {
	position: relative;
  z-index: 2;
}

#company_scenery .circle {
	margin: 5vw 0;
	padding: 0;
}

#company_scenery .circle.reverse {
	flex-direction: column;
	margin: 5vw 0 20vw;
}

#company_scenery .circle .img {
	width:100vw;
	height: 100vw;
	text-align: right;
	border-radius: 50%;
}

#company_scenery .circle .img img {
	width: 88.8vw;
	height: 88.8vw;
}

#company_scenery .circle .img.green {
	background: #BEF4E5;
}

#company_scenery .circle .img.blue {
	background: rgba(92,167,232,0.35);
}

#company_scenery .circle .img.yellow {
	background: rgba(251,244,169,0.69);
}

#company_scenery .circle .img.left {
	text-align: left;
}

#company_scenery .circle .img img {
	border-radius: 50%;
}

#company_scenery .circle .text {
	flex: none;
	width: 100%;
	padding: 5vw;
}

#company_scenery .circle .text p {
	position: relative;
	z-index: 2;
}

#company_scenery .circle.reverse .text {
	position: relative;
	flex: none;
	margin: 0;
	padding: 5vw;
}

#company_scenery .inner.bg {
	padding: 5vw 0 12.8vw;
	background: none;
}

#company_scenery .circle .line_01 {
	left: 50vw;
	top: 0;
}

#company_scenery .circle .line_02 {
	right: 30vw;
	bottom: 0;
}

#company_scenery .circle .line_03 {
	left: 40px;
	bottom: -50vw;
}

#company_scenery .circle .line_04 {
	left: 300px;
	bottom: -40px;
}

#company_scenery .inner .line_05 {
	left: 50vw;
	top: 150px;
}

#company_scenery .inner .line_06 {
	left: 20vw;
	top: 0;
}

#company_scenery .inner .line_07 {
	left: 20vw;
	bottom: -100px;
}

#company_scenery .inner .line_08 {
	left: 50vw;
	bottom: -100px;
}

#company_scenery .inner .line_09 {
	left: 50vw;
	bottom: 150px;
}

#company_scenery .inner .line_10 {
	left: 50vw;
	top: 250px;
}

#company_scenery .inner .line_11 {
	right: 30vw;
	bottom: 100px;
}	
	
}


/* --------------------
#education_career
--------------------*/
#education_career {
	position: relative;
	padding: 150px 80px 80px;
	margin-top: -150px;
}

#education_career .maru_13 {
	left: 0;
	top: -40px;
}

#education_career .maru_14 {
	left: -20px;
	top: -20px;
}

#education_career .headline_03 .eng {
	position: relative;
	z-index: 2;
}

#education_career .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 48px;
	padding: 40px;
	background: #fff;
	border-radius: 48px;
}

#education_career .inner .text {
	position: relative;
	flex: 1;
	padding: 0 40px 0 0;
}

#education_career .inner .text .headline_01 {
	position: relative;
	z-index: 2;
	padding: 40px 0 0 40px;
}

#education_career .inner .img {
	width: min(32.29vw, 465px);
}

#education_career .inner .img img {
	border-radius: 48px;
}

@media screen and (max-width:768px) {
#education_career {
	position: relative;
	padding: calc(5vw + 23vw) 5vw 5vw;
	margin-top: -23vw;
}

#education_career .maru_13 {
	left: 0;
	top: -40px;
}

#education_career .maru_14 {
	left: -20px;
	top: -20px;
}

#education_career .headline_03 .eng {
	position: relative;
	z-index: 2;
}

#education_career .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 12.8vw;
	padding: 0;
	background: #fff;
	border-radius: 12.8vw;
}

#education_career .inner .text {
	position: relative;
	flex: none;
	width: 100%;
	padding: 0;
}

#education_career .inner .text .headline_01 {
	position: relative;
	z-index: 2;
	padding: 12.8vw 0 0 12.8vw;
}

#education_career .inner .img {
	width: 100%;
	padding: 5vw 0;
}

#education_career .inner .img img {
	border-radius: 12.8vw;
}
	
}

/* --------------------
#internal_system
--------------------*/
#internal_system {
	position: relative;
	padding: calc(150px + 80px) 80px 80px;
	margin-top: -150px;
}

#internal_system .maru_15 {
	left: 0;
	top: 0;
}

#internal_system .maru_16 {
	right: 20vw;
	top: -50px;
}

#internal_system .headline_03 {
	position: relative;
	z-index: 2;
}

#internal_system .inner {
	position: relative;
}

#internal_system .inner .line_12 {
	left: 10vw;
	top: -200px;
}

#internal_system .inner .line_13 {
	right: 30vw;
	top: -250px;
}

#internal_system .inner .line_14 {
	left: 30vw;
	top: 100px;
}

@media screen and (max-width:768px) {
#internal_system {
	position: relative;
	padding: calc(5vw + 23vw) 5vw 5vw;
	margin-top: -23vw;
}

#internal_system .maru_15 {
	left: 0;
	top: 0;
}

#internal_system .maru_16 {
	right: 10vw;
	top: 200px;
}

#internal_system .headline_03 .eng {
	position: relative;
	z-index: 2;
}

#internal_system .inner {
	position: relative;
}

#internal_system .inner .line_12 {
	left: 10vw;
	top: -200px;
}

#internal_system .inner .line_13 {
	right: 30vw;
	top: -250px;
}

#internal_system .inner .line_14 {
	left: 30vw;
	top: 100px;
}
	
}


/* --------------------
#department
--------------------*/
#department {
	position: relative;
	padding: 80px 0;	
}

#department .maru_17 {
	left: 0;
	top: 0;
}

#department .maru_18 {
	left: 20vw;
	top: -100px;
}

#department .maru_19 {
	left: 30vw;
	top: 100px;
}

#department .headline_03 {
	margin-left: 80px;
}

#department .headline_03 .eng {
	position: relative;
}

#department .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 80px 0;
}

#department .inner .text {
	position: relative;
	flex: 1;
	padding: 0 80px;
}

#department .inner .text .headline_02 {
	position: relative;
	z-index: 2;
}

#department .inner .text p {
	position: relative;
	z-index: 2;
}

#department .inner .text .btn_01 {
	margin-top: 2em;
}

#department .inner .img {
	width: min(41.94vw, 604px);
}

#department .inner .img img {
	border-radius: 48px 0 0 48px;
}

@media screen and (max-width:768px) {
#department {
	position: relative;
	padding: 12.8vw 0;	
}

#department .maru_17 {
	left: 0;
	top: 0;
}

#department .maru_18 {
	left: inherit;
	right: 10vw;
	top: 100px;
}

#department .maru_19 {
	left: 30vw;
	top: 200px;
}

#department .headline_03 {
	margin: 0 0 0 5vw;
}

#department .headline_03 .eng {
	position: relative;
}

#department .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0 0 12.8vw 0;
}

#department .inner .text {
	position: relative;
	flex: none;
	width: 100%;
	padding: 0 5vw 5vw;
}

#department .inner .text .headline_02 {
	position: relative;
	z-index: 2;
}

#department .inner .text p {
	position: relative;
	z-index: 2;
}

#department .inner .img {
	width: 100%;
	padding-left: 5vw;
}

#department .inner .img img {
	border-radius: 12.8vw 0 0 12.8vw;
}
	
	
}

/* --------------------

#interview（社員インタビュー）

--------------------*/
#interview .list_cate {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	padding: 20px 80px;
	list-style: none;
}

#interview .list_cate li {
	padding: 0.5em;
}

#interview .list_cate li a {
	display: block;
	padding: 0.5em 1em;
	color: #505050;
	text-decoration: none;
	line-height: 1;
	background: rgba(92,167,232,0.35);
	border-radius: 1em;
}

#interview .list_cate li.active a {
	color: #fff;
	background: #5CA7E8;
}

#interview #list .list_interview {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	padding: 80px;
	list-style: none;
}

#interview #list .list_interview li {
	width: 290px;
	aspect-ratio: 225 / 383;
	margin: 15px;
}

#interview #list .list_interview li img {
	aspect-ratio: 225 / 383;
}

#interview #list .list_interview li a {
	position: relative;
	display: block;
	border-radius: 30px;
	overflow: hidden;
}

#interview #list .list_interview li a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, rgba(10,52,46,0) 0%,rgba(10,52,46,0) 50%,rgba(10,52,46,0.67) 100%);
}

#interview #list .list_interview li .cate {
	position: absolute;
	top: -16px;
	left: -6px;
	width: 112px;
	height: 112px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	padding: 0.5em;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	background: rgba(254,255,207,0.9);
	border-radius: 50%;
}

#interview #list .list_interview li .text {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 0 1em 2em;
	color: #fff;
}

#interview #list .list_interview li .text .tit {
	display: block;
	font-size: 18px;
	font-weight: 700;
}

#interview #list .list_interview li .text .date {
	display: block;
	font-size: 14px;
}

#interview .detail_header {
	position: relative;
	overflow: hidden;
}

#interview .detail_header .img img {
	width: 100%;
}

#interview .detail_header .text {
	position: absolute;
	left: 0;
	bottom: 0;
	display: flex;
	flex-wrap: wrap;
	align-content: space-between;
	width: 100%;
	height: 100%;
	padding: 100px 0 0 0;
}

#interview .detail_header .text .l-breadcrumb {
	width: 100%;
	padding: 0 30px;
	font-size: 14px;
}

#interview .detail_header .text .l-breadcrumb__item:not(:first-of-type)::before {
    width: 10px;
    height: 10px;
}

#interview .detail_header .text .l-breadcrumb .l-breadcrumb__item:last-child {
	width: 300px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

#interview .detail_header .text .headline {
	position: relative;
	z-index: 2;
	margin: 0;
	width: 100%;
	height: 30vw;
	padding: 10vw 55vw 0  5vw;
}

#interview .detail_header .text .headline::before {
	content: "";
	position: absolute;
	left: -5.5vw;
	bottom: -27.4vw;
	z-index: -1;
	width: 54.8vw;
	height: 54.8vw;
	aspect-ratio: 1 / 1;
	background: #fff;
	border-radius: 50%;
}

#interview .detail_header .text .headline .eng {
	display: block;
	color: rgba(80,80,80,0.22);
	font-size: 2.8vw;
	font-weight: 700;
}

#interview .detail_header .text .headline .jp {
	display: block;
	font-size: 1.7vw;
	font-weight: 700;
	line-height: 1.4;
	margin: 0.5em 1em 0.8em 0;
}

#interview .detail_header .text .headline .cate {
	display: inline-block;
	padding: 0.5em 1em;
	color: #505050;
	font-size: 1.1vw;
	font-weight: 400;
	text-decoration: none;
	line-height: 1;
	background: rgba(92,167,232,0.35);
	border-radius: 1em;
}

#interview .detail {
	padding: 80px;
}

#interview .detail .inner {
	max-width: 960px;
	margin: auto;
	padding: 0 0 80px;
}

@media screen and (min-width:768.1px) and (max-width:1300px) {
#interview .detail_header .text {
	padding: 7.7vw 0 0 0;
}

}

@media screen and (max-width:768px) {
#interview .detail_header .text .l-breadcrumb {
	margin: 0;
	padding: 1vw 2vw;
	font-size: 3vw;
}
	
#interview .detail_header .text .l-breadcrumb__item:not(:first-of-type)::before {
	width: 2vw;
	height: 2vw;
}
	
#interview .detail_header .text .l-breadcrumb .l-breadcrumb__item:last-child {
	width: 85vw;
}

#interview .list_cate {
	padding: 5vw;
}

#interview #list .list_interview {
	padding: 5vw;
}

#interview #list .list_interview li {
	width: 100%;
	margin: 0 0 10vw 0;
}
	
#interview #list .list_interview li a {
	border-radius: 8vw;
}

#interview #list .list_interview li .cate {
	position: absolute;
	top: -4.2vw;
	left: -1.6vw;
	width: 29.8vw;
	height: 29.8vw;
	font-size: 3.7vw;
}

#interview #list .list_interview li .text .tit {
	font-size: 4.2vw;
}

#interview #list .list_interview li .text .date {
	font-size: 3.7vw;
}

#interview .detail_header {
	height: 150vw;
	background: #fff;
}
	
#interview .detail_header .img {
	padding-top: 13vw;
}

#interview .detail_header .img img {
	transform-origin: top center;
	transform: scale(2.2);
}

#interview .detail_header .text {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: space-between;
	width: 100%;
	height: 150vw;
	padding: 0;
}
	
#interview .detail_header .text .headline {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	width: 75vw;
	height: 55vw;
	margin: 0;
	padding: 0 0 0 5vw;
}

#interview .detail_header .text .headline::before {
	left: -20vw;
	bottom:-30vw;
	width: 100vw;
	height: 100vw;
}

#interview .detail_header .text .headline .eng {
	width: 100%;
	font-size: 5.5vw;
}

#interview .detail_header .text .headline .jp {
	width: 100%;
	margin: 0.2em 0 0.5em;
	font-size: 6vw;
}

#interview .detail_header .text .headline .cate {
	font-size: 3.8vw;
}

#interview .detail {
	padding: 5vw;
}

#interview .detail .inner {
	padding: 0 5vw 5vw;
}
	
}

/* --------------------

#news（新着情報）

--------------------*/
#news .page_header .text {
	width: 100%;
	padding: 100px 0 0 0;
}

#news .archive {
	padding: 80px;	
}

#news .archive ul {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

#news .archive li {
	margin-bottom: 48px;
	border-bottom: 1px solid #C1C1C1;
}

#news .archive li a {
	display: flex;
	text-decoration: none;
	width: 100%;
	padding: 2em 0;
}

#news .archive li a:hover {
	background: rgba(251,244,169,0.69);
}

#news .archive li a time {
	width: 120px;	
	margin-right: 64px;
}

#news .detail {
	padding: 80px;	
}

#news .detail .inner {
	max-width: 1280px;
	margin: auto;
	padding: 80px 160px;
	background: #fff;
	border-radius: 48px;
}

@media screen and (min-width:769px) and (max-width:1440px) {
#news .archive {
	padding: 5.55vw;	
}

#news .detail {
	padding: 5.55vw;	
}

#news .detail .inner {
	padding: 5.55vw 11.1vw;
}
}

@media screen and (min-width:768.1px) and (max-width:1300px) {
#news .page_header .text {
	padding: 7.7vw 0 0 0;
}
}

@media screen and (max-width:768px) {
#news .page_header {
	height: 20vw;
}

#news .page_header .text {
	padding: 0;
}

#news .archive {
	padding: 5vw 5vw 15vw;
}
	
#news .archive li {
	margin-bottom:0;
}
	
#news .archive li a {
	flex-wrap: wrap;
}

#news .archive li a time {
	display: block;
	margin: 0 0 1em 0;
}

#news .detail {
	padding: 5vw 5vw 15vw;
}

#news .detail .inner {
	padding: 5vw;
}

}
