@charset "UTF-8";
@import url("reset.css");

/* ----------------------------------------
   カスタムプロパティ
---------------------------------------- */
:root {
	--font-size-70: clamp(2.5rem, 1.648rem + 3.64vw, 4.375rem);
	--font-size-52: clamp(2.938rem, 2.75rem + 0.8vw, 3.25rem);
	--font-size-45: clamp(2.375rem, 2.112rem + 1.12vw, 2.813rem);
	--font-size-3245: clamp(2rem, 1.631rem + 1.58vw, 2.813rem);
	--font-size-36: clamp(1.5rem, 1.05rem + 1.92vw, 2.25rem);
	--font-size-325: clamp(1.656rem, 1.431rem + 0.96vw, 2.031rem);
	--font-size-30: clamp(1.5rem, 1.275rem + 0.96vw, 1.875rem);
	--font-size-28: clamp(1.375rem, 1.15rem + 0.96vw, 1.75rem);
	--font-size-24: clamp(1.125rem, 0.9rem + 0.96vw, 1.5rem);
	--font-size-20: clamp(1rem, 0.85rem + 0.64vw, 1.25rem);
	--font-size-18: clamp(0.813rem, 0.625rem + 0.8vw, 1.125rem);
	--font-size-19: clamp(0.813rem, 0.588rem + 0.96vw, 1.188rem);
	--font-size-16: clamp(0.875rem, 0.6rem + 0.64vw, 1rem);
	--font-size-14: clamp(0.875rem, 0.575rem + 0.48vw, 0.875rem);
}
body {
	font-size: var(--font-size-16);
}

/* ----------------------------------------
   fonts
---------------------------------------- */

.gothic_bold {
	font-family: "century-gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
}
.fa-caret-right {
	color: #192f70;
}

/* ----------------------------------------
   common
---------------------------------------- */

[id] {
  scroll-margin-top: 120px;
}
.bold {
	font-weight: bold;
}
.page_other {
	padding: 120px 0 80px;
}
.page_other p {
	text-align: center;
	font-size: var(--fonti-size-36);
}
a.bold:hover {
	color: #0061d3;
}
.align_center {
	text-align: center;
	justify-content: center;
}
.align_right {
	text-align: right;
	justify-content: flex-end;
}

/* flex --------------------------------- */

.flex_start {
	display: flex;
	justify-content: flex-start;
}
.flex_between {
	display: flex;
	justify-content: space-between;
}
.flex_center {
	display: flex;
	justify-content: center;
}
.flex_around {
	display: flex;
	justify-content: space-around;
}
.flex_end {
	display: flex;
	justify-content: flex-end;
}
dl.fit_flex {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-top: 8px;
	gap: 4px;
}
dl.fit_flex dt {
	display: flex;
}
dl.fit_flex dt::after {
	content: "…";
	display: flex;
	align-items: center;
}
dl.fit_flex dd {
	flex: 1;
}

/* width --------------------------------- */

.width1000 {
	width: 95%;
	max-width: 1000px;
	margin: 0 auto;
}
.width1260 {
	width: 95%;
	max-width: 1260px;
	margin: 0 auto;
}

/* section --------------------------------- */

section {
	padding: clamp(3.75rem, 1.5rem + 9.6vw, 7.5rem) 0;

}

/* list --------------------------------- */

ol.list_number {
	counter-reset: num;
}
ol.list_number li {
	padding-left: 1.4em; /* 2文字分くらい */
	text-indent: -1.4em;
	counter-increment: num;
}
ol.list_number li::before {
	content: counter(num) '.';
	text-indent: 0;
	display: inline-block;
	width: 1em;
}
ul.mark_list {
	padding-left: 1.2em; /* 2文字分くらい */
	text-indent: -1.2em;
}
ul.mark_list li::before {
	content: "・";
	text-indent: 0;
	display: inline-block;
	width: 1em;
}

/* ----------------------------------------
   header
---------------------------------------- */

/* hamburger --------------------------------- */

