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

/* ---------------------------------------
Common Selector
--------------------------------------- */
html {
	height: 100%;
	font-size: 15px;
}
html,body {
  -webkit-text-size-adjust: none;
}
body,div,dl,ul,li,dt,dd,pre,form,fieldset,blockquote,table,th,td,img,p {
	margin:0;
	padding:0;
}
li {
	list-style:none;
}
img {
	border:none;
}
h1,h2,h3,h4 {
	margin: 0;
	padding: 0;
}
input[type="text"] {
	    padding: 0;
	    border: none;
	    border-radius: 0;
	    outline: none;
	    background: none;
}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
}
input[type="radio"] {
    display: none;
}
/* a{
	transition: .3s;
}
a:hover{
  opacity: 0.6;
	transition: .3s;
} */
/* ------- ドラッグ 色 ------- */
::selection { /* CSS3 */
background: #76E8ED;
}
::-moz-selection {
background: #76E8ED; /* Firefox */
}


/* ---------------------------------------
Common
--------------------------------------- */
body {
	width: 100%;
	margin:0;
	padding:0;
	color: #333;
	background: #FFF;
}
@media screen and (max-width: 768px) {
	body {
	  min-width: 100%;
	}
}
@font-face {
  font-family: "M PLUS Rounded 1c";
  src:url('../font/MPLUSRounded1c-Regular.woff') format('woff'),url('../font/MPLUSRounded1c-Regular.ttf') format('truetype');
	font-weight: 300;
	font-style: normal;
 }
 @font-face {
  font-family: "M PLUS Rounded 1c";
  src:url('../font/MPLUSRounded1c-Bold.woff') format('woff'),url('../font/MPLUSRounded1c-Bold.ttf') format('truetype');
 	font-weight: 600;
 	font-style: bold;
  }
 .mb_35_25{
	 margin-bottom: 30px;
 }
 @media screen and (max-width: 768px) {
	 .mb_35_25{
		 margin-bottom: 25px;
	 }
 }
/* ---------------------------------------
header
--------------------------------------- */
header {
	overflow: hidden;
	width: 100%;
}
@media screen and (max-width: 768px) {
	header {
		min-width: 100%;
	}
}
@media screen and (max-width: 375px) {

}
/* ------//header ------- */

#nav {
    padding: 0;
}
#nav-box ul.navLevel_1 {
	display: none;
}
@media screen and (max-width: 768px) {
	#wrapper-2{
		display: none;
	}
}

/* ---------------------------------------
スクロールアニメーション
--------------------------------------- */
.s_02 .contents h2{
	transition-delay: .2s;
}

/* ---------------------------------------
float_btn
--------------------------------------- */
.float_btn_area{
	position: absolute;
	top:370px;
	right: 0;
	width: 60px;
	z-index: 1;
}
.float_btn_area.fixed{
	position: fixed;
	top:0;
	right: 0;
}
.float_btn_area p{
	filter: drop-shadow(0 10px 5px rgba(114,124,142,0.2));
	transition: .3s;
}
.float_btn_area p:hover{
	opacity: 0.6;
	transition: .3s;
}
.float_btn_area p a{
	display: inline-block;
	width: 100%;
}
.float_btn_area p.access{
	margin-bottom: 10px;
}
.float_btn_area p span.sp_access,
.float_btn_area p span.sp_site{
	display: none;
}



/* ---------------------------------------
main
--------------------------------------- */
main{
	width: 100%;
	margin: 0 auto;
}
br.sp{
	display: none;
}
@media screen and (max-width: 768px) {
	main{
		width: 100%;
		min-width: 100%;
	}
	br.pc{
		display: none;
	}
	br.sp{
		display: block;
	}
}
/* ----------
btn
------------- */
.btn_box{
	margin: 40px 0 60px;
}
.btn_box a{
	position: relative;
	box-sizing: border-box;
	display: block;
	max-width: 600px;
	margin: 0 auto;
	padding: 15px;
	border: 2px solid #2dc7d3;
	background: #FFF;
	color: #137d7f;
	font-size: 17px;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
	border-radius: 100px;
	filter: drop-shadow(0px 0px 5px rgba(49,124,124,0.2));
	transition: .3s;
}
.btn_box a::after{
	content: "";
	position: absolute;
	top: calc(50% - 14px);
	right:15px;
	width: 28px;
	height: 28px;
	background: #2dc7d3 url(../img/btn_arrow_w.png) no-repeat center center;
	border:2px solid #FFF;
	background-size: 20px auto;
	border-radius: 100px;
}
.btn_box a:hover{
	border: 2px solid #2dc7d3;
	background: #2dc7d3;
	color: #000;
	filter: drop-shadow(0px 0px 0px rgba(49,124,124,0.2));
	transition: .3s;
}
.btn_box_02{
	margin: 30px 0 0;
}
.btn_box_02 a{
	position: relative;
	box-sizing: border-box;
	display: block;
	max-width: 600px;
	margin: 0 auto;
	padding: 20px;
	border: 2px solid #FFF;
	background:#3a5fab;
	color: #FFF;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
	border-radius: 100px;
	filter: drop-shadow(0px 0px 5px rgba(49,124,124,0.2));
	transition: .3s;
}
.btn_box_02 a::after{
	content: "";
	position: absolute;
	top: calc(50% - 14px);
	right:20px;
	width: 28px;
	height: 28px;
	background: #3a5fab url(../img/btn_arrow_w.png) no-repeat center center;
	border:1px solid #FFF;
	background-size: 14px auto;
	border-radius: 100px;
}
.btn_box_02 a:hover{
	border: 2px solid #3a5fab;
	background: #FFF;
	color: #000;
	filter: drop-shadow(0px 0px 0px rgba(49,124,124,0.2));
	transition: .3s;
}
@media screen and (max-width: 500px) {
	.btn_box{
		margin: 20px 0 30px;
	}
	.btn_box a{
		max-width: 100%;
		padding: 15px 20px;
		font-size: 14px;
	}
	.btn_box a::after {
    top: calc(50% - 10px);
    right: 15px;
    width: 22px;
    height: 22px;
    background-size: 15px auto;
	}
	.btn_box_02{
		margin: 30px 0;
	}
	.btn_box_02 a{
		max-width: 90%;
		font-size: 15px;
	}
}
/* ----------
s_01
------------- */
section.s_01{
	width: 100%;
	max-height: 250px;
	margin: 0 auto;
	padding: 30px 0;
	background: url(../img/s01_bg.png) repeat 0 0;
	background-size: 100% auto;
	border-bottom: 3px solid #00333F;
}
.top_img{
	width: 500px;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	section.s_01{
		width: 100%;
		max-height: 220px;
		padding: 0;
		background-size: auto 100%;
	}
	.top_img{
		width: 100%;
		max-width: 375px;
		margin: 0 auto;
	}
}
@media screen and (max-width: 320px) {
	.top_img{
		max-width: 90%;
	}
}

