@charset "utf-8";

/*--- reset */

html {
	overflow-y: scroll; 
	overflow-x: hidden;
	font-size: 62.5%;　/*フォントサイズを10pxに設定*/
}
body,
html {  
    height: 100%;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
figure{
	margin: 0;
	padding: 0;
}
	
address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
	font-style: normal;}

table {
	border-collapse: collapse;
	border-spacing: 0;
	font-size:100%;
}


caption {text-align: left;}

q:before,
q:after {
	content: '';}

object,
embed {vertical-align: top;}

h1,
h2,
h3,
h4,
h5,
h6 {font-size: 100%;}

img,
abbr,
acronym,
fieldset {border: 0;}

img{
	vertical-align: bottom;
	line-height: 0;
}

li {list-style-type: none;}
li img{vertical-align: bottom;}
p{
	text-justify: inter-ideograph;
}

a {color: #0a337f; text-decoration:none;}
a:hover{opacity:0.7;}
.underline{text-decoration:underline;}

/* clearfix */
.clear:before,
.clear:after {
    content: " ";
    display: table;
}

.clear:after {
    clear: both;
}

/*hr reset*/
hr {
	border: 0;
	height: 0;
	margin: 0;
	padding: 0;
}
.hr01{
	border-bottom:1px #ccc solid;
}

.fs-letter{letter-spacing:-0.07em !important;}

.palt{
 font-feature-settings: "palt";
}

.f-center{text-align:center !important;}
.f-left{text-align: left !important;}
.f-right{text-align:right !important;}

.fc-pink{color: #E52F7E;}
.fc-black{color: #000;}
.fc-yellow{color: #F8D418;}
.fc-blue{color: #2074C5;}
.fc-sky{color: #00a2e6;}

.fc-yellow2 {color: #f8f119;}
.fc-blue2 {color: #2974c5;}

.fs-20{font-size: 2rem;}
.f-bold{font-weight:700;}
.f-w500{font-weight: 500;}

.f-en{
	font-family: "Roboto", sans-serif;
	font-weight: 700;
}

/*margin*/
.mb30{margin-bottom: 30px;}
.mb20{margin:0 0 20px 0;}
.mb40{margin:0 0 40px 0;}
.mb60{margin:0 0 60px 0;}
.mb80{margin:0 0 80px 0;}

/*padding*/
.ptb120{padding:120px 0;}

.img-100{width: 100%; height: auto;}

/*iphone reset*/
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

/*====================================
 default 
====================================*/
body {
	background: #fff;
	color: #303E4C;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6em;/*16px*/
	font-weight:400;
	line-height: 2;
	text-align: left;
}
#wrap{
  position:relative;
  height:auto;
}
#wrap:before {
    content: "";
    display: block;
}
/*#wrap section*/
.contents{
	max-width:1120px;
	width: 86%;
	margin:0 auto;
	position:relative;
}

.flex-bt{
	display: -webkit-flex;
    display: flex; 
	-webkit-justify-content: space-between;
    justify-content: space-between;
}
.flex-center{
	display: -webkit-flex;
    display: flex; 
	-webkit-justify-content:center;
    justify-content:center;
	align-items: end;
}
.flex-order1{order:1;}
.flex-order2{order:2;}

.align-c{
	align-items: center;
}

img.max100 {
max-width: 100%;
height: auto;
border-radius: 10px;
}

@media screen and (min-width: 769px) {
	.pc-none{
		display:none;
	}
	a[href^="tel:"] {
		pointer-events: none;
	}
}

/*animation*/
.fade-in {
	opacity: 0;
	transition-duration: 1s;
	transition-property: opacity, transform;
}
.fade-in-center{
	transform: translate(0, 0);
	transition-duration: 0.5s;
}
.fade-in-up {
	transform: translate(0, 50px);
}
.fade-in-left {
	transform: translate(-50px, 0);
}
.fade-in-right {
	transform: translate(50px, 0);
}
.fade-in-down {
	transform: translate(0, -50px);
}
/*scroll-inの位置は命令一番下に置かないと効かない*/
.scroll-in {
	opacity: 1;
	transform: translate(0, 0);
}

@media screen and (min-width: 769px) {
	.delay_pc{
		transition-delay: .3s;
	}
	.delay2_pc{
		transition-delay: .6s;
	}
}

/*====================================
 HEADER
====================================*/
header{
	width: 100%;
	position: relative;
	z-index: 100;
	background: #fff;
}
header h1{
	width: 260px;
	/*
	width: 15%;
	background: #eee;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 30px;
	padding: 5px;
	background: #fff;
	*/
}
header h1 img{
	height: auto;
	width: 100%;
	vertical-align:middle;
}
.flex-bt-nav{
	padding: 10px 30px;
	height: 60px;
    display: flex; 
    justify-content: space-between;
	align-items: center;
	align-content: stretch;
}
#nav{
/*
	width: calc(98% - 450px - 234px);
	flex-grow: 1;
	background: #EFD3D4;
	width: 40%;
	*/
	width: 50%;
	margin: 0 2% 0 3%;
}
#gnav{
	/*
	background: #2074C5;
	*/
}
#gnav ul{
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
#gnav ul li{
	font-size: 1.5rem;
	line-height: 1.3;
/*
	width: 14%;
	padding: 0 2rem;
	border-left: 1px solid #1C65AC;
	border-right: 1px solid #3289DD;
	*/
	text-align: center;
}
/*
#gnav ul li:nth-of-type(2),
#gnav ul li:nth-of-type(3){
	width: 29%;	
}
#gnav ul li:nth-of-type(4){
	width: calc(18% - 2px);	
}
#gnav ul li:first-child{
	width: calc(12% - 2px);
}
#gnav ul li:last-child{
	width: calc(14% - 2px);
}
*/
#gnav ul li:first-child a{
/*
	padding: 1.25rem 0;
	*/
}
#gnav ul li a{
/*
	padding: 1.25rem 0 1.25rem 2.5rem;
	*/
	padding: 1.25rem 0;
	display: block;
	color: #303E4C;
	font-weight: bold;
}

header .header-menu{
/*
background: #ccc;
	width: 450px;
	width:32%;
	width:30%;
	*/
    display: flex; 
    justify-content:flex-end;
	align-items: center;
	gap: 10px;
	flex-grow: 0;
}
header .header-menu li{
	width:200px;
	padding: 1.5rem 1rem;
	font-size: 1.5rem;
	text-align: center;
	font-weight: 500;
	box-shadow:0 3px 0 0 rgba(0, 0, 0, 0.3);
	border-radius: 6px;
}
header .header-menu li a{
	line-height: 1.3;
}
/*
header .header-menu li:first-child{
	width: 550px;
}
header .header-menu li:last-child{
	width: 45%;
}
*/
header .header-menu li:first-child a{
	color: #303e4c;
	background: url("../images/icon_mail.png") no-repeat left 0rem center / 16px auto;
}
header .header-menu li:last-child a{
	color: #fff;
	background: url("../images/icon_pc.png") no-repeat left 0rem center / 16px auto;
}


/*cv*/
.cv .contents{
	padding:80px 0;
	background: linear-gradient(-45deg, #2074C5 0%, #03A1E8 100%);
	border-radius: 30px;
}
.cv ul{
	display: flex;
	justify-content:center;
	align-items: center;
	gap: 30px;
}
.cv li{
	padding:1rem;
	font-size: 1.5rem;
	text-align: center;
	font-weight: 500;
	box-shadow:0 3px 0 0 rgba(0, 0, 0, 0.3);
	border-radius: 6px;
}
.cv li{
	padding: 2rem 0;
	font-size: 2.4rem;
	letter-spacing: 0.05em;
}
header .header-menu li:first-child,
.cv li:first-child{
	background: #f8f118;
}
header .header-menu li:last-child,
.cv li:last-child{
	background: #e52f7e;
}
header .header-menu li a,
.cv li a{
	padding: 0 0 0 2rem;
	display: block;
	transition:  .3s;
}
.cv li a{
	padding: 0 0 0 3.5rem;
	width: 350px;
}
.cv li:first-child a{
	color: #303e4c;
	background: url("../images/icon_mail.png") no-repeat left 3.5rem center / 22px auto;
}
.cv li:first-child a:hover{
	background: url("../images/icon_mail.png") no-repeat left 4.5rem center / 22px auto;
}
.cv li:last-child  a{
	color: #fff;
	background: url("../images/icon_pc.png") no-repeat left 4.5rem center / 22px auto;
}
.cv li:last-child a:hover{
	background: url("../images/icon_pc.png") no-repeat left 6rem center / 22px auto;
}

/*====================================
 MAIN
====================================*/
.main{
	background:url("../images/main_bg.jpg") no-repeat center top;
	background-size: cover;
	text-align: center;
	font-weight: bold;
}
.main .contents{
	padding: 80px 0;
	max-width: 900px;
	background: rgba(255,255,255,0.6);
}
.main p span{
	padding: 0.5rem;
	font-size: 2.4rem;
	color:  #2074c5;
	box-sizing: border-box;
	border: 2px solid #2074c5;
}
.main h2{
	margin-bottom: 4rem;
	font-size: 5.4rem;
	line-height: 1.3;
	letter-spacing: 0.05em;
	font-feature-settings: "palt";
}
.main h2 .main-small{
	font-size: 3.8rem;
}
.main h2 .fc-blue{
	font-size: 6.4rem;
	color: #1caaea;
}
.main ul {
	margin-top: 30px;
	gap: 20px;
	flex-wrap: wrap;
}

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

}



/*====================================
 contents
====================================*/
.fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}