.overlay:has(+ header .menu-btn:checked) {
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgb( 0 0 0 / .5 );
	z-index: 80;
	transition: .6s;
}
.global_navigation .menu {
  list-style: none;
  position: fixed;
  width: 340px;
  height: auto;
  top: 0;
  right: 0;
  margin-top: 0;
  padding: 64px 48px 20px;
  clear: both;
  background: #fff;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
  transform: translateX(100%);
  transform-origin: center right;
  z-index: 89;
}
/* Hamburger menu button */
.menu-btn:checked ~ .menu {
  transform: translateX(0);
  transform-origin: top right;
  transition: 0.5s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
/* Hamburger menbu text */
.global_navigation .menu a {
  text-decoration: none;
  font-weight: 500;
  letter-spacing: 2px;
  font-size: var(--fonti-size-16);
  text-transform: capitalize;
  color: #41474D;
  opacity: 0;
  transition: 0.5s;
}
.global_navigation .menu ul li a {
  border-bottom: 1px solid rgb(170,170,170);
  padding: 15px 0;
  opacity: 0;
  transition: 0.5s;
}
.global_navigation .menu li {
  margin-right: 0;
}
.global_navigation .menu li:last-child {
  text-align: center;
  border-top: none!important;
  margin-top: 60px;
}
.menu-btn:checked ~ .menu a,
.menu-btn:checked ~ .menu li {
  opacity: 1;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.2s;
}
.global_navigation .menu li a {
  display: block;
}
.global_navigation .menu li:last-child a {
  background-color: #192f70;
  display: block;
  color: #fff;
  padding: 8px 0;
  border-radius: 40px;
}
.menu-btn {
  display: none;
}
.menu-icon {
  position: sticky;
  top: 0;
  cursor: pointer;
  padding: 36px 30px 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  z-index: 90;
}
.navicon {
  background: #192f70;
  display: block;
  height: 3px;
  width: 26px;
  position: sticky;
  top: 40px;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
  z-index: 91;
}
.navicon:before,
.navicon:after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  background: #192f70;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
  z-index: 92;
}
.navicon:before {
  top: -10px;
}
.navicon:after {
  bottom: -10px;
}
/* Hamburger Menu Animation Start */
.menu-btn:checked ~ .menu-icon .navicon:before {
  transform: rotate(135deg);
}
.menu-btn:checked ~ .menu-icon .navicon:after {
  transform: rotate(45deg);
}
.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before {
  top: 0;
}
.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
  bottom: 0;
}
.menu-btn:checked ~ .menu-icon .navicon {
  background: rgba(0, 0, 0, 0);
  transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

/* navigation --------------------------------- */

header {
	position: sticky;
	top: 0;
	z-index: 88;
	background-color: #fff;
}
header.fixed {
	border-bottom: solid 2px #192f70;
}
.header_logo {
	padding: 4px 0 4px 16px;
}
.header_logo a {
	display: block;
}
.header_logo img {
	width: 200px;
	height: auto;
}
.global_navigation {
	flex: 1;
}
.global_navigation ul {
	align-items: center;
}
.global_navigation ul li {
	margin-right: 24px;
}
.global_navigation ul li a {
	display: block;
	padding-bottom: 8px;
	border-bottom: solid 3px rgb( 255 90 66 / .5 )
}
.change_lang {
	display: flex;
	align-items: center;
}
.change_lang_link {
	display: flex;
	font-size: 16px;
	padding: 8px 24px;
	border-left: solid 1px #aaa;
}
.change_lang_link div:first-child::after {
	padding-right: .2em;
	content: "/";
}
.change_lang_link a {
	color: #aaa;
}
.navigation_contact {
	background-color: #192f70;
	display: flex;
	flex-basis: 130px;
	justify-content: center;
}
.navigation_contact a {
	display: flex;
	align-items: center;
	color: #fff;
}

/* slider --------------------------------- */

.slider_mainvisual {
	position: relative;
	color: #fff;
}
.slider_mainvisual ul li {
	width: 100%;
	height: 600px;
}
.slider_mainvisual ul li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
dl.slider_mainvisual_text {
	position: absolute;
	width: 95%;
	max-width: 1200px;
	left: 0;
	right: 0;
	margin: auto;
	top: clamp(2.5rem, 0.227rem + 9.7vw, 7.5rem);
	z-index: 86;
	text-shadow: 0 0 10px #000;
}
dl.slider_mainvisual_text dt {
	font-size: var(--font-size-52);
	font-weight: bold;
	margin-bottom: 10px;
	text-align: center;
	line-height: clamp(3.125rem, 2.5rem + 2.67vw, 4.5rem);
}
dl.slider_mainvisual_text dd {
	padding-top: clamp(1.875rem, 1.023rem + 3.64vw, 3.75rem);
	font-size: var(--font-size-28);
	line-height: clamp(1.75rem, 1.295rem + 1.94vw, 2.75rem);
}
body.page_en dl.slider_mainvisual_text dd {
	padding-top: clamp(1.875rem, 1.023rem + 3.64vw, 3.75rem);
}

/* ----------------------------------------
   main
---------------------------------------- */

section:not(#top_feature) {
	background-color: #fff;
}
h2.h2_title {
	position: relative;
	display: block;
	inline-size: fit-content;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: clamp(2.25rem, 0.6rem + 7.04vw, 5rem);
	padding: 0 8px;
	font-size: var(--font-size-36);
	font-family: "Meiryo", "メイリオ", "Hiragino Sans", "Yu Gothic", "游ゴシック", sans-serif;
	font-weight: bold;
	color: #41474d;
}
h2.h2_title::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	border-bottom: solid 3px rgb( 255 90 66 / .5 );
}
.h2_en {
	position: absolute;
	font-size: var(--font-size-20);
	text-align: center;
	bottom: -36px;
	right: 0;
	left: 0;
	margin: auto;
}

