@charset "UTF-8";


/***************************************************

	共通コンテンツ部

***************************************************/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap');

:root {

}


html, body{margin:0; padding:0}

body{
	min-height: 100vh;
	height: 100%;
	font-family: 'Noto Sans JP', sans-serif;
	position: relative;
	font-size: 16px;
}

img{
	max-width: 100%;
	height: auto;
}

.pc-on{display: block;}
.sp-on{display: none;}


/********** index **********/

.main_block{
	display: none;
}

header{
	position: absolute;
	top: 60px;
	left: 0;
	right: 0;
	z-index: 2;
}

header .header_wrapp{
	width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
}

header .header_wrapp .stamp{
	width: 55px;
	padding: 1px;
	background: #010101;
	border-radius: 4px;
	box-sizing: border-box;
}

header .header_wrapp .stamp.contact{
	background: #fff;
}

#opv-wrap {
	/*display: none;*/
}

video#opv {
	position: fixed;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100vw;
	height: 100vh;
	vertical-align: bottom;
}

main {

}

#kv{
	height: 100vh;
	position: relative;
	background: url('../images/kv01.jpg') no-repeat bottom 0 left 50%;
	background-size: cover;
}

#kv .kv_catch{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#kv .kv_catch .left_catch{
	width: 515px;
    position: absolute;
	top: 27%;
    left: -220px;
    opacity: 0;
    transition: all 1.2s linear;
}

#kv .kv_catch .left_catch.view{
    left: -70px;
    opacity: 1;
}


#kv .kv_catch .right_catch{
	width: 499px;
	position: relative;
	right: -220px;
    opacity: 0;
    transition: all 1.0s linear;
}

#kv .kv_catch .right_catch.view{
	right: 0;
	opacity: 1;
}


.cont_box{
	width: 750px;
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.71;
}

.cont_box h2{
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
	padding: 0 0 10px 1.2em;
	margin-bottom: 23px;
	border-bottom: 2px solid #231815;
	position: relative;
}

.cont_box h2::before{
	content: '◆';
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
}


#intro{
	width: 755px;
	margin: 0 auto 100px;
	padding-top: 60px;
}


.illust_image_box{
	width: 1000px;
	height: 1137px;
	margin: 0 auto 95px;
	position: relative;
	transition: all 0.5s linear;
}

.illust_image_box .illust{
	position: absolute;
	opacity: 0;
	transition: all 0.8s linear;
}

.illust_image_box .illust.view{
	opacity: 1;
}

.illust_image_box .illust.image01{
	top: 0;
	left: 0;
}

.illust_image_box .illust.image02{
	width: 472px;
	bottom: 0;
	right: 50px;
}

.illust_image_box .illust.image03{
	width: 491px;
	bottom: 0;
	left: 50px;
}

.illust_image_box .illust.image04{
	width: 328px;
	top: 440px;
	right: -10px;
}

.illust_image_box .line{
	width: 500px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.illust_image_box .line img{
    transform: scale(0.3, 0.3);
	transition: all 0.5s linear;
}

.illust_image_box .line.view img{
    transform: scale(1, 1)
}

.illust_image_box .catch_copy{
	width: 312px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.illust_image_box .don{
	width: 479px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.illust_image_box .don img{
    transform: scale(1.6, 1.6);
	transition: all 0.3s linear;
}

.illust_image_box .don.view img{
    transform: scale(1, 1)
}

.illust_image_box .stamp{
	width: 68px;
	bottom: -29px;
	left: 23px;
    transform: scale(1.6, 1.6);
	transition: all 0.4s linear;
}

.illust_image_box .stamp.view{
    transform: scale(1.0, 1.0)
}


#information{
	margin-bottom: 80px;
}

#information dl{
	counter-reset: dl_num 0;
}

#information dl dt{
	position: relative;
	padding-left: 1.3em;
	font-size: 16px;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 5px;
}

#information dl dt::before{
	counter-increment: dl_num 1;
	content: counter(dl_num) ',';
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
}