/*font*/

/*H2*/
h2{
	font-size:4.8rem;
	font-weight: 500;
	line-height:1.5;
	letter-spacing: 0.1em;
	text-align:center;
	position: relative;
}
h2 .en{
	font-size: 1.6rem;
	font-family: "Roboto", sans-serif;
	font-weight: 700;
	display: block;
	letter-spacing: 0;
	color: #03A1E8;
}
h3, h4{
	font-weight: 500;
}

/*btn*/
.btn01{
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
}
.btn01 a{
	padding: 2rem 6rem;
	border-radius: 6px;
	color: #fff;
	background: #03A1E8;
	position: relative;
	box-shadow: 0 3px 0 0 rgba(0, 0, 0, 0.15);
}
.btn01 a::before{
	width: 10px;
	height: 10px;
	right:2rem;
	top: 50%;
	transform: translateY(-50%);
	background: #fff;
	clip-path: polygon(0 100%, 100% 50%, 0 0);
	position: absolute;
	content: '';
	transition: 0.3s;
}
.btn01 a:hover::before{
	right: 1rem;
}

/*aboutus*/
.aboutus{
	padding: 120px 0 80px;
	position: relative;
}
.aboutus::after{
	font-size: 14rem;
	bottom: 4rem;
	font-weight: 100;
	opacity: 0.05;
	font-family: "Roboto", sans-serif;
	content: 'ABOUT US';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	letter-spacing: 0.08em;
	white-space: nowrap;
}
.aboutus .contents {
	max-width: 1360px;
}
.aboutus h2{
	font-size: 4.2rem;
	z-index: 10;
}
.aboutus h2 .fc-blue{
	font-size:5.6rem;
}
.aboutus p{
	font-size: 2.4rem;
	font-weight: 700;
	z-index: 20;
}

.bg{
	background: url("../images/flow_bg.jpg") repeat;
}
/*product*/
.product{
	/*background: url("../images/flow_bg.jpg") repeat;*/
	position: relative;
}

@media screen and (min-width: 769px) {
.product .contents{
	max-width: 1360px;
	width:94%;
}
}
.product-list{
	margin-bottom: 100px;
	padding: 60px min(100px, 6%);
	background: url("../images/product_bg.jpg") repeat;
	border-radius: 30px;
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
}
.product-list > div{
	width: calc( (100% - 100px) / 3);
	text-align: center;
}