/* ----------
s_02
------------- */

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


/**********2025.11*************/
section.s_02_25e {
	width: 100%;
	background-color: #fff;
}
.contents-meeting {
	width: 950px;
	margin: 0 auto;
	padding: 150px 0;
	font-size: 15px;
	color: #3e3a39;
	line-height: 2.0;
	letter-spacing: 0.05em;
	font-weight: normal;
}
.contents-meeting h2 {
	width: 400px;
	margin: 0 auto 50px;
}
.contents-meeting h3.subtitle {
	font-size: 20px;
	color: #0563a2;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	letter-spacing: 0.15em;
}
.contents-meeting h4.lead {
	text-align: center;
	font-weight: normal;
	margin: 30px auto;
	line-height: 1.6;
}
.contents-meeting .images {
	width: 100%;
}
.contents-meeting .note {
	font-size: 12px;
	color: #000;
	font-weight: normal;
	text-align: left;
	line-height: 2;
	margin-top: 10px;
}
.contents-meeting .heading {
	margin-top: 85px;
	margin-bottom: 35px;
	background: url(../img/25e_title_bg.svg) no-repeat left top;
	background-size: 90px auto;
	padding: 20px 0 0 30px;
}
.contents-meeting .heading p {
	font-size: 25px;
	color: #0563a2;
	font-weight: 500;
	text-align: left;
	line-height: 1.7;
	font-family: "Noto Sans JP", sans-serif;
}
.contents-meeting .txt-box-1c {
	width: 100%;
	margin-bottom: 20px;
	text-align: justify;
	word-break: break-all;
}
.contents-meeting .txt-box-2c {
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}
.contents-meeting .txt-box-2c .box-l {
	width: 33%;
	padding-top: 6px;
}
.contents-meeting .txt-box-2c .box-r {
	width: 63%;
	text-align: justify;
	word-break: break-all;
}
span.sato,
span.raiyama {
	border-radius: 3px;
	padding: 3px 8px 4px;
	font-size: 14px;
	color: #fff;
	margin-right: 8px;
	font-weight: bold;
}
span.sato {
	background: #09827b;
}
span.raiyama {
	background: #3a5fab;
}
.contents-meeting .chart-contents {
	width: 100%;
	background: #dfe9f7;
	padding: 3% 4%;
	margin-bottom: 20px;
}

.contents-meeting .topics-section-title {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 0 0 30px;
}
.contents-meeting .topics-section-title::before,
.contents-meeting .topics-section-title::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: #0563a2;
}
.contents-meeting .topics-section-title span {
  color: #fff;
  font-weight: 700;
  padding: 4px 50px;
  border-radius: 40px;
  margin: 0;
  white-space: nowrap;
  background: #0563a2;
  font-size: 24px;
}
.contents-meeting .chart-contents-inner {
	width: 100%;
	display: flex;
	justify-content: space-between;
}
.contents-meeting .chart-contents-inner .box {
	width: 32%;
}
.contents-meeting .purpose {
	width: 100%;
	background: url(../img/25e_purpose_bg.svg) no-repeat;
	background-size: 100%;
	text-align: center;
	padding: 30px 0;
}
.contents-meeting .purpose p {
	width: 55%;
	margin: 0 auto;
}

/*****The second section**********/