#information dl dd{
	padding-left: 1.5em;
	font-size: 16px;
	line-height: 1.4;
	margin-bottom: 25px;
}

#information dl dd:last-child{
	margin-bottom: 0;
}

#information dl dd ul.num{
	counter-reset: ul_num 0;
}

#information dl dd ul.num li{
	position: relative;
	padding-left: 1.8em;
	font-size: 16px;
}

#information dl dd ul.num li::before{
	counter-increment: ul_num 1;
	content: '(' counter(ul_num) ')';
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
}


#contact{
	margin-bottom: 65px;
}

#contact .contact_wrapp{
	width: 720px;
	margin: 0 auto;
}

#contact .contact_wrapp p{
	margin-bottom: 25px;
}

#contact .contact_wrapp .note{
	background: #ff0000;
	line-height: 1.21;
	color: #fff;
	padding: 6px 6px 6px 24px;
	position: relative;
}

#contact .contact_wrapp .note::before{
	content: '※';
	display: inline-block;
	position: absolute;
	top: 6px;
	left: 6px;
}

#contact .contact_wrapp .contact_link a{
	display: block;
	background: #CCDDF1;
	padding: 22px;
	font-weight: bold;
	color: #0055b9;
	line-height: 1;
	text-decoration: none;
	transition: all 0.2s linear;
}

#contact .contact_wrapp .contact_link a:hover{
	opacity: 0.8;
}

footer{
	background: #c8ebff;
    line-height: 1;
    padding: 25px 0;
}

footer .footer_wrapp{
	width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-wrap: nowrap;
    align-content: center;
    justify-content: space-around;
    align-items: center;
}

footer .footer_wrapp .logo{
	width: 160px;
}

footer .footer_wrapp .copyright{
	font-size: 10px;
	color: #717071;
}



/********** contact **********/

.contact_head{
	width: 750px;
	margin: 0 auto 34px;
	padding-top: 50px;
}

#contact{
	margin-bottom: 70px;
}

#contact .caption{
	margin-bottom: 18px;
}

#contact .note_box01{
	margin-bottom: 50px;
	border: 1px solid #000;
	box-sizing: border-box;
}

#contact .note_box01 ul{
	padding: 8px;
}

#contact .note_box01 ul li{
	padding-left: 1.2em;
	position: relative;
}

#contact .note_box01 ul li::before{
	content: '※';
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
}

#contact .note_box01 ul.bottom{
	background: #d70000;
	color: #fff;
}

.form_ul{
	margin-bottom: 14px;
	padding-bottom: 40px;
	border-bottom: 1px solid #000;
}

.form_ul li{
	margin-bottom: 24px;
}

.form_ul li:last-child{
	margin-bottom: 0;
}

.form_ul li .name{
	font-weight: bold;
	border-bottom: 1px solid #000;
	margin-bottom: 10px;
}

.form_ul li .name .required{
	display: inline-block;
	line-height: 1;
	background: #ff0000;
	font-size: 0.7em;
	color: #fff;
	padding: 3px;
	margin-right: 6px;
}

.form_ul li .name small{
	font-size: 0.7em;
	color: #e60012;
	margin-left: 6px;
}

.form_ul li .input{

}

.form_ul li .input select,
.form_ul li .input input[type="email"],
.form_ul li .input input[type="text"]{
	font-size: 16px;
	padding: 6px;
	border: 1px solid #acadae;
	border-radius: 4px;
	box-sizing: border-box;
}

.form_ul li .input select:focus,
.form_ul li .input input[type="email"]:focus,
.form_ul li .input input[type="text"]:focus{
	background: #eaeaea;
}

.form_ul li.li08 .input input{
	width: 60px;
}
.form_ul li.li03 .input input,
.form_ul li.li05 .input input,
.form_ul li.li11 .input input{
	width: 520px;
}

.form_ul li.li12 textarea {
	field-sizing: content;
	min-width: 100%;
	min-height: 4.5em;
}

.form_ul li label{
	display: inline-block;
	font-size: 16px;
	margin-right: 1em;
}