/* top_news --------------------------------- */

.news_list li {
	border-bottom: solid 1px #aaa;
	padding-bottom: 20px;
	margin-bottom: 24px;
	font-size: var(--font-size-16);
}
.news_list li .category {
	display: inline-block;
	background-color: #192f70;
	color: #fff;
	font-size: var(--font-size-14);
	line-height: 1em;
	padding: 2px 6px;
	margin-left: 16px;
}
.new {
	display: inline-block;
	background-color: #ff5a42;
	color: #fff;
	font-size: var(--font-size-14);
	line-height: 1em;
	padding: 2px 6px;
	margin-left: 16px;
}
.news_title {
	padding-top: 16px;
}
.news_more {
	display: flex;
	justify-content: flex-end;
}
.news_more a {
	display: block;
	background-color: #ff5a42;
	border: 1px solid #ff5a42;
	color: #fff;
	padding: 10px 20px;
	border-radius: 40% / 100%;
	transition: .4s;
}
.news_sentence {
	line-height: 1.6em;
}
.news_sentence h4 {
	color: #192f70;
	font-weight: bold;
	margin-top: .5em;
}
.news_sentence p {
	margin-bottom: 18px;
}

/* top_feature --------------------------------- */

section#top_feature {
	background-color: #f8f8f8;
}
.feature_content {
	display: flex;
	flex-direction: row;
	gap: 64px;
	margin-bottom: 36px;
}
.feature_content:nth-of-type(odd) {
	flex-direction: row-reverse;
}
.feature_content_image {
	flex-basis: 45%;
}
.feature_content_text {
	flex: 1;
}
dl.feature_content_text dt {
	font-weight: bold;
	font-size: var(--font-size-325);
	padding-bottom: 10px;
}
dl.feature_content_text dt p.text_blue {
	color: #192f70;
}
dl.feature_content_text dd {
	font-size: var(--font-size-20);
	line-height: 1.6em;
}


/* top_message --------------------------------- */

.top_message_content_profile_img {
	width: clamp(12.5rem, 9.5rem + 12.8vw, 17.5rem);
	height: auto;
	display: flex;
	align-items: flex-end;
}
body.page_en .top_message_content_profile_img {
	align-items: flex-start
}
.top_message_content_profile_img img {
	object-fit: cover;
}
dl.top_message_content_profile_text.flex_between {
	flex: 1;
	flex-direction: column-reverse;
	/*margin-left: 64px;*/
}
dl.top_message_content_profile_text dt {
	display: flex;
	align-items: center;
	font-size: var(--font-size-24);
	margin-top: 32px;
}
dl.top_message_content_profile_text dt span {
	display: inline-block;
	margin-right: 2em;
	font-size: var(--font-size-20);
}
dl.top_message_content_profile_text dd {
	color: #41474d;
	line-height: 1.8em;
	font-size: var(--font-size-20);
}
.top_message_content_list {
	color: #41474d;
	margin-top: 40px;
	line-height: 1.8em;
}
.top_message_content_list dl {
	counter-reset: num;
	margin-bottom: 40px;
}
.top_message_content_list dl dt {
	padding-left: 1.4em; /* 2文字分くらい */
	text-indent: -1.4em;
	counter-increment: num;
	font-size: var(--font-size-20);
	font-weight: bold;
}
.top_message_content_list dl dt::before {
	content: counter(num) '.';
	text-indent: 0;
	display: inline-block;
	width: 1em;
}
.top_message_content_list dl dd {
	padding-left: 1.4em;
}