section.s_03_25e {
	width: 100%;
	background-color: #e5eff4;
}
.contents-groupcp {
	width: 950px;
	margin: 0 auto;
	padding: 150px 0;
	font-size: 15px;
	color: #3e3a39;
	line-height: 2.0;
	letter-spacing: 0.05em;
	font-weight: normal;
}
.contents-groupcp h2 {
	width: 400px;
	margin: 0 auto 50px;
}
.contents-groupcp h3 {
	font-size: 16px;
	line-height: 2.0;
	text-align: center;
	font-weight: bold;
	margin-bottom: 50px;
}
.contents-groupcp .images {
	width: 100%;
	margin-bottom: 80px;
}
.contents-groupcp .prof-area {
    width: 68%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2%;
    box-sizing: border-box;
}
.contents-groupcp .prof-area .box-l {
    width: 28%;
}
.contents-groupcp .prof-area .box-r {
    width: 70%;
    box-sizing: border-box;
}
.contents-groupcp .prof-area .box-r .profbox {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    background: url("../img/25e_s03_bg_prof.svg") no-repeat top center;
    background-size: 100% auto;
    box-sizing: border-box;
    padding: 0;
}
.contents-groupcp .prof-area .box-r .profbox-inner {
    padding: 30px 25px 0 45px;
}
.contents-groupcp .prof-area .box-r .proftxt {
    font-size: 16px;
    line-height: 1.7;
    text-align: justify;
    word-break: break-word;
    overflow-wrap: break-word;
    color: #3e3a39;
    margin: 0 0 20px 0;
}
.contents-groupcp .prof-area .box-r .proflogo {
    text-align: center;
    margin: 0;
	padding-bottom: 30px;
}
.contents-groupcp .prof-area .box-r img {
    max-width: 80%;
    height: auto;
}
.contents-groupcp .contents-lead-area {
	width: 100%;
	margin: 0 auto;
	text-align: center;
	margin-top: 90px;
}
.contents-groupcp .contents-lead-area .icon {
	width: 65px;
	margin: 0 auto 20px;
}
.contents-groupcp .decorated-text {
	display: flex;
  align-items: center; /* 縦中央揃え */
  justify-content: center; /* 横中央揃え */
  text-align: center;
  gap: 100px;
  font-size: 26px;
  letter-spacing: 0.1em;
  font-weight: bold;
  color: #3e3a39;
}
.decorated-text .frame {
  display: inline-block;
  width: 14px;
  height: 80px;
  background-size: contain;
  background-repeat: no-repeat;
}
.decorated-text .frame.left {
  background-image: url("../img/25e_s03_frame_l.svg");
}
.decorated-text .frame.right {
  background-image: url("../img/25e_s03_frame_r.svg");
}

.contents-groupcp .decorated-text-under {
	font-family: "Overpass", sans-serif;
	font-size: 17px;
	font-weight: 800;
	color: #0f9c9b;
	margin-top: 10px;
	margin-bottom: 20px;
	letter-spacing: 0.1em;
}
.contents-groupcp .decorated-text .text {
  line-height: 1.4;
}
.contents-groupcp .txt-box {
	width: 100%;
	margin-bottom: 20px;
	text-align: justify;
	word-break: break-all;
}
.contents-groupcp .ph {
	width: 100%;
}
.contents-groupcp .history-area {
	width: 100%;
	background-color: #fff;
	padding:30px;
	margin: 60px auto 0;
}
.contents-groupcp .history-area .title-area {
	font-size: 18px;
	font-weight: bold;
	border-bottom: 1px solid #0f9c9b;
	text-align: left;
	width: 100%;
	padding-bottom: 6px;
}
.contents-groupcp .history-area .txt-area {
	font-size: 17px;
	text-align: left;
	padding-top: 6px;
}



/*****The Third section**********/

section.s_04_25e {
	width: 100%;
	background-color: #e9f3ef;
}
.finanicial-sammary {
	width: 950px;
	margin: 0 auto;
	padding: 150px 0;
	font-size: 15px;
	color: #3e3a39;
	line-height: 2.0;
	letter-spacing: 0.05em;
	font-weight: normal;
}
.finanicial-sammary h2 {
	width: 400px;
	margin: 0 auto 50px;
}
.finanicial-sammary h3.subtitle {
	font-size: 20px;
	color: #0563a2;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	letter-spacing: 0.15em;
}
.finanicial-sammary .result-box {
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin: 130px auto 20px;
}
.finanicial-sammary .result-box .box {
	width: 48%;
}
.finanicial-sammary .detail-box {
	width: 100%;
	margin: 100px auto 100px;
	padding: 50px 40px;
	background-color: #fff;
	box-shadow: 0px 0px 10px 10px rgba(11, 127, 127, 0.03);
	border-radius: 5px;
}
.finanicial-sammary .detail-box .title {
	width: 100%;
	border-bottom: 1px solid #898989;
	font-size: 24px;
	font-weight: bold;
	color: #1c1d1d;
	text-align: center;
	margin-bottom: 50px;
	padding-bottom: 10px;
}
.finanicial-sammary .detail-box .chart-area {
	width: 100%;
	display: flex;
	justify-content: space-between;
}
.finanicial-sammary .detail-box .chart-area .box {
	width: 32%;
}
.finanicial-sammary .note {
	font-size: 12px;
	color: #000;
	font-weight: normal;
	text-align: left;
	line-height: 2;
	margin-top: 10px;
}
.btn-box {
  position: relative;
  display: block; 
  width: fit-content;
  margin: 50px auto;      /* 画面中央に配置 */
  padding: 15px 100px;    /* 右側は丸スペース分を確保 */
  box-sizing: border-box;
  border: 2px solid #3a5fab;
  border-radius: 35px;
  background: #fff;
  color: #3a5fab;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease;
  cursor: pointer;
}

/* テキスト（中央） */
.btn-box .btn-text {
  display: inline-block;
  vertical-align: middle;
}

/* 右端の丸（SVGを内包） */
.btn-box .btn-circle {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #3a5fab;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: background-color 0.45s ease, color 0.45s ease, transform 0.45s ease;
}
/* ホバーで色反転（ボタン全体） */
.btn-box:hover {
  background: #3a5fab;
  color: #fff;
  border-color: #3a5fab;
}
/* ホバー時：丸の色と中の SVG も反転、少し拡大 */
.btn-box:hover .btn-circle {
  background: #fff;
  color: #3a5fab;
  transform: translateY(-50%) scale(1.06);
}
/* キーボードフォーカス可視化（任意） */
.btn-box:focus {
  outline: 3px solid rgba(58,95,171,0.12);
  outline-offset: 3px;
}





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

	section.s_02::before{
		width: 20px;
	}
	section.s_02::after{
		width: 20px;
	}
	section.s_02 .contents{
		width: 90%;
	}
	.txt_img_area p.txt{
		width: 60%;
	}
	.txt_img_area div.img{
		width: 37%;
	}
	.txt_img_area div.txt_box{
		width: 60%;
	}
	.txt_img_area div.txt_box p{
		width: 100%;
	}
	.txt_img_area div.img_280{
		width: 37%;
	}
	.txt_img_area div.txt_box_620,
	.txt_img_area div.txt_box_650{
		width: 60%;
	}
	.txt_img_area div.txt_box_620 p{
		width: 100%;
	}
	div.corporate_philosophy_box .box_blue{
		width: 49%;
		padding: 25px;
	}
}



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

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