.product-list p{
	margin-top: 2rem;
	padding: 0.75rem 0;
	font-size: min(2.4rem, 1.67vw);
	font-weight: bold;
	color: #2074C5;
	display: block;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 3px 0 0 rgba(0, 0, 0, 0.15);
}
.product-list p span{
	padding: 0 0 0 2.5rem;
	background: url("../images/icon_link.png") no-repeat left center;
	background-size: 15px auto;
}
.product-list .fs-16{
	font-size: 1.6rem;
	color: #fff;
}
.product-wrap{
	position: relative;
	z-index: 10;
}
.product-wrap::before {
	content: "";
	position: absolute;
	width: 100vw;
	height: 100%;
	background: #fff;
	top: 0;
	box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
}
.product-left{
	padding: 4rem 0 4rem 6rem;
}
.product-left::before{
	border-radius: 50px 0 0 50px;
	left:0;
}
.product-right{
	padding: 4rem 6rem 4rem 0;
}
.product-right::before{
	border-radius:  0 50px 50px 0;
	right:0;
}

.product-img{
	width: calc(46% - 6rem);
	z-index: 1;
	position: relative;
}
.product-right .product-img{
	order: 2;
}
.product-img-box{
	position: relative;
}
.product-img-box p{
	padding: 0.25rem 1.5rem;
	top: 2rem;
	left: 2rem;
	font-weight: 500;
	position: absolute;
	background: rgba(255,255,255,0.85);
	border-radius: 50px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.product-txt{
	width: 54%;
	z-index: 1;
	position: relative;
}
.product h3{
	padding: 0 0 0 4rem;
	font-size: 3.6rem;
	line-height: 1.6;
	position: relative;
}
.product h3 .f-en{
	font-size: 1.2rem;
	color: #ddd;
	display: block;
}
#wrap .product h3::before{
	top: 20px;
}
.product h3::before,
.leave-txt h3::before{
	width: 26px;
	height: 26px;
	top: 50%;
	left: 0;
	background: url("../images/icon.png") no-repeat left 0;
	background-size: 26px auto;
	content: '';
	position: absolute;
}
.product h4{
	margin: 2rem 0;
	font-size: 2rem;
	color: #2074C5;
}
.product-results{
	margin: 2rem 0;
	padding: 3rem;
	border-radius: 20px;
	background: #f5f5f5;
}
.product-results p{
	font-size: 1.8rem;
	font-weight: 500;
	color: #2074C5;
}
.product-results dl{
	margin: 0.5rem 0 0;
	display: flex;
	justify-content: flex-start;
}
.product-results dt{
	padding: 0 0 0 2rem;
	width: calc(20% - 2rem);
	font-weight: 500;
	position: relative;
}
.results2 dt{
	width: calc(35% - 2rem);
}
.product-results dt::before{
	width: 8px;
	height: 8px;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	border-radius: 50%;
	background: #2074C5;
	content: '';
	position: absolute;
}
.product ul:not(.list01){
	display: flex;
	justify-content: flex-start;
}
.product ul:not(.list01) li{
	font-weight: 500;
	margin: 0 4rem 0 0;
}
.product ul:not(.list01) li a{
	padding: 0 0 0 2rem;
	color: #303E4C;
	text-decoration: underline;
	position: relative;
	transition: 0.3s;
}
.product ul:not(.list01) li a:hover{
	text-decoration: none;
}
.product ul:not(.list01) li a::before,
.product ul:not(.list01) li a::after{
	top: 50%;
	transform: translateY(-50%);
	content: '';
	position: absolute;
}
.product ul:not(.list01) li a::before{
	width: 16px;
	height: 16px;
	left: 0;
	background: #03A1E8;
	border-radius: 50%;
}
.product ul:not(.list01) li a::after{
	left: 5.5px;
	width: 6px;
	height: 6px;
	background: #fff;
	clip-path: polygon(0 100%, 100% 50%, 0 0);
}

.product .list01 li{
padding-left:1.2em;
position: relative;
font-weight: 400;
line-height: 2;
}

.product .list01 li:before {
display: block;
content: "";
top: 0.88em;
left: 4px;
margin: auto;
position: absolute;
width: 5px;
height: 5px;
background-color: #333;
border-radius: 100%;
}