/* top_aboutus --------------------------------- */

section#top_aboutus {
	background-color: #f8f8f8;
}
h3.h3_title {
	font-size: var(--font-size-30);
	color: #41474d;
	font-weight: bold;
	margin-bottom: 20px;
}
.h3_title:has(+ .top_aboutus_content_history) {
	margin-top: 60px;
}
.top_aboutus_content ul {
	border-left: solid 1px #192f70;
	padding: 20px 0 0 24px;
	margin: 0 0 40px 24px;
}

/* チーム紹介 --------------------------------- */

.top_aboutus_members_img {
	flex-basis: 200px;
}
.top_aboutus_members_img img {
	object-fit: cover;
}
.top_aboutus_content ul li {
	margin-bottom: 60px;
}
.top_aboutus_content ul li dl {
	flex: 1;
	padding-left: 40px;
}
.top_aboutus_content ul li dl dt {
	font-size: var(--font-size-30);
	margin-bottom: 1em;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.page_en .top_aboutus_content ul li dl dt {
	display: block;
}
.top_aboutus_content ul li dl dt span {
	font-size: var(--font-size-20);
	padding-left: 1em;
	flex-basis: 65%;
}
.page_en .top_aboutus_content ul li dl dt span {
	display: block;
	padding-left: 0;
}
.en_name {
	font-size: var(--font-size-20);
}
.top_aboutus_content ul li dl dd {
	padding-left: 1.4em;
	text-indent: -1.4em;
	line-height: 1.8em;
}
.top_aboutus_content ul li dl dd::before {
	content: "・";
	text-indent: 0;
	display: inline-block;
	width: 1em;
}

/* 会社概要・会社沿革 --------------------------------- */

dl.overview_list {
	flex: 1;
}
dl.overview_list dt,
dl.overview_list dd {
	border-bottom: solid 1px #aaa;
	margin-bottom: 12px;
	padding-bottom: 12px;
}
dl.overview_list dt {
	flex-basis: 94px;
	padding-left: 14px;
}
dl.overview_list dd {
	flex: 1;
}
.top_aboutus_content_overview_img {
	flex-basis: 48%;
}
.top_aboutus_content.flex_between {
	flex-wrap: wrap;
	gap: 40px;
}
.top_aboutus_content_ja dl {
	border-left: solid 1px #192f70;
	padding-left: 36px;
	margin-left: 24px;
}
.top_aboutus_content_overview_text {
	flex: 1;
}
.top_aboutus_content_history dl.overview_list.flex_start {
	border-left: solid 1px #192f70;
  padding: 20px 0 0 24px;
  margin-left: 24px;
  align-items: flex-end;
}
.top_aboutus_content_history dl.overview_list dt {
	flex-basis: 156px;
	text-align: right;
	padding-right: 36px;
	margin-left: 12px;
}
.top_aboutus_content_history dl.overview_list dd {
	flex: 1;
}

/* top_sab --------------------------------- */

.top_sab_content ul li {
	padding-bottom: 56px;
	border-bottom: solid 1px #aaa;
	margin-bottom: 54px;
}
.top_sab_content ul li:last-of-type {
	margin-bottom: 0;
}
.top_sab_content ul li .top_sab_img {
	flex-basis: 200px;
}
.top_sab_content ul li dl {
	flex: 1;
	margin-left: 48px;
}
.top_sab_content ul li dl dt {
	font-size: var(--font-size-24);
	line-height: 1.2em;
	margin-bottom: 1em;
}
.top_sab_content ul li dl dt .top_sab_ename {
	font-size: var(--font-size-24);
}
.top_sab_content ul li dl dt span + .top_sab_ename {
	margin-top: 1em;
}
.top_sab_content ul li dl dt span {
	font-size: var(--font-size-20);
}
.top_sab_content ul li dl dd {
	font-size: var(--font-size-18);
	color: #41474d;
}

/* top_founders --------------------------------- */

section#top_founders {
	background-color: #f8f8f8;
}
p.explanation {
	font-size: var(--font-size-20);
	margin-bottom: 1em;
}
p.explanation a,
.news_sentence a {
	color: #192f70;
}
ul.top_founders_detail {
	font-size: var(--font-size-18);
}
ul.top_founders_detail > li {
	line-height: 2em;
}
ul.top_founders_detail > li::before {
	content: "◆";
	color: #ff5a42;
}
ul.top_founders_detail > li ul.mark_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-left: 0;
}
ul.top_founders_detail > li ul.mark_list li {
	padding-left: 2em;
	flex-basis: 48%;
}
.top_founders_content aside {
	font-size: var(--font-size-16);
	margin-top: 1em;
	padding-bottom: 64px;
	border-bottom: solid 1px #b5babf;
	margin-bottom: 80px;
}
.top_founders_content h3.h3_title {
	margin-top: 1em;
}
dl.table_blue {
	flex-wrap: wrap;
	gap: 8px;
}
dl.table_blue dt {
	flex-basis: 200px;
	padding: 10px 16px;
}
dl.table_blue dd {
	flex-basis: calc( 100% - 208px );
	padding: 10px 16px;
}
dl.table_blue dt:first-of-type,
dl.table_blue dd:first-of-type {
	background-color: #192f70;
	color: #fff;
}
dl.table_blue dt:nth-of-type(even),
dl.table_blue dd:nth-of-type(even) {
	background-color: #fff;
	color: #41474d;
}
dl.table_blue dt:nth-of-type(odd):not(:first-of-type),
dl.table_blue dd:nth-of-type(odd):not(:first-of-type) {
	background-color: rgb( 0 97 211 / .15);
}
dl.table_blue dd ul.mark_list li:not(:last-of-type) {
	margin-bottom: 20px;
}
h4.h4_title {
	color: #192f70;
	font-weight: bold;
	margin-top: .5em;
}
.top_founders_content p {
	font-size: var(--font-size-18);
	line-height: 1.8em;
}
.btn_contact {
	display: flex;
	justify-content: center;
	margin-top: 48px;
}
.btn_contact a {
	display: flex;
	align-content: center;
	background-color: #192f70;
	border: solid 1px #192f70;
	color: #fff;
	padding: 8px 48px;
	border-radius: 20% / 100%;
	transition: .4s;
}