/**********2025.11*************/
section.s_02_25e {
	width: 100%;
	background-color: #fff;
}
.contents-meeting {
	width: 90%;
	margin: 0 auto;
	padding: 80px 0;
	font-size: 15px;
	color: #3e3a39;
	line-height: 2.0;
	letter-spacing: 0.05em;
	font-weight: normal;
}
.contents-meeting h2 {
	width:80%;
	max-width: 400px;
	margin: 0 auto 50px;
}
.contents-meeting h3.subtitle {
	font-size: 18px;
	line-height: 1.7;
	letter-spacing: 0;
}
.contents-meeting h4.lead {
	line-height: 1.8;
	width: 90%;
}

.contents-meeting .heading {
	margin-top: 85px;
	margin-bottom: 35px;
	background: url(../img/25e_title_bg.svg) no-repeat left top;
	background-size: 60px auto;
	padding: 10px 0 0 20px;
}
.contents-meeting .heading p {
	font-size: 20px;
	line-height: 1.7;
}
.contents-meeting .txt-box-1c {
	width: 100%;
	margin-bottom: 20px;
	text-align: justify;
	word-break: break-all;
}
.contents-meeting .txt-box-2c {
	width: 100%;
	display: flex;
	flex-direction: column;
	margin-bottom: 20px;
}
.contents-meeting .txt-box-2c .box-l {
	width: 80%;
	padding-top: 20px;
	order: 2;
	margin: 0 auto;
}
.contents-meeting .txt-box-2c .box-r {
	width: 100%;
	text-align: justify;
	word-break: break-all;
	order: 1;
}
.contents-meeting .chart-contents {
	width: 100%;
	background: #dfe9f7;
	padding: 8% 4%;
	margin-bottom: 20px;
}

.contents-meeting .topics-section-title {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 0 0 30px;
}
.contents-meeting .topics-section-title::before,
.contents-meeting .topics-section-title::after {
	display: none;
}
.contents-meeting .topics-section-title span {
  color: #fff;
  font-weight: 700;
  padding: 3px 0;
  font-size: 18px;
  width: 90%;
  text-align: center;
}
.contents-meeting .chart-contents-inner {
	width: 100%;
	display: flex;
	flex-direction: column;
}
.contents-meeting .chart-contents-inner .box {
	width: 90%;
	margin: 0 auto 15px;
}
.contents-meeting .purpose {
	width: 100%;
	background:#dfe9f7;
	text-align: center;
	padding: 25px 0;
}
.contents-meeting .purpose p {
	width: 90%;
	margin: 0 auto;
}


/*****The second section**********/

section.s_03_25e {
	width: 100%;
	background-color: #e5eff4;
}
.contents-groupcp {
	width: 90%;
	margin: 0 auto;
	padding: 80px 0;
	font-size: 15px;
	color: #3e3a39;
	line-height: 2.0;
	letter-spacing: 0.05em;
	font-weight: normal;
}
.contents-groupcp h2 {
	width:80%;
	max-width: 400px;
	margin: 0 auto 50px;
}
.contents-groupcp h3 {
	font-size: 15px;
	margin-bottom: 50px;
	text-align: justify;
}
.contents-groupcp .prof-area {
    width: 100%;
    margin: 0 auto;
    display: flex;
	flex-direction: column;
    align-items: center;
    gap: 2%;
    box-sizing: border-box;
}
.contents-groupcp .prof-area .box-l {
    width: 40%;
	margin-bottom: 5px;
}
.contents-groupcp .prof-area .box-r {
    width: 100%;
    box-sizing: border-box;
}
.contents-groupcp .prof-area .box-r .profbox {
    width: 100%;
    margin: 0 auto;
    background: #fff; 
	border: 4px solid #0f9c9b;  /* 緑色の線 */
	border-radius: 15px;        /* 角丸 */
	position: relative;
	margin: 40px auto;
}
.contents-groupcp .prof-area .box-r .profbox::before {
    content: "";
  position: absolute;
  top: -20px; /* 三角の高さ分だけ上へ */
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 18px solid transparent;
  border-right: 18px solid transparent;
  border-bottom: 20px solid #fff;   
}
.contents-groupcp .prof-area .box-r .profbox::after {
    content: "";
  position: absolute;
  top: -24px; /* 外枠の色分だけ広く */
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 22px solid transparent;
  border-right: 22px solid transparent;
  border-bottom: 24px solid #0f9c9b;     /* 枠線色 */
}
.contents-groupcp .prof-area .box-r .profbox-inner {
    padding: 20px;
}
.contents-groupcp .prof-area .box-r .proftxt {
    font-size: 14px;
    line-height: 1.7;
    text-align: justify;
    word-break: break-word;
    overflow-wrap: break-word;
    color: #3e3a39;
    margin: 0 0 10px 0;
}
.contents-groupcp .prof-area .box-r .proflogo {
    text-align: center;
    margin: 0;
	padding-bottom: 0;
}
.contents-groupcp .prof-area .box-r img {
    max-width: 85%;
    height: auto;
}

.contents-groupcp .contents-lead-area .icon {
	width: 50px;
	margin: 0 auto 10px;
}
.contents-groupcp .decorated-text {
	gap: 30px;
  font-size: 18px;
}

