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


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


body {
	color: #353535;
	font-family: Roboto, Noto Sans JP, sans-serif;
    font-weight: 300;
	line-height: 1.5em;
	font-size: 18px;
}


h1 { font-size: 250%; line-height: 1.5em; }
h2 { font-size: 200%; line-height: 1.2em; }
h3 { font-size: 150%; line-height: 1.5em; }
h4 { font-size: 125%; }
h5 { font-size: 100%; }



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

	body {
		font-weight: 400;
		line-height: 1.5em;
		font-size: 16px;
	}

    h1 { font-size: 150%; }
    h2 { font-size: 150%; line-height: 1.5em; }
    h3 { font-size: 120%; }
    h4 { font-size: 120%; }
    h5 { font-size: 100%; }

}


a {
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	-o-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
}


p {
	margin: 30px 0;
}

a img {
	-webkit-transition: .2s ease-in-out;
	-moz-transition: .2s ease-in-out;
	-o-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}

a img:hover {
	opacity: .7;
	filter: alpha(opacity=70);
}

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

    p {
        margin: 5% 0;
    }

}




/*=========================================================================

HEADER

===========================================================================*/

header {
    background: #eeeeee url("../img/fv-bg.webp") 50% 50% no-repeat;
    background-size: contain;
}

.header_in {
    width: 900px;
    padding: 30px 0 180px;
    margin: 0 auto;
}

.header_in .fvtxt {
	width: 100%;
	margin: 0 auto;
}

.cvarea {
	padding: 0 0 50px;
}
	
.cvarea .fvpriv {
	width: 700px;
	margin: -170px 100px 50px;
}

.cvarea p {
    font-size: 100%;
	margin-top: 40px;
}


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

    .header_in {
        width: 100%;
    }

	.cvarea .fvpriv {
		width: 80%;
		margin: -170px 10% 50px;
	}

}


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

	header {
		background: none;
		margin-bottom: 7%;
	}

    .header_in {
        width: 100%;
        padding: 0;
    }

	.cvarea {
		padding: 0 0 5%;
	}

    .cvarea p {
		margin-top: 7%;
    }

}



/*=========================================================================

CONTENTS

===========================================================================*/

.wrap {
    width: 900px;
    margin: 0 auto;
}

.wrap-s {
    width: 700px;
    margin: 0 auto;
}

.wrap-in {
    margin: 0 10px 10px;
}

.round { border-radius: 40px; }

.round3 { border-radius: 30px; }

.round2 { border-radius: 20px; }

.round1 { border-radius: 10px; }

.ttl {
    margin: 0 0 5%;
    font-size: 220%;
	font-weight: 600;
    line-height: 1.5em;
    letter-spacing: 0.05em;
}

.subttl {
    margin: 0 0 3% !important;
    font-size: 180%;
	font-weight: 600;
    line-height: 1.5em;
    letter-spacing: 0.05em;
}


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

	.wrap {
        width: 100%;
        padding: 0;
    }
	
	.wrap-s {
		width: 90%;
		padding: 0;
		margin: 0 5%;
    }

}


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

	.wrap {
        width: 100%;
        padding: 0;
    }
	
	.wrap-s {
		width: 90%;
		padding: 0;
		margin: 0 5%;
    }

    .wrap-in {
        margin: 0 2% 2%;
    }

	.round { border-radius: 30px; }

	.round3 { border-radius: 20px; }

	.round2 { border-radius: 10px; }

	.round1 { border-radius: 5px; }

	.ttl {
		font-size: 180%;
		line-height: 1.5em;
	}

	.subttl {
		margin: 0 0 3% !important;
		font-size: 130% !important;
		line-height: 1.5em;
	}

}




/*=========================================================================

Catch

===========================================================================*/

.iconimg {
	width: 24%;
	margin-bottom: 20px;
}

.cklist {
    width: 600px;
    padding: 0;
    margin: 50px auto;
    border-top: solid 1px #eee;
}

.cklist li {
    list-style: none;
    background: url(../img/check.webp) 7% 50% no-repeat;
    background-size: 4%;
    padding: 4% 3% 4% 15%;
    text-align: left;
    font-size: 110%;
	font-weight: 800;
    border-bottom: solid 1px #eee;
}


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

	.iconimg {
		width: 40%;
		margin-bottom: 2%;
	}

    .cklist {
        width: 90%;
		margin: 7% 5%;
    }

    .cklist li {
        background: url(../img/check.webp) 3% 50% no-repeat;
        background-size: 4%;
        padding: 4% 3% 4% 10%;
        font-size: 100%;
    }

}




/*=========================================================================

Result

===========================================================================*/

.imgttl {
	width: 60%;
	margin: 0 20% 3%;
}