/* ----------------------------------------
   footer
---------------------------------------- */

footer {
	background-color: #dcdddd;
	padding-top: 60px;
}
.footer_logo {
	text-align: center;
}
.footer_logo img {
	width: 250px;
	height: auto;
}
address {
	text-align: center;
	font-size: var(--font-size-14);
	margin-bottom: 56px;
}
.footer_navigation ul {
	flex-wrap: wrap;
	width: 95%;
	max-width: 980px;
	margin: 0 auto 24px;
	gap: 20px;
	flex-wrap: wrap;
	font-size: var(--font-size-16);
}
.footer_navigation ul li {
	min-width: 180px;
}
.footer_navigation ul li a {
	display: block;
	border-bottom: solid 1px #8f979e;
	padding: 10px;
}
.footer_sns_link ul {
	padding-top: 36px;
	gap: 36px;
	display: flex;
	justify-content: space-around;
}
.footer_sns_link ul li {
	flex-basis: 20%;
	max-width: 200px;
}
.footer_sns_link ul li a {
	display: block;
}
.copyright {
	display: flex;
	justify-content: center;
	font-size: var(--font-size-14);
	color: #41474d;
	text-align: center;
	padding: 10px 20px 24px;
}

/* ----------------------------------------
   contact お問い合わせ
---------------------------------------- */