.contents-groupcp .decorated-text-under {
	font-size: 13px;
	margin-top: 10px;
	margin-bottom: 20px;
	letter-spacing: 0;
}
.contents-groupcp .decorated-text .text {
  line-height: 1.4;
}
.contents-groupcp .history-area {
	width: 100%;
	background-color: #fff;
	padding:20px;
	margin: 60px auto 0;
}
.contents-groupcp .history-area .title-area {
	font-size: 18px;
	font-weight: bold;
	border-bottom: 1px solid #0f9c9b;
	text-align: left;
	width: 100%;
	padding-bottom: 4px;
}
.contents-groupcp .history-area .txt-area {
	font-size: 15px;
	text-align: left;
	padding-top: 8px;
	line-height: 1.5;
}



/*****The Third section**********/

section.s_04_25e {
	width: 100%;
	background-color: #e9f3ef;
}
.finanicial-sammary {
	width: 90%;
	margin: 0 auto;
	padding: 80px 0;
	font-size: 15px;
	color: #3e3a39;
	line-height: 2.0;
	letter-spacing: 0.05em;
	font-weight: normal;
}
.finanicial-sammary h2 {
	width:80%;
	max-width: 400px;
	margin: 0 auto 50px;
}
.finanicial-sammary h3.subtitle {
	font-size: 18px;
	color: #0563a2;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	letter-spacing: 0.15em;
}
.finanicial-sammary .result-box {
	width: 90%;
	display: flex;
	flex-direction: column;
	margin: 0 auto 20px;
}
.finanicial-sammary .result-box .box {
	width: 90%;
	margin: 80px auto 0;
}
.finanicial-sammary .detail-box {
	width: 100%;
	margin: 100px auto 100px;
	padding: 50px 40px;
	background-color: #fff;
	box-shadow: 0px 0px 10px 10px rgba(11, 127, 127, 0.03);
	border-radius: 5px;
}
.finanicial-sammary .detail-box .title {
	width: 100%;
	margin-bottom: 0;
	padding-bottom: 5px;
}
.finanicial-sammary .detail-box .chart-area {
	width: 100%;
	display: flex;
	flex-direction: column;
}
.finanicial-sammary .detail-box .chart-area .box {
	width: 100%;
	margin: 30px auto 0;
}
.finanicial-sammary .note {
	font-size: 12px;
	color: #000;
	font-weight: normal;
	text-align: left;
	line-height: 1.5;
	margin-top: 10px;
}
.btn-box {
  margin: 50px auto 0;
  padding: 15px 40px;
  box-sizing: border-box;
  border: 2px solid #3a5fab;
  border-radius: 50px;
  font-size: 14px;
  line-height: 1.5;
  width: 100%;
}

.btn-box .btn-circle {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #3a5fab;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: background-color 0.45s ease, color 0.45s ease, transform 0.45s ease;
  padding-left: 2px;
}

}