.form_ul li .input small{
	font-size: 0.9em;
	margin-left: 6px;
}

.form_ul li .input .note{
	font-size: 0.7em;
}

.submit_area{
	display: flex;
	flex-direction: row;
    flex-wrap: nowrap;
        justify-content: space-between;
    align-items: flex-start;
}

.submit_area .submit_btn{
	width: 150px;
	height: 60px;
	position: relative;
}

.submit_area .submit_btn::before{
	content: '';
	display: inline-block;
	width: 25px;
	height: 16px;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2040.4%2040.8%22%20style%3D%22enable-background%3Anew%200%200%2040.4%2040.8%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%2351535B%3B%7D%3C%2Fstyle%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M21.2%2C37.2c-0.8%2C0-1.6-0.3-2.2-0.9c-1.2-1.2-1.2-3.2%2C0-4.4l12.6-12.6L19%2C6.8c-1.2-1.2-1.2-3.2%2C0-4.4%20c1.2-1.2%2C3.2-1.2%2C4.4%2C0l17%2C17l-17%2C17C22.8%2C36.9%2C22%2C37.2%2C21.2%2C37.2z%22%2F%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M3.6%2C40.8c-0.9%2C0-1.8-0.3-2.5-1c-1.4-1.4-1.4-3.6%2C0-5l14.3-14.3L1%2C6.1c-1.4-1.4-1.4-3.6%2C0-5%20c1.4-1.4%2C3.6-1.4%2C5%2C0l19.4%2C19.4L6.1%2C39.8C5.4%2C40.5%2C4.5%2C40.8%2C3.6%2C40.8z%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 30px;
	transform: translate(0, -50%);
	z-index: 2;
}


.submit_area .submit_btn input{
	width: 100%;
	height: 60px;
	line-height: 60px;
	background: #c5c5c8;
	font-size: 20px;
	color: #000;
	font-weight: bold;
	border: none;
	padding-left: 1.2em;
	box-shadow: 2px 2px 0px 1px #777777;
	position: relative;
	cursor: pointer;
	transition: all 0.2s linear;
}

.submit_area .submit_btn input:hover{
	opacity: 0.8;
}

.submit_area .note_box02{
	font-size: 0.7em;
}

.submit_area .note_box02 p{
	font-weight: bold;
}

.submit_area .note_box02 ul{
	counter-reset: submit_note 0;
}

.submit_area .note_box02 ul li{
	padding-left: 1.8em;
	position: relative;
	font-weight: bold;
}

.submit_area .note_box02 ul li::before{
	counter-increment: submit_note 1;
	content: '(' counter(submit_note) ')';
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
}

.submit_area .stamp{
	width: 94px;
}


/********************************************************************************
	リキッド用 CSS
********************************************************************************/

@media(max-width:1000px){

body{
	font-size: 1.6vw;
}

header{
	top: 6vw;
}

header .header_wrapp{
	width: 100vw;
}

header .header_wrapp .stamp{
	width: 5.5vw;
	border-radius: 0.4vw;
}


/********** index **********/

#kv .kv_catch .left_catch{
	width: 51.5vw;
    left: -22vw;
}

#kv .kv_catch .left_catch.view{
    left: -7vw;
}


#kv .kv_catch .right_catch{
	width: 49.9vw;
	right: -22vw;
}

.cont_box{
	width: 75vw;
	font-size: 1.6vw;
}

.cont_box h2{
	font-size: 1.8vw;
	padding: 0 0 1vw 1.2em;
	margin-bottom: 2.3vw;
	border-bottom: 0.2vw solid #231815;
}

#intro{
	width: 75.5vw;
	margin: 0 auto 10vw;
	padding-top: 6vw;
}


.illust_image_box{
	width: 100vw;
	height: 113.7vw;
	margin: 0 auto 9.5vw;
}

.illust_image_box .illust.image02{
	width: 47.2vw;
	right: 5vw;
}

.illust_image_box .illust.image03{
	width: 49.1vw;
	left: 5vw;
}