/*trouble*/
.trouble{
	padding: 120px 0 60px;
	background:#D9F1FC;
	position: relative;
}
.trouble::before, .trouble::after{
	height: 100px;
	width: 50%;
	bottom: -1px;
	content: '';
	position: absolute;
	background: #fff;
}
.trouble::before{
	left: 0;
	clip-path: polygon(0 0, 0% 100%, 100% 100%);
}
.trouble::after{
	right: 0;
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.trouble h2 .fc-yellow{
	font-size: 5.6rem;
	color: #03A1E8;
}
.trouble ul{
	flex-wrap: wrap;
}
.trouble li{
	padding-bottom: 8rem;
	width:33.333%;
	font-size: 2.4rem;
	line-height: 1.6;
	text-align: center;
	font-weight: 700;
	position: relative;
}
.trouble li span{
	color: #03A1E8;
	border-bottom: 2px dotted #03A1E8;
}
.trouble figure{
	width: 250px;
	height: 250px;
	margin: 0 auto 2rem;
}
.trouble figure img{
	width: 100%;
	height: auto;
}
.trouble li p{
	z-index: 10;
	position: relative;
}
.trouble li::after{
	width: 42px;
	height: 59px;
	left: 50%;
	bottom:8.5rem;
	transform: translateX(-50%);
	background: url("../images/icon_q.png") no-repeat center 0;
	background-size: 42px auto;
	content: '';
	position: absolute;
	z-index: 1;
}

/*leave*/
.leave ul{
	gap:60px;
}
.leave li{
	width: 50%;
	position: relative;
}
.leave-txt{
	top: -50px;
	width: calc(85% - 4rem);
	padding: 0 4rem 0 0;
	border-radius: 0 50px 0 0;
	background: #fff;
	position: relative;
}
.leave-txt h3{
	padding: 4rem 0 2rem 4rem;
	font-size: 2.8rem;
	letter-spacing: 0.05em;
	font-weight: 500;
	position: relative;
}

/*results*/
.results{
	padding: 120px 0 0;
}
.results h2{
	text-align: left;
}
.results-txt{
	width: 30%;
}
.results ul{
	width: 70%;
}
.results li{
	margin: 0 0 4rem;
	display: flex;
	justify-content: space-between;
}
.results li figure{
	width: 40%;
}
.results li figure img{
	width: 100%;
	height: auto;
	border-radius: 20px;
}
.results dl{
	width: calc(60% - 40px);
}
.results dt{
	padding: 0 0 2rem;
	margin: 0 0 2rem;
	font-size: 2.4rem;
	font-weight: 500;
	border-bottom: 1px solid #303E4C;
}

/*message*/
.message{
	margin: 120px 0 0;
	padding: 520px 0 120px;
	position: relative;
}
.message::before{
	width: 100%;
	height: 400px;
	background: url("../images/message.jpg") no-repeat center top;
	background-size: cover;
	top: 0;
	left: 0;
	position: absolute;
	content: '';
	animation: fadeIn 3s ease 0s 1 normal;
}
.message h2{
	font-size: 4rem;
	text-align: left;
}
.message figure{
	width: 33%;
}
.message figure div{
	margin: 1rem 0;
	font-size: 1.8rem;
	line-height: 1.4;
	text-align: center;
	font-weight: bold;
}
.message-txt{
	width: 60%;
}

/*flow*/
.flow{
	background: url("../images/flow_bg.jpg") repeat;
}
.flow .contents{
	max-width: 1360px;
}
.flow li{
	max-width: 226px;
	width: 100%;
	position: relative;
}
.flow li::after{
	width: 18px;
	height: 30px;
	right:-9px;
	top: 20%;
	background: #ddd;
	clip-path: polygon(0 100%, 100% 50%, 0 0);
	position: absolute;
	content: '';
}
.flow li:last-child::after{
	content: none;
}
.flow li figure{
	width: 160px;
	height: 160px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}
.flow li figure img{
	width: 100px;
	height: auto;
}
.flow li dt{
	margin: 0 0 1rem;
	font-size: 2rem;
	color: #2074C5;
	font-weight: 700;
	text-align: center;
	font-feature-settings: 'palt';
}
.flow li dt span{
	padding: 0.5rem 2rem;
	font-size: 1.4rem;
	line-height: 1;
	border-radius: 50px;
	color: #fff;
	background: #2074C5;
	display: inline-block;
}
.flow li dd{
	line-height: 1.4;
	padding: 0 10px;
}


/*table*/
.table01{
	border-top: 1px solid #ddd;
}
.table01 dl{
	display: flex;
	justify-content: flex-start;
	border-left:  1px solid #ddd;
}
.table01 dt, .table01 dd{
	padding: 20px;
	border-bottom: 1px solid #ddd;
	border-right: 1px solid #ddd;
}
.table01 dt{
	width: 20%;
	background: #f5f5f5;
}
.table01 dd{
	width: 80%;
}

/*====================================
 FOOTER
====================================*/
footer{
	font-size:1.4rem;
	text-align:center;
	color:#fff;
	background:#303E4C;
	padding:2rem;
}
footer a{
	color: #fff;
}
footer .contents{
	padding: 1rem 0;
	max-width: 1360px;
	justify-content: space-between;
}
footer .contents,
footer nav ul{
	display: flex;
	flex-wrap: wrap;
}
footer nav ul{
	justify-content: flex-start;
}
footer nav ul li{
	margin-right: 3rem;
	position: relative;
}
footer nav ul li::before{
	font-size: 1rem;
	padding-right: 0.5rem;
	content: '▶';
}

/*pagescroll*/
#scrollUp {
    bottom: 0;
    right: 0;
}
#scrollUp img{
	opacity: 0.7;
}

video{
	max-width: 720px;
	width: 100%;
	height: auto;
}


/*====================================
 MAIN
====================================*/
.main2026 .mv_bg {
  background: url("../images/mv_bg.jpg") no-repeat 50% 50%;
  background-size: cover;
  text-align: center;
  font-weight: bold;
  margin-bottom: 68px;
  position: relative;
}
.main2026 .mv_bg:before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
  background: linear-gradient(102.77deg, rgba(98, 200, 255, 0.8) 20.43%, rgba(22, 124, 206, 0.8) 73.77%);
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .main2026 .h2_wrap {
    display: grid;
    place-items: center;
  }
}
.main2026 h2 {
  position: relative;
  z-index: 3;
  margin-block: 1.4em;
  color: #fff;
  line-height: 1.3;
  font-feature-settings: "palt";
}
.main2026 .h2_txt01 {
  gap: 20px;
  margin-bottom: 2rem;
}
.main2026 .h2_txt01 .txt45 {
  line-height: 1.2;
  font-size: min(4.5rem, 3.13vw);
  letter-spacing: 0;
  border-bottom: 0.18em solid #f8f119;
}
.main2026 .txt70 {
  font-size: min(7rem, 4.86vw);
  letter-spacing: 0;
}
.main2026 .txt55 {
  font-size: min(5.5rem, 3.82vw);
}
.main2026 .font-min {
  font-size: min(8.7rem, 6vw);
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  margin-inline: -0.5em;
  letter-spacing: -0.05em;
}
.main2026 .mv_box01 {
  position: relative;
  z-index: 3;
  background: url("../images/flow_bg.jpg") repeat;
  border-radius: 20px 20px 0 0;
  padding: 30px 40px 17px;
  box-sizing: border-box;
}
.main2026 .mv_box01 .img_h4_wrap {
  gap: 28px;
}
.main2026 .mv_box01 .img_h4 {
  background-color: #000;
  color: #fff;
  gap: 16px;
  flex: 1;
  border-radius: 15px;
  padding-block: 16px;
}
.main2026 .mv_box01 .txt46 {
  font-size: min(4.6rem, 3.2vw);
}
.main2026 .mv_box01 .txt46 span {
  font-size: 76%;
}
.main2026 .txt30 {
  line-height: 1.3;
  font-size: min(3rem, 2.08vw);
}
.main2026 .txt30 em {
  font-size: 166.6%;
}
.main2026 .txt20 {
  line-height: 1.3;
  font-size: min(2rem, 1.39vw);
}
.main2026 .point03 {
  max-width: 96%;
  margin-inline: auto;
  text-align: center;
  gap: 4%;
}
.main2026 .point03 li {
  width: min(378px, 30%);
}
.main2026 .point03 .txt36 {
  font-size: min(36rem, 2.5vw);
  background: url(../images/icon.svg) 50% bottom no-repeat;
  padding-bottom: 30px;
  white-space: nowrap;
  line-height: 1.3;
}
.main2026 .point03 .txt20 {
  line-height: 1.6;
}
.main2026 .point03 img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