.fw {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.fw .hfbox {
	width: 48%;
	margin-top: 4%;
}

.fw .hfbox:nth-child(2n) {
	margin-left: 4%;
}


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

	.imgttl {
		width: 90%;
		margin: 0 5% 3%;
	}

	.profimg {
		width: 90%;
		margin: 0 5%;
	}

	.fw .hfbox {
		width: 90%;
		margin: 5% 5% 0;
	}

	.fw .hfbox:nth-child(2n) {
		margin-left: 5%;
	}

}



/*=========================================================================

Evidence

===========================================================================*/


.imgttl2 {
	width: 40%;
	margin: 0 30% 3%;
}

.fw .hfevbox {
	width: 45%;
	margin-left: 4%;
}

.fw .hfevbox:nth-child(2n) {
	margin-left: 2%;
	margin-right: 4%;
}


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

	.imgttl2 {
		width: 60%;
		margin: 0 20% 3%;
	}

	.evarea {
		width: 90%;
		margin: 0 5%;
	}

	.fw .hfevbox {
		width: 80%;
		margin: 0 10% 0;
	}

	.fw .hfevbox:nth-child(2n) {
		margin-left: 10%;
		margin-right: 10%;
	}

}




/*=========================================================================

USP

===========================================================================*/

.arw-dw {
	width: 3%;
	margin: -2% auto 4%;
}

.wrap-in h3 {
	margin-top: 3%;
}

.left p {
	margin-left: 140px;
	margin-right: 140px;
}

.wrap-in .lsimg {
	width: 600px;
	margin: 0 140px;
}


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

	.wrap-in .lsimg {
		width: 70%;
		margin: 2% 15%;
	}

}


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

	.arw-dw {
		width: 4%;
	}

	.wrap-in h3 {
		margin-bottom: 10%;
		font-size: 160%;
	}

	.left p {
		margin-left: 5%;
		margin-right: 5%;
	}

	.wrap-in .lsimg {
		width: 90%;
		margin: 2% 5%;
	}

}




/*=========================================================================

Caution

===========================================================================*/

.imgttl3 {
	width: 60%;
	margin: 0 20% 3%;
}

.fw .siki {
	width: 20%;
	margin: 3% 0 3% 2%;
}

.fw .siki:first-child {
	margin-left: 0;
}


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

	.imgttl3 {
		width: 90%;
		margin: 0 5% 3%;
	}

	.sp90 {
		width: 90%;
		padding: 4% 0;
		margin: 0 5%;
	}

	.fw .siki {
		width: 36%;
		margin: 2% 2%;
	}

	.fw .siki:first-child {
		margin-left: 2%;
	}

	.fw .siki:nth-child(2n) {
		margin-left: 2%;
	}

}




/*=========================================================================

Present

===========================================================================*/

.priv {
	width: 90%;
	margin: 7% 5%;
}




/*=========================================================================

Company

===========================================================================*/

.imgttl5 {
	width: 60%;
	margin: 0 20% 3%;
}

.imgbox {
	width: 600px;
	margin: 0 140px;
}

.fw .paraimg {
	width: 48%;
	margin-right: 4%;
	margin-bottom: 4%;
}

.fw .paraimg:nth-child(2n) {
	margin-right: 0;
}

.imgL {
	width: 90%;
	margin: 0 5%;
}


.mdalogo {
	width: 23.5%;
	margin-right: 2%;
}

.mdalogo:nth-child(1),
.mdalogo:nth-child(2),
.mdalogo:nth-child(3),
.mdalogo:nth-child(4) {
	margin-bottom: 2%;
}

.mdalogo:nth-child(4n) {
	margin-right: 0;
}


.fw .hfbox2 {
	width: 48%;
}

.fw .hfbox2:nth-child(2n) {
	margin-left: 4%;
}

.fw .hfbox2 p {
	margin: 0;
	text-align: left;
}



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

	.imgbox {
		width: 70%;
		margin: 0 15%;
	}

}


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

	.imgttl5 {
		width: 80%;
		margin: 0 10% 5%;
	}

	.imgbox {
		width: 90%;
		margin: 0 5%;
	}

	.mdalogo {
		width: 31%;
		margin-right: 2%;
		margin-bottom: 2%;
	}

	.mdalogo:nth-child(1),
	.mdalogo:nth-child(2),
	.mdalogo:nth-child(3),
	.mdalogo:nth-child(4) {
		margin-bottom: 2%;
	}

	.mdalogo:nth-child(7),
	.mdalogo:nth-child(8) {
		margin-bottom: 0;
	}

	.mdalogo:nth-child(4n) {
		margin-right: 2%;
	}

	.mdalogo:nth-child(3n) {
		margin-right: 0;
	}

	.fw .hfbox2 {
		width: 90%;
	}

	.fw .hfbox2:nth-child(2n) {
		margin-left: 0;
		margin-top: 5%;
	}

	.fw .hfbox2 p {
		margin: 0;
		text-align: left;
	}

}




