@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;
	}
}


/* ---------------------------------------
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: 80px 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:#2dc7d3;
	color: #FFF;
	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_02 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_02 a:hover{
	border: 2px solid #2dc7d3;
	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
------------- */
section.s_02{
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 0 0 100px;
}
section.s_02::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	height: 100%;
	background: #ECF9F8;
}
section.s_02::after{
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 30px;
	height: 100%;
	background: #ECF9F8;
}
section.s_02 .contents{
	width: 1000px;
	margin: 0 auto;
	padding: 100px 0 50px;
	background: #FFF;
}
section.s_02 h2{
	max-width: 560px;
	margin: 0 auto 60px;
}
section.s_02 h3{
	margin-bottom: 20px;
	padding: 30px 25px 20px;
	background: url(../img/s03_bg_pc.png) no-repeat 0 0;
	background-size: 92px auto;
}
section.s_02 section.introduction_box{
	width: 950px;
	margin: 40px auto;
}
section.s_02 section.introduction_box p{
	width: 100%;
}
.introduction_box p.b img {
    height: 450px;
}
section.s_02 section.con_txtimg{
	margin: 100px 0 0;
}
section.s_02 section.introduction_box p.name{
	width: 280px;
	margin-top: 10px;
}
section.s_02 section.con_txtimg:last-of-type{
	margin-bottom: 50px;
}
.txt_img_area{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 0 25px 35px;
}
.img_area_650{
	width: 650px;
	margin: 15px auto;
}
.img_area_950{
	width: 950px;
	margin: 15px auto;
}
.txt_img_area:last-of-type{
	padding-bottom: 25px;
}
.txt_img_area p.txt{
	width: 695px;
	color: #333333;
	font-size: 15px;
	text-align: justify;
	line-height: 1.98;
	letter-spacing: 0.2px;
}
.txt_img_area p.txt.long{
	width:100%;
	margin-top: 5px;
}
.txt_img_area p.txt span.name_blue{
	margin-right: 15px;
	color: #02748e;
	font-size: 16px;
	font-weight: bold;
	line-height: 0;
}
.txt_img_area p.txt span.name_blue:before{
	content: "●";
	margin-right: 4px;
	color: rgba(69,160,175,0.7);
	font-size: 14px;
	font-weight: bold;
	line-height: 0;
}
.txt_img_area p.txt span.name_green{
	margin-right: 15px;
	color: #3b9113;
	font-size: 16px;
	font-weight: bold;
	line-height: 0;
}
.txt_img_area p.txt span.name_green:before{
	content: "●";
	margin-right: 4px;
	color: rgba(85,165,43,0.6);
	font-size: 14px;
	font-weight: bold;
	line-height: 0;
}
.txt_img_area p.txt a{
	position: relative;
	font-weight: bold;
	text-decoration: underline;
	transition: .3s;
}
.txt_img_area p.txt a:hover{
	color: #2DC7D3;
	transition: .3s;
}
.txt_img_area div.img{
	width: 210px;
}
.txt_img_area div.img_280{
	width: 280px;
}
.txt_img_area div.txt_box_620{
	width: 620px;
}
.txt_img_area div.txt_box_650{
	width: 650px;
}
.txt_img_area div.txt_box_620 p,
.txt_img_area div.txt_box_650 p{
	width: 100%;
}
.txt_img_area div.img.large{
	width: 100%;
	margin: 10px 0 0;
	padding: 20px;
	background: url(../img/s02_img_03_bg.png) repeat 0 0;
	background-size: 100% auto;
}
.txt_img_area div.img.large ul.group_logo{
	display: flex;
	justify-content:space-around;
	background: #FFF;
	padding: 15px 40px;
}
.txt_img_area div.img.large ul.group_logo li{
	width: 155px;
}
.txt_img_area div.img.large ul.group_logo li.w_135{
	width: 135px;
}
section.con_name{
	width: 100%;
	margin: 50px 0 0;
	padding-right: 85px;
	text-align: right;
}
section.con_name img{
	width: 150px;
}
h4.corporate_philosophy_ttl{
	width: 100%;
	margin: 0 0 15px;
	padding: 15px 10px;
	background: #28a2a5;
	color: #FFF;
	font-size: 21px;
	font-weight: bold;
	text-align: center;
	border-radius: 100px;
	letter-spacing: 2px;
}
div.corporate_philosophy_box{
	width: 100%;
	margin: 0 0 40px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
div.corporate_philosophy_box .box_blue{
	position: relative;
	max-width: 470px;
	width: 50%;
	min-height: 250px;
	margin: 0 0 15px;
	padding: 30px;
	background-color: #eff9f8;
	border-radius: 20px;
}
div.corporate_philosophy_box .box_blue::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	background: url(../img/s03_img_03_bg_01.png) center center no-repeat;
}
div.corporate_philosophy_box .box_blue::after{
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 20px;
	height: 20px;
	background: url(../img/s03_img_03_bg_02.png) center center no-repeat;
}
div.corporate_philosophy_box .box_blue h5{
	position: relative;
	margin: 0 0 15px;
	padding: 5px 0 7px;
	border-bottom: 1px solid #9fe2de;
	font-size: 17px;
	font-weight: bold;
	line-height: 1;
}
div.corporate_philosophy_box .box_blue h5::after{
	content: "";
	position: absolute;
	right: 0;
	bottom: 5px;
	width: 25px;
	height: 25px;
}
div.corporate_philosophy_box .box_blue.vis h5::after{
	background: url(../img/s03_img_03_vi_icon.png) center center no-repeat;
	background-size: 100% auto;
}
div.corporate_philosophy_box .box_blue.mis h5::after{
	background: url(../img/s03_img_03_mi_icon.png) center center no-repeat;
	background-size: 100% auto;
}
div.corporate_philosophy_box .box_blue.pol h5::after{
	background: url(../img/s03_img_03_po_icon.png) center center no-repeat;
	background-size: 100% auto;
}
div.corporate_philosophy_box .box_blue.pro h5::after{
	background: url(../img/s03_img_03_pr_icon.png) center center no-repeat;
	background-size: 100% auto;
}
div.corporate_philosophy_box .box_blue ul{

}
div.corporate_philosophy_box .box_blue ul li{
	position: relative;
	margin: 0 0 8px;
	padding-left:17px;
	font-size: 15px;
	line-height: 1.4;
}
div.corporate_philosophy_box .box_blue ul li::before{
	content: "";
	position: absolute;
	top:7px;
	left: 2px;
	width: 8px;
	height: 8px;
	background: #28a2a5;
	border-radius: 100px;
}
div.corporate_philosophy_box .box_blue p.deco{
	position: absolute;
	bottom: 30px;
	right: 30px;
}
div.corporate_philosophy_box .box_blue.vis p.deco{
	width: 15px;
	height: 35px;
}
div.corporate_philosophy_box .box_blue.mis p.deco{
	width: 15px;
	height: 45px;
}
div.corporate_philosophy_box .box_blue.pol p.deco{
	width: 15px;
	height: 35px;
}
div.corporate_philosophy_box .box_blue.pro p.deco{
	width: 15px;
	height: 45px;
}
@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) {

	section.s_02{
		padding: 0 0 50px;
	}
	section.s_02 .contents{
		max-width: 80%;
		margin: 0 auto;
		padding: 100px 0 50px;
		background: #FFF;
	}
	section.s_02 h2{
		max-width: 80%;
		margin: 0 auto 50px;
	}
	section.s_02 h3{
		width: 80%;
		padding: 25px 25px 10px;
		background: url(../img/s03_bg_sp.png) no-repeat 0 0;
		background-size: 15% auto;
	}
	section.s_02 section.introduction_box{
		width: 100%;
	}
	section.s_02 section.introduction_box p{
		width: 100%;
	}
	.introduction_box p.b img {
    height: auto;
}
	section.s_02 section.con_txtimg{
		margin: 50px 0 0;
	}
	.txt_img_area{
		padding: 0 5px 20px;
	}
	.img_area_650{
		width: 100%;
		margin: 10px auto;
	}
	.img_area_950{
		width:100%;
		margin: 10px auto;
	}

	/* .txt_img_area:first-of-type{
		padding-bottom: 25px;
	} */
	.txt_img_area p.txt{
		width:100%;
		font-size: 13px;
		line-height: 1.8;
	}
	.txt_img_area p.txt.long{
		width:100%;
	}
	.txt_img_area p.txt span.name_blue,
	.txt_img_area p.txt span.name_green {
    margin-right: 10px;
    font-size: 14px;
}
	.txt_img_area div.img{
		width: 80%;
		margin: 10px auto 0;
	}
	.txt_img_area div.txt_box{
		width: 100%;
	}
	.txt_img_area div.img_280{
		width: 80%;
		margin: 10px auto 0;
	}
	.txt_img_area div.txt_box_620,
	.txt_img_area div.txt_box_650{
		width: 100%;
	}
	.txt_img_area div.img.large{
		padding: 15px;
	}
	.txt_img_area div.img.left{
		order: 2;
	}
	.txt_img_area div.img.large ul.group_logo{
		flex-wrap: wrap;
		padding: 15px 40px;
	}
	.txt_img_area div.img.large ul.group_logo li{
		width: 155px;
	}
	.txt_img_area div.img.large ul.group_logo li.w_135{
		width: 135px;
	}
	section.con_name{
		width: 100%;
		margin: 50px 0 0;
		padding: 0;
	}
	section.con_name img{
		width: 125px;
	}
	h4.corporate_philosophy_ttl{
		margin: 25px 0 20px;
		padding: 7px 10px;
		background: #28a2a5;
		font-size: 18px;
		letter-spacing: 1px;
	}
	div.corporate_philosophy_box{
		margin: 0 0 20px;
	}
	div.corporate_philosophy_box .box_blue{
		max-width: 100%;
		width: 100%;
		min-height: 200px;
	}
	div.corporate_philosophy_box .box_blue h5{
		font-size: 16px;
	}
	div.corporate_philosophy_box .box_blue ul li{
		margin: 0 0 7px;
	}
}
@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;
	}
}
/* ---------------------------------------
スクロールアニメーション
--------------------------------------- */
.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;
}
@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: 15px;
		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% - 10px);
    right: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
		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: 12px;
		font-weight: bold;
	}
}
@media screen and (max-width: 375px) {
	.float_btn_area p{
		font-size: 13px;
	}
}
@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;
}