.red {
	color: #f00;
}
dl.contact_form {
	display: flex;
	gap: 4px;
	margin-bottom: 4px;
}
dl.contact_form:first-of-type {
	margin-top: 48px;
}
dl.contact_form:last-of-type {
	margin-bottom: 24px;
}
dl.contact_form dt,
dl.contact_form dd {
	background-color: rgb( 0 97 211 / .1 );
}
dl.contact_form dt {
	flex-basis: 22%;
	padding-left: 16px;
	padding-right: 12px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
dl.contact_form dd {
	flex: 1;
	padding: 24px 16px;
}
dl.contact_form dd input {
	background-color: #fff;
	border: solid 1px #ccc;
	width: 100%;
	height: 40px;
	max-width: 560px;
	padding: 8px 16px;
	border-radius: 7px;
}
dl.contact_form dd textarea {
	background-color: #fff;
	border: solid 1px #ccc;
	width: 100%;
	height: 350px;
	border-radius: 7px;
	padding: 8px 16px;
}
.btn_submit {
	margin-top: 48px;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.btn_submit input[type="submit"] {
	cursor: pointer;
	background-color: #ff5a42;
	border: 1px solid #ff5a42;
	color: #fff;
	padding: 16px 72px 16px 76px;
	border-radius: 25% / 100%;
	letter-spacing: 4px;
	transition: .4s;
}
.g-recaptcha {
	display: flex;
	justify-content: center;
}
.wpcf7-spinner {
	margin-top: 10px;
}
/* ----------------------------------------
   hover
---------------------------------------- */

.global_navigation > ul li a {
	position: relative;
	border-bottom: none!important;
	padding-bottom: 0;
}
.global_navigation > ul li a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -7px;
	width: 0%;
	height: 3px;
	background: #192f70;
	z-index: -1;
	transition: all 0.5s;
}
.global_navigation > ul li a:hover {
	border-bottom: none;
	transition: .5s;
}
.global_navigation > ul li a:hover::after {
	width: 100%;
}
.navigation_contact a {
	position: relative;
}
.navigation_contact a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 24px;
	width: 0%;
	height: 3px;
	background: #fff;
	z-index: 89;
	transition: all 0.5s;
}
.navigation_contact a:hover::after {
	width: 100%;
}
.change_lang_link a:hover {
	color: rgb( 25 47 112 / .7 );
}
.btn_contact a:hover {
	background-color: transparent;
	border: solid 1px #192f70;
	color: #192f70;
	transition: .4s;
}
.menu ul li a:hover {
	letter-spacing: .3em;
}
.footer_navigation ul li a:hover {
	background-color: #8e8e8e;
	color: #fff;
}
p.explanation a,
.news_sentence a {
	position: relative;
}
p.explanation a::after,
.news_sentence a::after{
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0%;
	height: 1px;
	background: #192f70;
	z-index: 0;
	transition: all 0.5s;
	color: #192f70;
}
p.explanation a:hover::after,
.news_sentence a:hover::after {
	width: 100%;
}
.btn_submit input[type="submit"]:hover,
.news_more a:hover {
	transition: .4s;
	background-color: #fff;
	border: solid 1px #ff5a42;
	color: #ff5a42;
}




/* ----------------------------------------
   responsive
---------------------------------------- */

.slick-next {
	display: none!important;
}

/* responsive_common --------------------------------- */

.pc {
	display: block!important;
}
.sp {
	display: none!important;
}
.sp2 {
	display: none!important;
}

@media screen and (max-width: 1000px) {
	.pc {
		display: none!important;
	}
	.sp {
		display: block!important;
	}
}

/* 1000~1200 --------------------------------- */

@media screen and (max-width: 1200px) {
	.global_navigation.flex_end ul.flex_end,
	.navigation_contact {
		display: none;
	}
	.change_lang_link {
		border-left: none;
		padding: 0;
	}
	.change_lang_link {
		display: flex;
		gap: 8px;
	}
	.change_lang_link div:first-child::after {
		display: none;
	}
	.change_lang_link_current {
		border: solid 1px #192f70;
		background-color: #192f70;
		color: #fff;
		display: flex;
		width: 40px;
		height: 40px;
		justify-content: center;
		align-items: center;
		line-height: 1em;
	}
	.change_lang_link_select a {
		border: solid 1px #192f70;
		color: #192f70;
		display: flex;
		width: 40px;
		height: 40px;
		justify-content: center;
		align-items: center;
		line-height: 1em;
	}
}

/* ~1000 --------------------------------- */

@media screen and (max-width: 1000px) {
	/*header*/
	.menu-icon {
		padding: 36px 16px 0;
	}
	/*top_feature*/
	.feature_content,
	.feature_content:nth-of-type(odd) {
		flex-direction: column;
		align-items: center;
		gap: 10px;
		margin-bottom: 60px;
	}
	dl.feature_content_text dt {
		text-align: center;
	}
	/*footer*/
	.footer_navigation ul.flex_start {
		flex-direction: column;
		gap: 0;
		margin-bottom: 0;
	}
	.footer_navigation ul.flex_start li a {
		padding: 20px;
	}
}




/* 768~ --------------------------------- */