/*=========================================================================

Infomation

===========================================================================*/

.logo {
	width: 30%;
	margin-bottom: 30px;
}

.infottl {
	margin: 15px 0 30px !important;
	font-size: 130%;
	font-weight: normal;
}

.infobox {
	padding: 10px 0;
	margin: 0 20px 15px;
}

.infobox p {
	margin: 10px 0;
}

.infobox p.emp {
	font-size: 200%;
	letter-spacing: 0.05em;
}

.ptb-20 {
	padding-top: 20px;
	padding-bottom: 20px;
}


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

	.logo {
		width: 50%;
		margin-bottom: 7%;
	}

	.infottl {
		margin: 1% 0 5% !important;
		font-size: 130% !important;
	}

	.infobox {
		padding: 3% 0;
		margin: 0 3% 3%;
	}

	.infobox p {
		margin: 3% 0;
	}

	.infobox p.emp {
		font-size: 200%;
	}

	.ptb-20 {
		padding-top: 5%;
		padding-bottom: 5%;
	}

}




/*=========================================================================

Form Area

===========================================================================*/



input[type="text"] {
    background: #fff;
    padding: 1em;
    width: 70%;
    box-sizing: border-box;
    color: #000;
    margin: 5px 15% 10px;
    text-align: center;
    font-size: 20px;
	border: none;
    border-radius: 4px;
}

input[type="submit"] {
    width: 500px;
    padding: 0.75em 0;
    background: #45b023 url("../img/arw.webp") 93% 50% no-repeat;
	background-size: 4%;
    border-radius: 100px;
	font-size: 120%;
    font-weight: 400;
	line-height: 1.2em;
    text-decoration: none;
    color: #ffffff;
	text-shadow: 0px 1px 0px #2e8a10;
    text-align: center;
	letter-spacing: 0.05em;
    border: none;
	box-shadow: 0 4px 0 #2e8a10;
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	-o-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
}

input[type="submit"]:hover {
	background-position: 94% 50%;
    filter: brightness(1.2);
	box-shadow: 0 0 0 #2e8a10;
	transform: translate3d(0, 4px, 0);
}

.shinebtn {
	position: relative;
	display: block;
	overflow: hidden;
    width: 500px;
	padding-bottom: 4px;
	margin: 3% 200px 0;
	border-radius: 100px;
	cursor: pointer;
}

.shinebtn::before {
	animation: 2s 0s shine linear infinite;
	background: linear-gradient(to right, rgba(255,255,255,0) 25%, rgba(255,255,255,.6) 50%, rgba(255, 255, 255, 0) 75%);
	content: '';
	width: 100%;
	height: 100%;
	left: -100%;
	position: absolute;
	top: 0;
	transform: skewX(-15deg);
}

.shinebtn:hover::before {
	animation: none;
	transform: none;
}


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

    input[type="text"] {
		width: 80%;
		padding: 1.5em 1em;
	    margin: 0 10% 4%;
    }

    input[type="submit"] {
        width: 100%;
		padding: 1.0em 0;
    }

	.shinebtn {
		width: 70%;
		margin: 0 17%;
	}

}


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

    input[type="text"] {
		width: 90%;
		padding: 1.5em 1em;
	    margin: 0 5% 7%;
        font-size: 16px;
    }

    input[type="submit"] {
        width: 100%;
		padding: 1.0em 0;
        font-size: 20px;
    }

	.shinebtn {
		width: 90%;
		margin: 0 5%;
	}

}




/*=========================================================================

Button

===========================================================================*/

	
.cvbtn {
    position: relative;
    display: block;
	overflow: hidden;
    width: 500px;
    background: #45b023 url("../img/arw.webp") 93% 50% no-repeat;
	background-size: 4%;
    /*background: linear-gradient(to right, #025ebf, #4ec0ca);*/
    padding: 1.2em 0;
    margin: 0 auto;
    color: #ffffff;
    font-size: 120%;
    font-weight: 400;
    text-align: center;
    text-decoration: none;
	text-shadow: 0px 1px 0px #2e8a10;
    letter-spacing: 0.1em;
    border-radius: 100px;
	box-shadow: 0 4px 0 #2e8a10;
}

.cvbtn::after {
	animation: 2s 0s shine linear infinite;
	background: linear-gradient(to right, rgba(255,255,255,0) 25%, rgba(255,255,255,.6) 50%, rgba(255, 255, 255, 0) 75%);
	content: '';
	width: 100%;
	height: 100%;
	left: -100%;
	position: absolute;
	top: 0;
	transform: skewX(-15deg);
}