.cv .txt36 {
  font-size: min(3.6rem, 2.5vw);
  line-height: 1.1;
  margin-bottom: 30px;
}

.strength .h2 {
  color: #fff;
  letter-spacing: 0;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.strength .h2 span {
  display: inline-block;
  position: relative;
}
.strength .h2 .txt54 {
  font-size: min(5.4rem, 3.6vw);
  padding: 12px 90px;
  position: relative;
  z-index: 0;
}
.strength .h2 .txt54:before {
  transform: skewX(-45deg);
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
  background: linear-gradient(90deg, #38a0e7 0%, #2975c6 113.86%);
  z-index: -2;
}
.strength .h2 .txt54 .dot3:after {
  display: block;
  content: "";
  width: 22px;
  height: 22px;
  top: 6px;
  right: -12px;
  position: absolute;
  background: url(../images/dot3.svg) 50% 50% no-repeat;
  background-size: 100% auto !important;
  z-index: 1;
}
.strength .h2 .txt20 {
  position: relative;
  overflow: visible;
  margin-left: -340px;
  font-feature-settings: "palt";
  font-size: min(2rem, 2.08vw);
  padding: 10px 100px;
  background: url(../images/line_3color.svg) 0 50% no-repeat;
  text-indent: -0.5em;
}
.strength .h2 .txt20:before {
  transform: skewX(-45deg);
  display: block;
  content: "";
  width: calc(100% - 70px);
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
  background-color: #000;
  z-index: -1;
}
.strength .h2 .txt20:after {
  display: block;
  content: "";
  width: 92px;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  position: absolute;
  background: url(../images/line_3color.svg) 100% 50% no-repeat;
  z-index: 2;
}
.strength .txt30 {
  line-height: 1.3;
  font-size: min(3rem, 2.08vw);
}
.strength .txt36 {
  font-size: min(3.6rem, 2.5vw);
  line-height: 1.6;
}
.strength .txt24 {
  line-height: 1.6;
  font-size: min(2.4rem, 1.67vw);
}
.strength .strength3 {
  display: flex;
  flex-direction: column;
  gap: 90px;
  margin: 80px auto;
}
@media screen and (min-width: 769px) {
  .strength .strength3 li {
    gap: 36px;
  }
  .strength .strength3 li.rev {
    flex-direction: row-reverse;
  }
  .strength .strength3 li video,
.strength .strength3 li .img {
    width: min(534px, 48%);
  }
  .strength .strength3 li .txt_box {
    width: min(550px, 49.2%);
  }
}
.strength .strength3 li img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}
.strength .strength3 li .txt_box .txt36 {
  gap: 20px;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  font-feature-settings: "palt";
}
.strength .strength3 li .txt_box i {
  width: 104px;
  aspect-ratio: 1/1;
  background: #f8f119;
  display: grid;
  place-items: center;
  font-size: 2.3rem;
  padding-top: 8px;
  box-sizing: border-box;
  font-style: normal;
  position: relative;
  border-radius: 100%;
}
.strength .strength3 li .txt_box i:before {
  display: block;
  content: "";
  width: 30px;
  height: 13px;
  top: 20px;
  right: 0;
  left: 0;
  margin: auto;
  position: absolute;
  background: url(../images/dot3_blue.svg) 50% 50% no-repeat;
  background-size: 100% auto;
  z-index: 2;
}
.strength .strength3 li .txt_box i::after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  right: -3px;
  bottom: -3px;
  margin: auto;
  position: absolute;
  border-radius: 100%;
  background: #2974c5;
  z-index: -1;
}
.strength .strength3 li .txt_box .txt18 {
  font-size: 1.8rem;
  line-height: 1.77;
}
.strength .strength3 li .txt_box .txt18 em {
  color: #e52f7e;
}

.feature03 {
  width: min(92%, 1238px);
  padding-bottom: 0px;
  margin-inline: auto;
  text-align: center;
  gap: 4%;
  align-items: flex-start !important;
}
@media screen and (min-width: 769px) {
  .feature03 li {
    width: min(378px, 30%);
  }
}
.feature03 .txt30 {
  font-size: min(3rem, 2.08vw);
  background: url(../images/icon.svg) 50% bottom no-repeat;
  padding-bottom: 20px;
  white-space: nowrap;
}
.feature03 .txt16 {
  margin-top: 20px;
  line-height: 1.625;
  font-feature-settings: "palt";
}




@charset "utf-8";