@media screen and (max-width: 768px) {
	.sp2 {
		display: block!important;
	}
	.feature_content_image {
		width: 100%;
		flex-basis: 200px;
	}
	.feature_content_image img {
		width: 100%;
		height: 200px;
		object-fit: cover;
		object-position: top center;
	}
	.top_message_content_profile.flex_between {
		flex-direction: column;
		align-items: center;
	}
	dl.top_message_content_profile_text {
		margin-left: 0;
	}
	dl.top_message_content_profile_text dt {
		justify-content: center;
	}
	.top_aboutus_content_history dl.overview_list.flex_start {
		border-left: none;
		flex-direction: column;
		align-items: flex-start;
		padding-left: 0;
		margin-left: 0;
	}
	.top_aboutus_content_history dl.overview_list.flex_start dt {
		border-bottom: none;
		flex-basis: auto;
	}
	.top_aboutus_content_history dl.overview_list.flex_start dd {
		flex-basis: auto;
		width: 100%;
	}
	h3.h3_title {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.top_aboutus_content ul,
	.top_aboutus_content_ja dl,
	.top_aboutus_content_history dl.overview_list {
		border-left: none;
		padding-left: 0;
		margin-left: 0;
		margin-right: 0;
	}
	.top_aboutus_content.flex_between {
		flex-direction: column-reverse;
	}
	.top_aboutus_content_overview_img {
		flex-basis: 200px;
	}
	.top_aboutus_content_overview_img img {
		height: 200px;
		width: 100%;
		object-fit: cover;
	}
	.top_aboutus_content ul li.flex_start {
		flex-direction: column;
		align-items: center;
		margin-bottom: 60px;
	}
	.top_aboutus_members_img,
	.top_sab_content ul li .top_sab_img {
		flex-basis: auto;
		width: 220px;
	}
	.top_aboutus_content ul li dl {
		padding-left: 0;
	}
	.top_aboutus_content ul li dl dt {
		flex-direction: column-reverse;
		align-items: center;
		text-align: center;
		margin-bottom: .5em;
	}
	.top_aboutus_content ul li dl dt span {
		padding-left: 0;
	}
	.top_sab_content ul li {
		flex-direction: column;
		align-items: center;
	}
	.top_sab_content ul li dl {
		margin-left: 0;
	}
	.top_sab_content ul li dl dt {
		text-align: center;
	}
	.top_aboutus_content_history dl.overview_list dt {
		flex-basis: 88px;
		padding-right: 0;
	}
	.top_aboutus_content_history dl.overview_list dd {
		padding-left: 36px;
		flex-basis: calc( 100% - 88px );
	}
	ul.top_founders_detail > li ul.mark_list li {
		flex-basis: 100%;
	}
	dl.table_blue dt:first-of-type,
	dl.table_blue dd:first-of-type {
		display:none;
	}
	dl.table_blue dt::before,
	dl.table_blue dd::before {
		content: attr(data-label) "：";
	}
	.table_blue.flex_start {
		display: block;
	}
	dl.table_blue dt {
		background-color:rgb( 0 97 211 / .15)!important;
	}
	dl.table_blue dd {
		background-color: #fff!important;
	}
	/*お問い合わせ*/
	dl.contact_form {
		flex-direction: column;
	}
	dl.contact_form dt {
		padding: 12px 16px;
		display: block;
	}
	dl.contact_form dd {
		background-color: #fff;
		padding: 10px 16px 24px;
	}
	dl.contact_form dd textarea {
		height: 200px;
	}
	dl.fit_flex {
		flex-direction: column;
		align-items: flex-start
	}
	dl.fit_flex dd {
		padding-left: 2em;
	}
}

@media screen and (max-width: 480px) {
	/*slider*/
	.slider_mainvisual li {
		height: calc( 100vh - 84px );
	}
	.slider_mainvisual_text_en {
		top: 20px;
	}
	dl.slider_mainvisual_text_ja {
		top: 72px;
	}
	dl.slider_mainvisual_text_ja dd {
		font-size: var(--font-size-24);
		line-height: 1.8em;
	}
	.news_more {
		justify-content: center;
	}
	.page_en dl.top_message_content_profile_text dt {
		flex-direction: column;
		align-items: center;
	}
	.page_en dl.top_message_content_profile_text dt span {
		margin-left: 0;
	}
}

@media screen and (max-width:680px) {
	.header_logo img {
		width: 180px;
	}
	header {
		padding-top: 5px;
	}
}