@media screen and (max-width: 500px) {
	section.s_02::before{
		width: 10px;
	}
	section.s_02::after{
		width: 10px;
	}
	section.s_02 .contents{
		max-width: 89%;
		margin: 0 auto;
		padding: 60px 0 50px;
		background: #FFF;
	}
	section.s_02 h2{
		max-width: 100%;
		margin: 0 auto 50px;
	}
	section.s_02 h3{
		width: 100%;
		padding: 20px 15px 5px;
	}
	h4.corporate_philosophy_ttl{
		margin: 5px 0 10px;
		padding: 5px 8px;
		font-size: 16px;
	}
	div.corporate_philosophy_box .box_blue h5{
		padding: 5px 0 7px;
		font-size: 16px;
	}
	div.corporate_philosophy_box .box_blue ul li{
		margin: 0 0 8px;
		font-size: 14px;
	}
	div.corporate_philosophy_box .box_blue p.deco{
		bottom: 25px;
		right: 25px;
	}
}
@media screen and (max-width: 375px) {
	section.s_02 section.introduction_box{
		width: 100%;
	}
	section.s_02 section.introduction_box p{
		width: 100%;
	}
	section.s_02 section.introduction_box p.a{
		margin: 20px 0 0;
	}
	.txt_img_area div.img.large ul.group_logo{
		flex-wrap: wrap;
		padding: 8% 20%;
	}
	.txt_img_area div.img.large ul.group_logo li{
		width: 100%;
	}
	.txt_img_area div.img.large ul.group_logo li.w_135{
		width: 90%;
	}
}
/* ----------
s_04（グループ会社）
------------- */
section.s_04{
	width: 100%;
	margin: 0 auto;
	padding: 0 0 0;
	background: #ECF9F8 url(../img/s04_bg.png) no-repeat 20% 0;
	background-size: 100% auto;
}
section.s_04 .contents{
	width: 100%;
	margin: 0 auto;
	padding: 100px 0;
}
section.s_04 h2{
	max-width: 570px;
	margin: 0 auto 50px;
}
.lead_sentence{
	font-size: 16px;
	text-align: center;
	line-height: 2.5;
}
.lead_sentence br.sp{
	display: none;
}
section.s_04 .visual_box{
	box-sizing: border-box;
	position: relative;
	width: 100%;
	height:480px;
	margin: 40px 0;
	background: #ECF9F8 url(../img/s04_bg_01.png) no-repeat 0 0;
	background-size: 100% auto;
}
section.s_04 .visual_box p{
	position: absolute;
	bottom:30%;
	left: 30px;
	width: 50%;
	max-width:620px;
}
.guide_box{
	display: flex;
	justify-content: space-between;
	max-width: 900px;
	margin: 80px auto;
}
.guide_box p.img{
	max-width: 220px;
}
.guide_box div.speech_bubble_link{
	width: 100%;
	max-width: 650px;
}
.guide_box div.speech_bubble_link .speech_bubble{
  position:relative;
  width:100%;
  background:#FFFFFF;
  padding:30px 25px;
  border:2px solid #9FE2DE;
  color:#1a1a1a;
  font-size:18px;
	line-height: 1.4;
}
.guide_box div.speech_bubble_link .speech_bubble:after,
.guide_box div.speech_bubble_link .speech_bubble:before{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    right:100%;
    top:50%;
}
.guide_box div.speech_bubble_link .speech_bubble:after{
    border-color: rgba(255, 255, 255, 0);
    border-top-width:9px;
    border-bottom-width:9px;
    border-left-width:15px;
    border-right-width:15px;
    margin-top: -9px;
    border-right-color:#FFFFFF;
}
.guide_box div.speech_bubble_link .speech_bubble:before{
  border-color: rgba(159, 226, 222, 0);
  border-top-width:11px;
  border-bottom-width:11px;
  border-left-width:18px;
  border-right-width:18px;
  margin-top: -11px;
  margin-right: 2px;
  border-right-color:#9FE2DE;
}
.guide_box div.speech_bubble_link .speech_bubble p.bold{
	margin: 10px 0 0;
  font-weight:bold;
}
.guide_box div.speech_bubble_link p.link{
	margin: 15px 0 0;
	padding: 2px 0;
	background: #FFF;
	text-align: center;
}
.guide_box div.speech_bubble_link p.link img{
	width: 180px;
}
section.con_introduction{
	width: 90%;
	max-width: 1000px;
	margin: 80px auto;
	background: #FFF;
}
section.con_introduction .explanatory_drawing{
	max-width: 890px;
	margin: 0 auto;
	padding: 80px 0;
}
.tesco_box{
	padding: 0 0 40px;
	line-height: 2.2;
	text-align: justify;
}
.tesco_box h3{
	position: relative;
	margin: 20px 0 60px;
	padding: 22px;
	background: #040270;
	color: #FFF;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}
.tesco_box h3::before{
	content: "";
	position: absolute;
	bottom:-45px;
	left: calc(50% - 45px);
	width: 90px;
	height: 90px;
	background: #040270;
	border-radius: 100px;
	z-index: -1;
}
.tesco_box h3::after{
	content: "";
	position: absolute;
	bottom:-35px;
	left: calc(50% - 26px);
	width: 52px;
	height: 52px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100%;
}
.tesco_box h3.n01::after{
	background-image: url(../img/s04_icon_01.png);
}
.tesco_box h3.n02::after{
	background-image: url(../img/s04_icon_02.png);
}
.tesco_box h3.n03::after{
	background-image: url(../img/s04_icon_03.png);
}
.tesco_box h3.n04::after{
	background-image: url(../img/s04_icon_04.png);
}
.tesco_box .txt_img_2col{
	display: flex;
	justify-content: space-between;
	width: 90%;
	max-width: 900px;
	margin: 0	auto;
}
.tesco_box .txt_img_2col .txt_box{
	max-width: 580px;
}
.tesco_box .txt_img_2col .txt_box h4{
	margin: 0 0 10px;
	color: #00333f;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.5;
}
.tesco_box .txt_1col .img_box_820{
	max-width: 820px;
	margin: 30px auto;
}
.tesco_box .txt_img_2col .img_box{
	max-width: 290px;
}
.tesco_box .txt_1col{
	width: 90%;
	max-width: 900px;
	margin: 10px auto;
	line-height: 2;
}
.tesco_box .txt_1col h4{
	margin: 0 0 10px;
	color: #00333f;
	font-size: 18px;
	font-weight: bold;
}
.tesco_box .txt_1col p{
	margin: 0 0 5px;
}
.tesco_box .img_3col{
	display: flex;
	justify-content: space-between;
	width: 90%;
	max-width: 900px;
	margin: 30px auto;
}
.tesco_box .img_3col > p{
	max-width: 290px;
}
.career_col{
	width: 90%;
	max-width: 820px;
	margin: 30px auto;
	padding: 30px;
	background: #ecf9f8;
}

.career_col .inner h4{
	margin: 0 0 10px;
	padding: 0 0 10px;
	border-bottom: 1px solid #137d7f;
	color: #00333f;
	font-size: 18px;
	font-weight: bold;
}
.career_col .inner p{
	margin: 0 0 5px;
	color: #00333f;
	font-size: 15px;
	line-height: 1.7;
}

@media screen and (max-width: 1400px) {
	section.s_04 .visual_box{
		background-size: 130% auto;
	}
}
@media screen and (max-width: 1000px) {
	section.s_04 .visual_box{
		height:380px;
		background-size: 110% auto;
	}
	.tesco_box .txt_img_2col .txt_box{
		width: 65%;
	}
	.tesco_box .txt_img_2col .img_box{
		width: 33%;
	}
}
@media screen and (max-width: 768px) {
	section.s_04 .visual_box{
		height:280px;
		background-size: 140% auto;
	}
	.lead_sentence {
    width: 100%;
		line-height: 1.7;
	}
	section.s_04 .lead_sentence {
    width: 80%;
		margin: 0 auto;
	}
	.guide_box{
		flex-wrap: wrap;
		max-width: 100%;
		margin: 0 auto;
	}
	.guide_box p.img{
		margin: 0 auto 30px;
	}
	.guide_box div.speech_bubble_link{
		width: 90%;
		margin: 0 auto;
	}
	.guide_box div.speech_bubble_link .speech_bubble{
	  padding:20px 20px;
	  font-size:15px;
	}
	.guide_box div.speech_bubble_link .speech_bubble:after,
	.guide_box div.speech_bubble_link .speech_bubble:before{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    bottom:100%;
    left:50%;
		right:auto;
		top:auto;
		}
		.guide_box div.speech_bubble_link .speech_bubble:after{
    border-color: rgba(255, 255, 255, 0);
    border-top-width:16px;
    border-bottom-width:16px;
    border-left-width:9px;
    border-right-width:9px;
    margin-left: -9px;
    border-bottom-color:#FFFFFF;
	}
	.guide_box div.speech_bubble_link .speech_bubble:before{
    border-color: rgba(159, 226, 222, 0);
    border-top-width:19px;
    border-bottom-width:19px;
    border-left-width:11px;
    border-right-width:11px;
    margin-left: -11px;
    margin-bottom: 2px;
    border-bottom-color:#9FE2DE;
	}
	.guide_box div.speech_bubble_link .speech_bubble p.bold {
    margin: 5px 0 0;
}
	section.con_introduction .explanatory_drawing{
		width: 90%;
		padding: 60px 0;
	}
	.tesco_box{
		padding: 0 0 40px;
		line-height: 1.8;
	}
	.tesco_box h3{
		position: relative;
		margin: 20px 0 50px;
		padding: 15px 10px;
		font-size: 18px;
		line-height: 1.5;
	}
	.tesco_box h3::before{
		bottom:-40px;
		left: calc(50% - 40px);
		width: 80px;
		height: 80px;
	}
	.tesco_box h3::after{
		content: "";
		position: absolute;
		bottom:-33px;
		left: calc(50% - 23px);
		width: 46px;
		height: 46px;
	}
	.tesco_box .txt_img_2col{
		flex-wrap: wrap;
		width: 90%;
		margin: 0	auto;
	}
	.tesco_box .txt_img_2col .txt_box{
		width: 100%;
		max-width: 100%;
	}
	.tesco_box .txt_img_2col .txt_box h4{
		margin: 0 0 6px;
		font-size: 16px;
	}
	.tesco_box .txt_img_2col .img_box{
		width: 100%;
		max-width: 290px;
		margin: 10px auto;
	}
	.tesco_box .txt_1col{
		width: 90%;
		margin: 10px auto;
		line-height: 2;
	}
	.tesco_box .txt_1col h4{
		margin: 0 0 6px;
		font-size: 16px;
	}
}
@media screen and (max-width: 500px) {
	section.s_04 .visual_box{
		height:200px;
		background-size: 120% auto;
	}
	.tesco_box .img_3col{
		flex-wrap: wrap;
		width: 90%;
		margin: 20px auto;
	}
	.tesco_box .img_3col > p{
		max-width: 100%;
		margin: 10px 0;
	}
}
@media screen and (max-width: 375px) {
	section.s_04 .visual_box{
		height:180px;
		background-size: 150% auto;
	}
	section.s_04 .visual_box p{
		position: absolute;
		width: 80%;
	}
}

/* ----------
s_03
------------- */
/* section.s_03{
	width: 100%;
	margin: 0 auto;
	padding: 0 0 0;
	background: #ECF9F8 url(../img/s04_bg.png) no-repeat 20% 0;
	background-size: 100% auto;
} */
section.s_03 {
    width: 100%;
    margin: 0 auto;
    padding: 50px 0;
    background: url(../img/s02_bg.png) repeat 0 0;
    background-size: 15px auto;
}
section.s_03 .contents{
	width: 100%;
	margin: 0 auto;
	padding: 160px 0;
}
section.s_03 h2{
	max-width: 570px;
	margin: 0 auto 50px;
}
.lead_sentence_big{
	margin-bottom: 70px;
	color: #00333f;
	font-size: 21px;
	font-weight: bold;
	text-align: center;
	line-height:1.8;
}
.lead_sentence{
	font-size: 16px;
	text-align: center;
	line-height: 2.5;
}
.lead_sentence br.sp{
	display: none;
}
section.s_03 .summary_box{
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	width: 970px;
	margin: 0 auto;
}
section.s_03 .summary_box p{
	width: 50%;
	max-width:450px;
}
section.con_introduction{
	width: 90%;
	max-width: 1000px;
	margin: 80px auto;
	background: #FFF;
	border-radius: 10px;
	filter: drop-shadow(rgba(68, 114, 113, 0.2) 0px 0px 10px);
}
section.con_introduction .explanatory_drawing{
	max-width: 890px;
	margin: 0 auto;
	padding: 80px 0;
}
.sales-by-segment_box{
	padding: 0 0 40px;
	line-height: 2.2;
	text-align: justify;
}
.sales-by-segment_box h3{
	padding: 80px 10px 50px;
	color: #000;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}
.sales-by-segment_box .img_3col{
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 920px;
	margin: 0	auto;
}
.sales-by-segment_box .img_3col .segment_box{
	max-width: 300px;
	background: #eff9fa;
}
.sales-by-segment_box .img_3col .segment_box.dour{
	background: #ebf2f7;
}
.sales-by-segment_box .img_3col .segment_box.bous{
	background: #ebfaf6;
}
.sales-by-segment_box .img_3col .segment_box h4{
	margin: 0 0 10px;
	padding: 10px;
	background: #c0eaed;
	color: #000;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
}
.sales-by-segment_box .img_3col .segment_box.dour h4{
	background: #bfd6e6;
}
.sales-by-segment_box .img_3col .segment_box.bous h4{
	background: #ccf2e8;
}
.sales-by-segment_box .note{
	max-width: 920px;
  margin: 15px auto;
	font-size: 14px;
}
.btn_box.segment a {
  max-width: 450px;
}

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

}
@media screen and (max-width: 1000px) {
	.sales-by-segment_box h3{
		padding: 50px 10px 30px;
		font-size: 20px;
	}
	.sales-by-segment_box .img_3col{
		flex-wrap: wrap;
		width: 85%;
		max-width: 100%;
	}
	.sales-by-segment_box .img_3col .segment_box{
		max-width: 100%;
		margin: 10px auto;
	}
	.sales-by-segment_box .img_3col .segment_box h4{
		margin: 0 0 10px;
		font-size: 17px;
	}
	.sales-by-segment_box .note{
		width: 85%;
		max-width: 100%;
	  margin: 10px auto;
		font-size: 13px;
		line-height: 1.3;
	}
	.btn_box.segment a {
		width: 90%;
	  max-width: 100%;
	}
}
@media screen and (max-width: 768px) {
	.lead_sentence_big{
		margin-bottom: 40px;
		padding: 0 10px;
		font-size: 18px;
	}
	.lead_sentence{
		font-size: 15px;
		text-align: center;
		line-height: 2;
	}
	.lead_sentence br.sp{
		display: none;
	}
	section.s_03 .summary_box{
		flex-wrap: wrap;
		width: 90%;
	}
	section.s_03 .summary_box p{
		width: 100%;
		max-width:450px;
		margin-top: 20px;
		margin: 15px auto;
	}

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

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

}
/* ---------------------------------------
トグル
--------------------------------------- */
ul.history li div.his_box h3.tgl_btn{
	position: relative;
	padding: 12px 30px 11px 20px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	cursor: pointer;
	transition: .5s
}
ul.history li div.his_box h3.tgl_btn:hover{
	opacity: .5;
	transition: .5s
}
ul.history .tgl_btn::after{
	font-family: 'icomoon';
	content: "\e900";
	position: absolute;
	top: calc(50% - 14px);
	right: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	background: #9FE2DE;
  color: #fff;
	border-radius: 100px;
	font-size:17px;
	line-height: 0;
	transform: rotate(180deg);
	transition: .4s;
}
ul.history .tgl_btn.open::after{
	transform: rotate(0deg);
	transition: .4s;
}
.tgl_con{
	display: none;
	margin: 0 20px;
    padding: 10px 0;
	border-top: 1px solid #E6E6E6;
}
.tgl_con p.txt{
	margin: 0 0 10px;
	font-size: 12px;
	text-align: justify;
	line-height: 1.7;
}
.tgl_con p.img{
	width: 250px;
	margin: 0 0 10px;
}
ul.history.p_or_c .tgl_btn::after{
	background: #9FE2DE;
}
ul.history.m_a .tgl_btn::after{
	background:  #E089C1;
}
ul.history.listed .tgl_btn::after{
	background:  #2DC7D3;
}




@media screen and (max-width: 768px) {
	ul.history li div.his_box h3.tgl_btn{
		padding: 10px 30px;
		font-size: 14px;
		line-height: 1.4;
	}
	ul.history .tgl_btn::after{
		top: calc(50% - 13px);
		right: 5px;
		width: 24px;
		height: 24px;
		font-size:14px;
	}
	.tgl_con{
		display: none;
		margin: 0 20px;
		padding: 10px 0 0;
		border-top: 1px solid #E6E6E6;
	}
	.tgl_con p.txt{
		margin: 0 0 10px;
		font-size: 12px;
		text-align: justify;
		line-height: 1.7;
	}
	.tgl_con p.img{
		width: 250px;
		margin: 0 0 10px;
	}
}



@media screen and (max-width: 500px) {
	.float_btn_area{
		position: absolute;
		display: none;
		width: 100%;
		padding: 4% 0 3%;
		background: rgba(255,255,255,0.8);
		box-shadow: 5px 5px 25px 0 rgba(114,124,142,0.5);
	}
	.float_btn_area.fixed{
		display: block;
		position: fixed;
		top:inherit;
		bottom: 0;
		right: 0;
	}
	.float_btn_area .sp_box{
		display: flex;
		justify-content: space-around;
		margin: 0 2%;
	}
	.float_btn_area p{
		position: relative;
		width: 48%;
		border-radius: 50px;
		font-size: 11px;
		letter-spacing: -0.05em;
		text-align: center;
		filter: drop-shadow(0 10px 5px rgba(114,124,142,0));
	}
	.float_btn_area p::after{
    font-family: 'icomoon';
    content: "\e900";
    position: absolute;
    top: calc(50% - 8px);
    right: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 17px;
    height: 17px;
		border: 1px solid #FFF;
    color: #fff;
    border-radius: 100px;
    font-size: 12px;
    line-height: 0;
		transform: rotate(180deg);
	}
	.float_btn_area p.access{
		margin-bottom:0;
		background: #9FE2DE;
	}
	.float_btn_area p.site{
		background: #2DC7D3;
	}
	.float_btn_area p a{
		position: relative;
		padding: 4%;
	}
	.float_btn_area p.site a{
		color: #000;
		padding-left: 10px;
	}
	.float_btn_area p a img{
		display: none;
	}
	.float_btn_area p span.sp_access,
	.float_btn_area p span.sp_site{
		display: block;
		font-size: 11px;
		font-weight: bold;
	}
}
@media screen and (max-width: 375px) {
	.float_btn_area p{
		font-size: 11px;
	}
}
@media screen and (max-width: 320px) {
	.float_btn_area p::after{
		content: "";
		width: 0;
		height: 0;
		border: 0;
	}
}
/* ---------------------------------------
footer
--------------------------------------- */
footer{
	margin: 50px 0 0;
}
#site-info {
    clear: both;
    width: 100%;
    min-width: 0;
    position: relative;
    padding-bottom: 30px;
}
#site-info-box {
    width: 100%;
    margin: auto;
}