@media screen and (max-width: 768px) {
	body {
		font-size:1.4em !important;
	}
	.img-auto{
		width:100%;
		height:auto;
	}
	.img-50{
		width:50%;
		height:auto;
	}
	.sp-none{display:none;}
	.ib{ display:inline-block;}
	.f-left-sp{text-align: left !important;}
	.f-center-sp{text-align: center !important;}
	
	/*font*/
	.fs-20{font-size: 1.5rem;}

	/*margin*/
	.mb20{margin:0 0 10px 0;}
	.mb40{margin:0 0 20px 0;}
	.mb60{margin:0 0 30px 0;}
	.mb80{margin:0 0 40px 0;}

	/*padding*/
	.ptb120{padding:60px 0;}

	/*====================================
	 default 
	====================================*/
	/*#wrap section*/
	#wrap{
		overflow-x: hidden;
	}
	.contents{
		width:90%;
		margin:0 5%;
	}
	.container{
		padding:60px 0;
	}
	.flex-bt, .flex-center{
		display: block;
	}
	/*====================================
	 HEADER
	====================================*/
	header{
		background: #fff;
	}
	.flex-bt-nav{
		padding: 0;
		width: calc(100% - 10px); /*50pxはバーガーメニュー部分*/
	}
	header h1{
		padding: 10px 15px;
		max-width: calc(70% - 30px);
		display: inline-block;
		margin: 0;
	}
	header h1 img{
		width: auto;
		height:26px;
		vertical-align: middle;
	}
	header .header-menu {
		width: calc(30% - 0px);
		gap: 5px;
		margin-right: 4rem;
	}
	header .header-menu li{
		text-indent: -9999px;
		padding: 0;
		border-radius: 50%;
		width:42px;
		height: 42px;
	}
	header .header-menu li:first-child a{
		background: url("../images/icon_mail.png") no-repeat center top 11px / 26px auto;
		padding: 11px 0 0 2rem;
	}
	header .header-menu li:last-child a{
		background:url("../images/icon_pc.png") no-repeat center top 13px / 24px auto;
		padding: 13px 0 0 2rem;
	}
	.navToggle {
		display: block;
		position: absolute;    /*fixed bodyに対しての絶対位置指定 */
		right:15px;
		top: 10px;
		width: 20px;
		height: 40px;
		cursor: pointer;
		z-index: 150;
		text-align: center;
	}
	.navToggle.active {
		background: rgba(255,255,255,0);
	}
	.navToggle span {
		display: block;
		position: absolute;    /* .navToggleに対して */
		width:20px;
		border-bottom: solid 2px #2074C5;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
		left: 50%;
		transform: translateX(-50%);
	}
	.navToggle span:nth-child(1) {
		top: 12px;
	}
	.navToggle span:nth-child(2) {
		top: 20px;
	}
	.navToggle span:nth-child(3) {
		top: 28px;
	}
	 
	/* 最初のspanをマイナス45度に */
	.navToggle.active span:nth-child(1) {
		top: 20px;
		left: 0;
		border-bottom: 2px solid #2074C5;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	 
	/* 2番目と3番目のspanを45度に */
	.navToggle.active span:nth-child(2){
		top: 20px;
		left: 0;
		border-bottom: 2px solid #2074C5;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.navToggle.active span:nth-child(3){
		display: none;
	}
	#nav{
		padding: 20px;
		margin: 0;
		width: 100%;
		display:none;
		position: absolute;
		top:60px; /*headerの高さと統一*/
		left: 0;
		z-index: 100;
		box-sizing: border-box;
		background:#2074C5;
		box-shadow: 0 15px 30px -5px rgb(0 0 0 / 50%);
	}
	#gnav ul{
		max-width: 100%;
		display:block;
	}
	#gnav ul li{
		width: 100%;
		border-left: none;
		border-bottom: 1px solid rgba(255,255,255,0.3);
		border-right: none;
	}
	#gnav ul li:first-child,
	#gnav ul li:nth-of-type(2),
	#gnav ul li:nth-of-type(3),
	#gnav ul li:nth-of-type(4){
		width: 100%;
	}
	#gnav ul li:first-child a,
	#gnav ul li a{
		padding: 1.25rem 0;
	}
	#gnav ul li:last-child{
		width: 100%;
		border-bottom: none;
	}
	#gnav a{
		position: relative;
		display: block;
		padding: 10px;
		font-size: 100%;
		text-align:left;
		font-weight: 700;
		color: #fff;
	}
	#gnav ul li a{
		color: #fff;
	}

	/*====================================
	 MAIN
	====================================*/
	.main img{
		width: 100%;
		height: auto;
	}
	.main{
		background: none;
	}
	.main .contents{
		padding: 4rem 0;
		width: 96%;
		margin: 0 2%;
		background: none;
	}
	.main p span{
		font-size: 1.6rem;
	}
	.main h2{
		margin-bottom: 2rem;
		font-size:3.6rem;
	}	
	.main h2 .main-small {
		margin: 1rem 0;
		font-size: 2.2rem;
		display: block;
	}
	.main h2 .fc-blue{
		font-size: 4.5rem;
	}
	.main ul{
		margin-top: 15px;
		gap: 10px;
		display: flex;
	}
	.main ul li{
		width: 42%;
	}
	.main figure{
		animation: fadeIn 2s ease 0s 1 normal;
	}

	/*====================================
	 contents
	====================================*/
	h2{
		font-size: 3.2rem;
		letter-spacing: 0.03em;
		line-height: 1.3;
	}
	h2 .en{
		font-size: 1.3rem;
		letter-spacing: 0.1em;
	}
	.btn01 {
		font-size: 1.6rem;
	}
	.btn01 a{
		padding: 2rem 4rem;
	}
	
	/*aboutus*/
	.aboutus{
		padding: 60px 0;
	}
	.aboutus::after{
		font-size: 6.6rem;
		bottom:unset;
		top: 0;
		letter-spacing: 0em;
	}
	.aboutus .contents::before{
		width: 30%;
		background: url("../images/aboutus_left.png") no-repeat left top;
		background-size: 100% auto;
		left: -10%;
		top: 10px;		
	}
	.aboutus .contents::after{
		width: 35%;
		background: url("../images/aboutus_right.png") no-repeat right bottom;
		background-size: 100% auto;
		right: -18%;
		top: unset;
		bottom: 90px;
	}
	.aboutus .contents::before,
	.aboutus .contents::after{
		opacity: 0.7;
	}
	.aboutus h2{
		font-size: 2.8rem;
		position: relative;
	}
	.aboutus h2 .fc-blue{
		font-size: 3.6rem;
	}
	.aboutus p{
		font-size: 1.7rem;
		position: relative;
	}
	
	/*product*/
	.product-list{
		margin-bottom: 50px;
		padding: 25px 10%;
		border-radius: 25px;
		display: block;
	}
	.product-list > div{
		width: 100%;
	}
	.product-list > div:nth-of-type(2){
		margin: 3rem 0;
	}
	.product-list figure img{
		width: 100%;
		height: auto;
	}
	.product-list p{
		margin-top: 1rem;
		font-size: 1.8rem;
	}
	.product-list p span{
		padding: 0 0 0 2rem;
		background-size: 12px auto;
	}
	.product-list .fs-16{
		font-size: 1.3rem;
	}

	.product .btn01{
		margin: 0 auto 2rem;
	}
	.product-wrap::before {
		box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
	}
	.product-left{
		padding: 2rem 0 2rem 2rem;
	}
	.product-left::before{
		border-radius: 25px 0 0 25px;
	}
	.product-right{
		padding: 2rem 2rem 2rem 0;
	}
	.product-right::before{
		border-radius:  0 25px 25px 0;
	}
	.product-img{
		width:100%;
	}
	.product-img-box p{
		padding: 0.25rem 1rem;
		top: 1rem;
		left: 1rem;
	}
	.product-txt{
		width: 100%;
	}
	.product h3{
		padding: 0 0 0 3rem;
		font-size: 2.4rem;
	}
	.product h3 .f-en{
		font-size:0.9rem;
	}
	#wrap .product h3::before{
		top: 13px;
	}
	.product h3::before,
	.leave-txt h3::before{
		width: 16px;
		height: 16px;
		background: url("../images/icon.png") no-repeat left 0;
		background-size: 16px auto;
	}
	.product h4{
		margin: 1rem 0;
		font-size: 1.7rem;
		line-height: 1.6;
	}
	.product-results{
		padding:1.5rem;
		border-radius: 10px;
	}
	.product-results p{
		font-size: 1.6rem;
	}
	.product-results dl{
		display: block;
	}
	.product-results dt{
		padding: 0 0 0 1.5rem;
		width: 100%;
	}
	.results2 dt{
		width:100%;
	}
	.product-results dt::before{
		width: 6px;
		height: 6px;
	}
	.product ul:not(.list01){
		display: block;
		margin: 0 0 4rem;
	}
	.product ul:not(.list01) li{
		margin: 0 0 1rem 0 ;
	}
	.product :not(.list01) li a::before{
		width: 13px;
		height: 13px;
	}
	.product :not(.list01) li a::after{
		width: 4px;
		height: 4px;
	}
	