.illust_image_box .illust.image04{
	width: 32.8vw;
	top: 44vw;
	right: -1vw;
}

.illust_image_box .line {
    width: 50vw;
}

.illust_image_box .catch_copy {
    width: 31.2vw;
}

.illust_image_box .don {
    width: 47.9vw;
}

.illust_image_box .stamp{
	width: 6.8vw;
	bottom: -2.9vw;
	left: 2.3vw;
}

#information{
	margin-bottom: 8vw;
}

#information dl dt{
	font-size: 1.6vw;
	margin-bottom: 0.5vw;
}

#information dl dd{
	font-size: 1.6vw;
	margin-bottom: 2.5vw;
}

#information dl dd ul.num li{
	font-size: 1.6vw;
}


#contact{
	margin-bottom: 6.5vw;
}

#contact .contact_wrapp{
	width: 72vw;
}

#contact .contact_wrapp p{
	margin-bottom: 2.5vw;
}

#contact .contact_wrapp .note{
	padding: 0.6vw 0.6vw 0.6vw 2.4vw;
}

#contact .contact_wrapp .note::before{
	top: 0.6vw;
	left: 0.6vw;
}

#contact .contact_wrapp .contact_link a{
	padding: 2.2vw;
}

footer{
    padding: 2.5vw 0;
}

footer .footer_wrapp{
	width: 100vw;
}

footer .footer_wrapp .logo{
	width: 16vw;
}

footer .footer_wrapp .copyright{
	font-size: 1vw;
}



/********** contact **********/

.contact_head{
	width: 75vw;
	margin: 0 auto 3.4vw;
	padding-top: 5vw;
}

#contact{
	margin-bottom: 7vw;
}

#contact .caption{
	margin-bottom: 1.8vw;
}

#contact .note_box01{
	margin-bottom: 5vw;
}

#contact .note_box01 ul{
	padding: 0.8vw;
}

.form_ul{
	margin-bottom: 1.4vw;
	padding-bottom: 4vw;
}

.form_ul li{
	margin-bottom: 2.4vw;
}

.form_ul li .name{
	margin-bottom: 1vw;
}

.form_ul li .name .required{
	padding: 0.3vw;
	margin-right: 0.6vw;
}

.form_ul li .name small{
	margin-left: 0.6vw;
}

.form_ul li .input select,
.form_ul li .input input[type="email"],
.form_ul li .input input[type="text"]{
	font-size: 1.6vw;
	padding: 0.6vw;
	border-radius: 0.4vw;
}

.form_ul li.li03 .input input,
.form_ul li.li05 .input input{
	width: 52vw;
}

.form_ul li label{
	font-size: 1.6vw;
}

.form_ul li .input small{
	margin-left: 0.6vw;
}

.submit_area .submit_btn{
	width: 15vw;
	height: 6vw;
}

.submit_area .submit_btn::before{
	width: 2.5vw;
	height: 1.6vw;
	left: 3vw;
}


.submit_area .submit_btn input{
	height: 6vw;
	line-height: 6vw;
	font-size: 2vw;
	box-shadow: 0.2vw 0.2vw 0px 1px #777777;
}

.submit_area .stamp{
	width: 9.4vw;
}


}


@media(max-width:414px){



body{
	font-size: 3.733333vw;
}

.pc-on{display: none;}
.sp-on{display: block;}


/********** index **********/


header{
	top: 3.733333vw;
	left: 6%;
}

header .header_wrapp{
	width: auto;
}

header .header_wrapp .stamp{
	width: 8vw;
	border-radius: 4px;
}


#kv .kv_catch .left_catch{
	width: 61.066667vw;
    left: -29.333333vw;
}

#kv .kv_catch .left_catch.view{
    left: -9.866667vw;
}


#kv .kv_catch .right_catch{
	width: 56.266667vw;
	right: -29.333333vw;
}


.cont_box{
	width: auto;
	margin: 0 6%;
	font-size: 3.733333vw;
	line-height: 1.8;
}

.cont_box h2{
	font-size: 4.266667vw;
	padding: 0 0 2.133333vw 1.2em;
	margin-bottom: 4.266667vw;
}