@keyframes shine {
	20% {
		left: 100%;
	}
	100% {
		left: 100%;
	}
}

.cvbtn:hover {
	background-position: 94% 50%;
    filter: brightness(1.2);
	box-shadow: 0 0 0 #2e8a10;
	transform: translate3d(0, 4px, 0);
}

.conbtn {
    position: relative;
    display: block;
    width: 500px;
    background: #18244a url("../img/arw.webp") 93% 50% no-repeat;
	background-size: 4%;
    padding: 1.2em 0;
    margin: 0 auto;
    color: #ffffff;
    font-size: 100%;
    font-weight: 400;
    text-align: center;
    text-decoration: none;
    letter-spacing: 0.1em;
    border-radius: 100px;
}

.conbtn:hover {
	background-position: 94% 50%;
    filter: brightness(1.2);
}


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

    .cvbtn {
        width: 90%;
        margin: 0 5%;
        font-size: 18px;
    }

    .conbtn {
        width: 90%;
        margin: 0 5%;
        font-size: 18px;
    }

}


/*=========================================================================

Footer

===========================================================================*/

footer {
    width: 100%;
    padding: 50px 0;
    font-size: 80%;
    color: #ffffff;
    background: #353535;
}

.footer_in {
	max-width: 1000px;
	margin: 0 auto;
}

footer a {
	color: #fff;
}

footer a:hover {
    text-decoration: underline;
}

address {
	margin-top: 2%;
}

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

    footer {
        padding: 10% 0;
		font-size: 70%;
    }


}




/*=========================================================================

Common

===========================================================================*/


.bg-black { background: #333; color: #fff; }

.bg-blue { background: #f1f5f8; }

.bg-gray { background: #f7f7f7; }

.bg-white { background: #ffffff; color: #353535; }

.bg-yellow { background: #fffdcc; }

.bg-yellow2 { background: #fff611; padding: 2px 5px; }

.bg-red { background: #cd1723; }

.mkr {
    display: inline;
    padding: 0 0px 2px 0px;
	background:linear-gradient(transparent 60%, #fff611 60%);
}

.underline {
	border-bottom: solid 1px #444;
}

.red {
	color: #cd1723;
}

.center {
    text-align: center;
}

.left {
	text-align: left;
}

.bold {
	font-weight: 800;
}


.fsS {
	font-size: 80%; 
	line-height: 1.5em;
}

.fsM {
	font-size: 130%; 
	line-height: 1.8em;
}


.ptb {
    padding-top: 8%;
    padding-bottom: 8%;
}

.ptb-hf {
    padding-top: 5%;
    padding-bottom: 5%;
}

.pt {
    padding-top: 10%;
}

.pt-hf {
    padding-top: 5%;
	padding-bottom: 1px;
}

.pb {
    padding-bottom: 10%;
}

.pt0 {
    padding-top: 0 !important;
}

.pb0 {
    padding-bottom: 0 !important;
}

.mt {
	margin-top: 5%;
}

.mt0 {
    margin-top: 0 !important;
}

.mb0 {
    margin-bottom: 0 !important;
}

.m0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.mb {
	margin-bottom: 70px;
}

.mb2 {
	margin-bottom: 40px;
}

.pc { display: inherit; }
.sp { display: none; }


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


	.fsM {
		font-size: 120%; 
		line-height: 1.8em;
	}

	.ptb {
		padding-top: 10%;
		padding-bottom: 10%;
	}

    .ptb-hf {
        padding-top: 10%;
        padding-bottom: 10%;
    }

	.pt-hf {
		padding-top: 10%;
	}

	.mt {
		margin-top: 7%;
	}
	
	.mt-sp {
		padding-top: 10%;
	}

	.pb-sp {
		padding-bottom: 10%;
	}

	.mt0-sp {
		margin-top: 0 !important;
	}

	.mb0-sp {
		margin-bottom: 0 !important;
	}

	.mb {
		margin-bottom: 10%;
	}

	.mb2 {
		margin-bottom: 5%;
	}

	.pc { display: none; }
	.sp { display: inherit; }

	
}

/*=========================================================================

2606TSC用フォーム

===========================================================================*/

/* メール入力欄 */
#Usermail {
  width: 100%;
  height: 64px;
  padding: 0 24px;
  border: none;
  border-radius: 8px;
  box-sizing: border-box;

  font-size: 16px;
  line-height: 1.6;

  background: #fff;
  margin: 1rem 0;
}

/* placeholder */
#Usermail::placeholder {
  color: #999;
}

/* フォーカス時 */
#Usermail:focus {
  outline: none;
}