.product .list01 li{
line-height: 1.7;
}

.product .list01 li:before {
display: block;
content: "";
top: 0.76em;
}

	/*trouble*/
	.trouble{
		padding: 6rem 0 3rem;
	}
	.trouble::before, .trouble::after{
		height: 40px;
	}
	.trouble h2 .fc-yellow{
		font-size: 4.2rem;
	}
	.trouble ul{
		display:block;
	}
	.trouble li{
		padding-bottom: 4rem;
		width:86%;
		font-size: 2rem;
		margin: 0 auto;
	}
	.trouble figure{
		width: 220px;
		height: 220px;
		margin: 0 auto 1rem;
	}
	.trouble li::after{
		width: 34px;
		height: 47px;
		bottom:4.5rem;
		background-size: 34px auto;
	}

	/*leave*/
	.leave h2.mb60{
		margin: 0;
	}
	.leave li{
		width: 100%;
	}
	.leave-txt{
		top: -35px;
		width: calc(85% - 2rem);
		padding: 0 2rem 0 0;
		border-radius: 0 25px 0 0;
	}
	.leave-txt h3{
		padding: 2rem 0 0rem 3rem;
		margin: 0 0 1.5rem;
		font-size: 2.4rem;
		line-height: 1.4;
	}
	
	/*results*/
	.results h2{
		text-align: center;
	}
	.results-txt{
		width: 100%;
	}
	.results-txt p{
		text-align: center;
	}
	.results ul{
		width: 90%;
		margin: 0 auto;
	}
	.results li{
		margin: 3rem 0 0;
		display: block;
	}
	.results li figure{
		width: 100%;
	}
	.results dl{
		width: 100%;
	}
	.results dt{
		padding: 0 0 1rem;
		margin:  1rem 0;
		font-size: 1.8rem;
	}
	
	/*message*/
	.message{
		margin: 0;
		padding: 220px 0 60px;
	}
	.message::before{
		height: 180px;
	}
	.message .flex-bt{
		display: flex;
		flex-direction: column;
	}
	.message h2{
		font-size: 3rem;
		text-align: center;
	}
	.message figure{
		width: 60%;
		margin: 20px auto 0 auto;
		order: 2;
	}
	.message figure div{
		font-size: 1.5rem;
	}
	.message h2{
		text-align: center;
	}
	.message-txt{
		width: 100%;
	}
	
	/*flow*/
	.flow li{
		margin: 0 0 35px;
		max-width: 100%;
		display: flex;
		justify-content: space-between;
	}
	.flow li::after{
		width: 30px;
		height: 15px;
		right:unset;
		left: 45px;
		bottom: -25px;
		top: unset;
		clip-path: polygon(100% 0, 0 0, 50% 100%);
	}
	.flow li figure{
		width: 120px;
		height: 120px;
		margin: 0 20px 0 0;
		box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
	}
	.flow li figure img{
		width: 80px;
	}
	.flow li dl{
		width: calc(100% - 140px);
		display: block;
	}
	.flow li dt{
		font-size: 1.8rem;
		text-align: left;
		line-height: 1.6;
	}
	.flow li dt span{
		padding: 0.25rem 1rem;
		font-size: 1.4rem;
	}
	
	/*====================================
	 FOOTER
	====================================*/
	footer{
		padding:10px 0;
		font-size: 1.2rem;
	}
	footer .contents{
		padding: 1.5rem 0;
		justify-content:center;
	}
	footer nav ul{
		margin-bottom: 2rem;
		justify-content:center;
	}
	footer nav ul li{
		margin: 0;
		width: 100%;
	}
	footer nav ul li::before{
		font-size: 0.8rem;
	}
	
	#scrollUp {
		bottom:0;
		right: 0;
	}
	#scrollUp img{
		width:60px;
	}
	/*cv*/
	.cv .contents{
		width: 80%;
		margin: 0 auto;
		padding:40px 10%;
		border-radius: 0;
	}
	.cv ul{
		display: block;
		gap: 0;
	}
	.cv li a{
		padding: 0 2rem;
		width: 100%;
	}
	header .header-menu li{
		box-shadow: none;
	}
	/*
	header .header-menu li:first-child,
	header .header-menu li:last-child{
		width: 42px;
	}
	*/
	header .header-menu li,
	.cv li{
		font-size: 1.8rem;
		max-width: 100%;
	}
	.cv li:first-child{
		margin: 0 0 15px;
	}
	.cv li:first-child a{
		background: url("../images/icon_mail.png") no-repeat left 1.5rem center / 22px auto;
	}
	.cv li:last-child a{
		background: url("../images/icon_pc.png") no-repeat left 1.5rem center / 22px auto;
	}


}