#intro{
	width: auto;
	margin: 0 6% 10.666667vw;
	padding-top: 8vw;
}


.illust_image_box{
	width: auto;
	height: 103.466667vw;
	margin: 0 4% 10.666667vw;
}

.illust_image_box .illust.image02 {
    width: 43.466667vw;
    right: 4.533333vw;
}

.illust_image_box .illust.image03 {
    width: 42.400000vw;
    left: 4.533333vw;
}

.illust_image_box .catch_copy{
	width: 32vw;
}

.illust_image_box .stamp{
	width: 10.133333vw;
    bottom: -5.066667vw;
    left: 0.533333vw;
}


#information{
	margin-bottom: 10.666667vw;
}

#information dl dt{
	font-size: 4.266667vw;
	margin-bottom: 2.133333vw;
}

#information dl dd{
	font-size: 3.733333vw;
	line-height: 1.6;
	margin-bottom: 5.333333vw;
}

#information dl dd ul.num li{
	font-size: 3.733333vw;
}


#contact{
	margin-bottom: 10.666667vw;
}

#contact .contact_wrapp{
	width: auto;
	margin: 0 auto;
}

#contact .contact_wrapp p{
	margin-bottom: 4.8vw;
	line-height: 1.4;
}

#contact .contact_wrapp .note{
	line-height: 1.4;
	padding: 1.6vw 1.6vw 1.6vw 6.4vw;
}

#contact .contact_wrapp .note::before{
	top: 1.6vw;
	left: 1.6vw;
}

#contact .contact_wrapp .contact_link a{
	padding: 5.866667vw;
}

footer{
    padding: 3.733333vw 0;
}

footer .footer_wrapp{
	width: auto;
	margin: 0 auto;
	display: block;
}

footer .footer_wrapp .logo{
	width: 40%;
	margin: 0 auto 3.2vw;
}

footer .footer_wrapp .copyright{
	font-size: 2.133333vw;
	text-align: center;
}



/********** contact **********/

.contact_head{
	width: auto;
	margin: 0 6% 7.2vw;
	padding-top: 10.666667vw;
}

#contact{
	margin: 0 6% 10.666667vw;
}

#contact .caption{
	margin-bottom: 4.266667vw;
}

#contact .note_box01{
	margin-bottom: 8vw;
}

#contact .note_box01 ul{
	padding: 1.6vw;
	line-height: 1.4;
}

.form_ul{
	margin-bottom: 3.733333vw;
	padding-bottom: 5.333333vw;
}

.form_ul li{
	margin-bottom: 4.8vw;
}

.form_ul li .name{
	margin-bottom: 3.2vw;
}

.form_ul li .name .required{
	padding: 0.8vw;
	margin-right: 1.066667vw;
}

.form_ul li .name small{
	margin-left: 1.066667vw;
}


.form_ul li .input select,
.form_ul li .input input[type="email"],
.form_ul li .input input[type="text"]{
	font-size: 4.266667vw;
	padding: 1.066667vw;
	border-radius: 1.066667vw;
}

.form_ul li.li03 .input input,
.form_ul li.li05 .input input{
	width: 100%;
}

.form_ul li label{
	font-size: 4.266667vw;
}

.form_ul li .input small{
	margin-left: 1.066667vw;
}

.submit_area{
    flex-direction: column-reverse;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

.submit_area .submit_btn{
	width: 70%;
	height: 10.666667vw;
}

.submit_area .submit_btn::before{
	width: 3.733333vw;
	height: 3.733333vw;
	left: 8vw;
}

.submit_area .submit_btn input{
	height: 10.666667vw;
	line-height: 10.666667vw;
	font-size: 4.8vw;
	box-shadow: 0.533333vw 0.533333vw 0px 1px #777777;
}

.submit_area .note_box02{
	font-size: 3.466667vw;
	margin-bottom: 6.4vw;
}

.submit_area .stamp{
	width: 16%;
	margin: 3.733333vw auto 5.333333vw;
}












}