@media screen and (max-width: 768px) {
  .column_sp {
    display: flex !important;
    flex-direction: column !important;
    align-items: normal !important;
  }
  .flex-center.sp {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
  }
  .alc {
    align-items: center !important;
  }
  .txt16sp {
    font-size: min(1.6rem, 4.27vw) !important;
  }
  .txt24sp {
    line-height: 1.6 !important;
    font-size: min(2.4rem, 6.4vw) !important;
  }
  .txt14sp {
    line-height: 1.7 !important;
    font-size: min(1.4rem, 3.73vw) !important;
  }
  .main2026 .mv_bg {
    background: url("../images/mv_bg_sp.jpg") no-repeat 50% 50%;
    background-size: cover;
    margin-bottom: 50px;
    overflow: hidden;
  }
  .main2026 h2 {
    margin-block: 1em;
    line-height: 1.3;
  }
  .main2026 .h2_txt01 {
    gap: 4px;
  }
  .main2026 .h2_txt01 .txt45 {
    font-size: min(2.4rem, 6.4vw);
  }
  .main2026 .h2_txt01 .batsu {
    width: 38px;
    height: auto;
    padding-top: 4px;
  }
  .main2026 .txt70 {
    font-size: min(4.8rem, 12.4vw);
  }
  .main2026 .txt55 {
    font-size: min(3.8rem, 9.8vw);
  }
  .main2026 .font-min {
    font-size: min(6rem, 15.2vw);
  }
  .main2026 .mv_box01 {
    max-width: 500px;
    margin-inline: auto;
    background-color: #fff;
    border-radius: 20px 20px 0 0;
    padding: 25px 20px 17px;
  }
  .main2026 .mv_box01 .img_h4_wrap {
    gap: 6px;
    margin-top: 18px;
  }
  .main2026 .mv_box01 .img_h4 {
    gap: 16px;
    flex: 1;
    border-radius: 10px;
    padding-block: 10px;
  }
  .main2026 .mv_box01 .img_h4 .img {
    width: 27%;
  }
  .main2026 .mv_box01 .img_h4 .img img {
    max-width: 100%;
    height: auto;
  }
  .main2026 .mv_box01 .txt46 {
    font-size: min(2.2rem, 6vw);
    line-height: 1.6;
  }
  .main2026 .txt30 {
    line-height: 1.3;
    font-size: min(2.1rem, 5.5vw);
  }
  .main2026 .txt30 em {
    font-size: 150%;
  }
  .main2026 .txt20 {
    line-height: 1.3;
    font-size: min(1.2rem, 3.2vw);
  }
  .main2026 .point03 {
    max-width: 90%;
    gap: 30px;
  }
  .main2026 .point03 li {
    width: 100%;
  }
  .main2026 .point03 li img {
    width: min(100%, 500px);
  }
  .main2026 .point03 .txt36 {
    font-size: min(2.4rem, 6.4vw);
    padding-bottom: 28px;
  }
  .main2026 .point03 .txt20 {
    margin-block: 18px;
    line-height: 1.7;
    font-size: min(1.4rem, 3.73vw);
  }
  .cv .txt36 {
    font-size: min(1.8rem, 4.8vw);
    line-height: 1.1;
    margin-bottom: 30px;
  }
  .strength .stit_tsuyomi {
    width: min(100%, 500px);
    height: auto;
  }
  .strength .h2 {
    display: inline;
    margin: 0 auto 10px;
  }
  .strength .h2 .txt54 {
    margin-left: 20px;
    font-size: min(2rem, 5.2vw);
    padding: 10px 35px;
    white-space: nowrap;
  }
  .strength .h2 .txt54 .dot3:after {
    width: 16px;
    height: 16px;
    top: 6px;
    right: -8px;
  }
  .strength .h2 .txt20 {
    margin-bottom: -3px;
    margin-left: 0px;
    font-size: min(1.6rem, 4.2vw);
    padding: 7px 50px;
    background: url(../images/line_3color.svg) 0 50% no-repeat;
    background-size: auto 100%;
  }
  .strength .h2 .txt20:before {
    width: calc(100% - 50px);
  }
  .strength .h2 .txt20:after {
    width: 88px;
    height: 100%;
    background-size: auto 100%;
  }
  .strength .txt30 {
    line-height: 1.3;
    font-size: min(3rem, 2.08vw);
  }
  .strength .txt36 {
    font-size: min(3.6rem, 2.5vw);
    line-height: 1.6;
  }
  .strength .strength3 {
    display: flex;
    flex-direction: column;
    gap: 50px;
    margin: 50px auto 80px;
  }
  .strength .strength3 li {
    gap: 20px;
    display: flex;
    flex-direction: column-reverse;
  }
  .strength .strength3 li .img {
    text-align: center;
  }
  .strength .strength3 li img {
    width: min(100%, 500px);
  }
  .strength .strength3 li .txt_box .txt36 {
    gap: 13px;
    margin-bottom: 16px;
  }
  .strength .strength3 li .txt_box i {
    width: 72px;
    font-size: 1.5rem;
    padding-top: 8px;
  }
  .strength .strength3 li .txt_box i:before {
    width: 26px;
    height: 11px;
    top: 15px;
  }
  .strength .strength3 li .txt_box i::after {
    right: -2px;
    bottom: -2px;
  }
}
@media screen and (max-width: 768px) and (min-width: 500px) {
  .strength .strength3 li .txt_box {
    align-items: center !important;
  }
}
@media screen and (max-width: 768px) {
  .feature03 {
    gap: 30px;
  }
  .feature03 li img {
    width: min(100%, 500px);
  }
  .feature03 .txt30 {
    padding-bottom: 28px;
    margin-bottom: 20px;
  }
}