@charset "utf-8";
/*-------------------------------
Reset
-------------------------------*/
html { box-sizing: border-box; }
* { box-sizing: inherit; }
*:before, *:after { box-sizing: inherit; }
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, var, b, i,
dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, sub { margin:0; padding:0; border:0; outline:0; vertical-align:baseline; }
article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section { display:block; }
ol, ul{ list-style: none; }
blockquote, q {	quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }
a {	margin:0;	padding:0; font-size:100%; vertical-align:baseline; }
del {	text-decoration: line-through; }
/*IEではデフォルトで点線を下線表示する設定ではないので、下線がつくようにしています
また、マウスオーバー時にヘルプカーソルの表示が出るようにしています*/
abbr[title], dfn[title] {	border-bottom:1px dotted;	cursor:help; }
table {	border-collapse:collapse;	border-spacing:0;	font-size: 100%; }
hr { display:block;	height:1px;	border:0;	border-top:1px solid #aaaaaa;	margin:1em 0;	padding:0; }
/*縦方向の揃え位置を中央揃えに指定しています*/
input, select { vertical-align: 0; }
input, textarea { margin: 0; font-size: 100%;}
img {max-width: 100%; height:auto;	vertical-align:bottom; font-size:0;line-height: 0;	border: 0;}
object, embed, video { max-width: 100%; }
address, caption, cite, code, dfn, em, th, var{	font-style: normal;	font-weight: normal; }
h1, h2, h3, h4, h5, h6{ font-size: 100%;}

/*-------------------------------
Font
-------------------------------*/
html { font-size: 16px; font-family: "Helvetica Neue", Arial, "Noto Sans JP",  "Hiragino Sans", Meiryo, sans-serif; font-weight: 400; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%;text-size-adjust: 100%; -webkit-font-smoothing: antialiased; word-break: normal; word-wrap: break-word; overflow-wrap : break-word; }
body {font-size: 1rem;color: #333;line-height: 1.5; text-align: left;}
_:lang(x)::-ms-backdrop, body {font-family: "メイリオ", Meiryo, sans-serif;} /*IE11用文字スタイルハック*/
i{font-weight: 900;}
.serif{font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}


/*-------------------------------
Font Option
-------------------------------*/
.f-normal { font-weight: normal; font-weight: 400; }
.f-bold { font-weight: bold; font-weight: 700;}
.f-italic { font-style: italic;}
sup { font-size: 0.5rem;vertical-align: top; }
sub { font-size: 0.5rem;vertical-align: baseline; }
.f-red { color: #ff0000;}
.note { padding-left: 1rem; text-indent: -1rem; }

/*-------------------------------
Link
-------------------------------*/
a { color: #333; text-decoration: underline;transition: all .3s;cursor: pointer;}
a:hover { text-decoration: underline;color: #333;}
button { display: block; border: none; background-color: transparent; cursor: pointer; }
.link-btn{transition: .3s;opacity: 1;}
.link-btn:hover{opacity: 0.8;}
@media screen and (min-width: 480px) {
	a[href^="tel:"]{pointer-events: none;}
}

/*-------------------------------
Clearfix
-------------------------------*/
.cf:after { content: " "; display: block; clear: both; }
.flc { overflow: hidden; zoom: 1; }

/*-------------------------------
Float
-------------------------------*/
.float-left { display: inline; float: left; }
.float-right { display: inline; float: right; }

/* ---------------------------------------------
Margin
--------------------------------------------- */
.mt00 { margin-top:  0   !important;}
.mt05 { margin-top:  5px !important;}
.mt10 { margin-top: 10px !important;}
.mt12 { margin-top: 12px !important;}
.mt15 { margin-top: 15px !important;}
.mt20 { margin-top: 20px !important;}
.mt25 { margin-top: 25px !important;}
.mt30 { margin-top: 30px !important;}
.mt35 { margin-top: 35px !important;}
.mt40 { margin-top: 40px !important;}
.mt45 { margin-top: 45px !important;}
.mt50 { margin-top: 50px !important;}

.mr00 { margin-right:  0   !important;}
.mr05 { margin-right:  5px !important;}
.mr10 { margin-right: 10px !important;}
.mr12 { margin-right: 12px !important;}
.mr15 { margin-right: 15px !important;}
.mr20 { margin-right: 20px !important;}
.mr25 { margin-right: 25px !important;}
.mr30 { margin-right: 30px !important;}
.mr35 { margin-right: 35px !important;}
.mr40 { margin-right: 40px !important;}
.mr45 { margin-right: 45px !important;}
.mr50 { margin-right: 50px !important;}

.mb00 { margin-bottom:  0   !important;}
.mb05 { margin-bottom:  5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb12 { margin-bottom: 12px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb35 { margin-bottom: 35px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb45 { margin-bottom: 45px !important;}
.mb50 { margin-bottom: 50px !important;}

.ml00 { margin-left:  0   !important;}
.ml05 { margin-left:  5px !important;}
.ml10 { margin-left: 10px !important;}
.ml12 { margin-left: 12px !important;}
.ml15 { margin-left: 15px !important;}
.ml20 { margin-left: 20px !important;}
.ml25 { margin-left: 25px !important;}
.ml30 { margin-left: 30px !important;}
.ml30 { margin-left: 35px !important;}
.ml40 { margin-left: 40px !important;}
.ml45 { margin-left: 45px !important;}
.ml50 { margin-left: 50px !important;}

/* ---------------------------------------------
Align
--------------------------------------------- */
.align-left   { text-align: left;}
.align-center { text-align: center;}
.align-right  { text-align: right;}
.valign-top    { vertical-align: top    !important;}
.valign-middle { vertical-align: middle !important;}
.valign-bottom { vertical-align: bottom !important;}

/* ---------------------------------------------
Others
--------------------------------------------- */
.display-block { display: block!important;}
.inline-block { display: inline; display: inline-block!important;}
.inline { display: inline!important;}
.list-disc li{ list-style-position: outside;	list-style-type: disc; margin-left: 25px; }
.list-circle li{ list-style-position: outside; list-style-type: circle; margin-left: 25px; }
.list-square li{	list-style-position: outside; list-style-type: square; margin-left: 25px; }
.list-decimal li{ list-style-position: outside; list-style-type: decimal; margin-left: 30px; }

/*-------------------------------
	Field
-------------------------------*/
body { background:#e5e4d5; }

.container { width: 100%; }

.block { width: 100%; max-width: 1400px; margin: 0 auto; }

@media only screen and (max-width: 1400px) {
    .block {padding-left: 16px;padding-right: 16px;}
}

.pagetop { display: block; width: 44px; height: 44px; position: fixed; right: -46px; bottom: 10px; z-index: 100;transition: 0.3s;display: flex;justify-content: center;align-items: center;background-color: #445f32;border-radius: 30px;}
.pagetop .arrow{
    display: block;
    width: 14px;
    height: 14px;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    background: no-repeat center center/contain;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8.41 14"><polygon fill="%23fff" points="1.41 0 0 1.41 5.59 7 0 12.59 1.41 14 8.41 7 1.41 0"/></svg>');
}
.pagetop:hover { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); opacity: 0.8; }

.sp{ display: none; }
@media only screen and (max-width: 600px) {
    .pc { display: none; }
    .sp { display: inline; }
}

.bg01{background-color: #fff;}
.bg02{background-color: #e9ebec;}


.header{width: 100%;background-color: #fff;}
.header-main{position: relative;max-width: 1400px;margin: 0 auto;}
.header-logo{width: 188px;position: absolute;top: 0;left: 0;}
.header-logo > img{vertical-align: top;}
.header-main-title{width: 100%;position: absolute;top: 0;left: 0;background-color: rgba(0, 0, 0, 0.35);text-align: center;}
.header-main-title > img{width: 100%;max-width: 713px;height: auto;}
.header-under{text-align: center;padding: 20px 10px 0;}
@media only screen and (max-width: 1400px) {
    .header-logo{max-width: 120px;}
}
@media only screen and (max-width: 600px) {
    .header-logo{width: 68px;height: auto;}
    .header-under{padding: 10px 20px 0;}
}
@media only screen and (max-width: 320px) {
    .header-logo{width: 62px;height: auto;}
}

.section01-inner{width: 100%;max-width: 1400px;margin: 0 auto;}
.section01-title{text-align: center;padding: 50px 20px 0;}
.section01-fuki{text-align: center;margin-top: 60px;}
.section01-fuki-sp{display: none;}
.section01-text01{text-align: center;padding:60px 20px 100px;}
@media only screen and (max-width: 600px) {
    .section01-title{padding: 30px 0 0;}
    .section01-fuki{display: none;}
    .section01-fuki-sp{display: block;margin-top: 40px;}
    .section01-text01{padding:40px 20px 60px;}
}

.loop-slide{
    display: flex;
    width: 100%;
    height: 356px;
    overflow: hidden;
    margin-top: 30px;
}
.loop-slide img {
    width:1910px!important;
    max-width:1910px!important;
    height: 356px;
}
.loop-slide img:first-child {
    animation: slide1-frame 80s -40s linear infinite;
}
.loop-slide img:last-child {
    animation: slide2-frame 80s linear infinite;
}
@media only screen and (max-width: 600px) {
    .loop-slide{display: none;}
}
/*@media only screen and (max-width: 600px) {
    .loop-slide{
        height: 200px;
    }
    .loop-slide img {
        width:auto!important;
        max-width:auto!important;
        height: 100%;
    }
}*/
@keyframes slide1-frame {
    0% {
        transform: translateX(100%);
    }
    to {
        transform: translateX(-100%);
    }
}
@keyframes slide2-frame {
    0% {
        transform: translateX(0);
    }
    to {
        transform: translateX(-200%);
    }
}



.section02{padding: 60px 0 100px;}
.section02-title{text-align: center;}
.section02-content{text-align: center;margin-top: 30px;}
.section02-btn{margin-top: 70px;}

.present-btn{display: block;width: 100%;max-width: 937px;margin-left: auto;margin-right: auto;}
@media only screen and (max-width: 600px) {
    .section02{padding: 40px 0 60px;}
    .section02-btn{margin-top: 40px;}
}

.section03{padding: 100px 0 50px;}
.section03-content{text-align: center;}
.loop-slide02{
    display: flex;
    width: 100%;
    height: 360px;
    overflow: hidden;
    margin-top: 70px;
}
.loop-slide02 img {
    width:2270px!important;
    max-width:2270px!important;
    height: 360px;
}
.loop-slide02 img:first-child {
    animation: slide1-frame 100s -50s linear infinite;
}
.loop-slide02 img:last-child {
    animation: slide2-frame 100s linear infinite;
}
@media only screen and (max-width: 600px) {
    .section03{padding: 40px 0 40px;}
    .loop-slide02{
        height: 200px;
        margin-top: 40px;
    }
    .loop-slide02 img {
        width:auto!important;
        max-width:auto!important;
        height: 100%;
    }
}

.section04{padding: 80px 0 90px;background-image: url(../img/sec04_bg.png);background-position: -600px;background-repeat: repeat-y;}
.section04-title{text-align: center;}
.section04-text01{text-align: center;margin-top: 90px;}
.section04-main{margin-top: 80px;text-align: center;}
.section04-main li{margin-top: 60px;}
@media only screen and (max-width: 1000px) {
    .section04{background-position: -700px;}
}
@media only screen and (max-width: 600px) {
    .section04{padding: 60px 0 60px;background-position: -800px;}
    .section04-text01{margin-top: 50px;}
    .section04-main{margin-top: 50px;}
    .section04-main li{margin-top: 40px;}
}

.section05{padding: 70px 0 90px;}
.section05-content{text-align: center;}
@media only screen and (max-width: 600px) {
    .section05{padding: 40px 0 50px;}
}

.section06{padding: 100px 0 40px;}
.section06-inner{text-align: center;}
.section06-content{margin-top: 70px;}
.section06-img{margin: 60px auto 0;width: 100%;max-width: 1400px;}
@media only screen and (max-width: 600px) {
    .section06{padding: 50px 0 30px;}
    .section06-title{width: 100%;max-width: 260px;margin: 0 auto;}
    .section06-content{margin-top: 50px;}
    .section06-img{margin-top: 30px;}
}

.section-form{padding: 60px 20px 70px;}
.form-outer{max-width: 1260px;margin: 0 auto; background: #fff;padding: 90px 50px 70px;}
.section-form-title{text-align: center;}
.section-form-withyoumade{text-align: center;margin-top: 60px;}
.section-form-text{margin: 50px auto 0;width: 100%;max-width: 850px;font-size: 18px;line-height: 2;}
.section-form-image{margin-top: 50px;text-align: center;}

.form-index { margin-top: 100px;}
.form-index-inner{margin: 60px auto 0;width: 100%;max-width: 950px;}
.form-index-text{font-size: 20px;}
.form-index-text .notes{ margin-top: 20px;color:#eb1c15;padding-left: 1em;text-indent: -1em;font-size: 16px;}

.section-form-under{width: 100%;max-width: 1097px;margin: 80px auto 0;}

@media only screen and (max-width: 600px) {
    .section-form{padding: 40px 15px 50px;}
    .form-outer{padding: 40px 15px 30px;}
    .section-form-withyoumade{margin: 40px auto 0;width: 70%; max-width: 260px;}
    .section-form-text{margin: 40px auto 0;width: 90%;font-size: 16px;line-height: 1.7;}
    .section-form-imge{margin-top: 40px;}

    .form-index { margin-top: 50px;}
    .form-index-inner{margin: 30px auto 0;}
    .form-index-text{font-size: 16px;}
    .form-index-text .notes{ margin-top: 20px;font-size: 14px;}

    .section-form-under{width: 100%;max-width: 660px;margin: 40px auto 0;}
}

.form-list { margin-top: 40px;padding: 40px 0 0; border-top: 1px dotted #999;}
.form-list li { margin-bottom: 50px;display: flex;justify-content: space-between;}
.form-list .left { width: 25%; font-weight: bold;}
.form-list .right { width: 73%;}
.form-list .right .nt { margin-top: 7px; font-size: 0.875rem; }
.form-list .second { display: flex;justify-content: flex-start; }
.form-list .second .parts { width: 40%;}
.form-list .second .parts label { margin-right: 5px; }
.form-list .second .parts span { display: inline-block; margin-right: 0.4rem; }

.form-list .radio-items { display: inline-block; margin: 0.5rem 1rem 0 0; }
.form-list .other-items { margin-top: 1rem; padding-top: 0.4rem; border-top: 1px dotted #aaa; }
.form-list .size-main { width: 100%; padding: 5px; font-size: 1.1rem;border-radius: 4px; }
.form-list .size-main02 { width: 30%; min-width: 120px; padding: 5px; font-size: 1.1rem;;border-radius: 4px; }
.form-list .size-short01 { width: 30%;min-width: 160px; padding: 5px; font-size: 1.1rem;;border-radius: 4px; }
.form-list .size-short02 { width: 100%; max-width: 300px; min-width: 140px; padding: 5px; font-size: 1.1rem;;border-radius: 4px; }
.form-list .size-radio { width: 18px; height: 18px; vertical-align: middle; position: relative; top: -3px; }
.form-list .size-checkbox { width: 16px; height: 16px; vertical-align: middle; position: relative; top: -3px; }
.form-list .size-textarea { width: 100%!important; height: 170px!important; padding: 0.5rem; font-size: 1.2rem!important;;border-radius: 4px; }
.form-list .error { color: #FF3366; font-weight: bold; }
.form-list input, .form-list textarea { border: 1px solid #88A89D; background: #BEE2D6; }
.form-list input:focus, .form-list textarea:focus { border: 1px solid #88A89D; background: #fff; }
.form-list.list-index input, .form-list.list-index textarea { border: 1px solid  #d3cec7; background: #faf6f1; }
.form-list.list-index input:focus, .form-list.list-index textarea:focus { border: 1px solid  #d3cec7; background: #fff; }
.form-list.list-index .kibou-time { margin-top: 15px; }

.form-list .right .subdivision:not(:first-child){ margin-top: 15px; }
.form-list .right .subdivision .tit{font-weight: bold; }

.btn-box { width: 100%; text-align: center; padding: 0 0 1rem;}

.btn-box form { display: inline-block; }

.btn-submit{
	display: inline-block;
	padding: 0.7rem 5rem;
	font-size: 1.05rem;
	font-weight: normal;
	color: #fff;
	margin: 0 0;
	text-shadow: none;
	transition: 0.3s;
	border:none;
	background:#ee001c;
    background-size: 10px auto;
    transition: .1s;
    border-radius: 6px;
    position: relative;
}
.btn-submit:hover{
	background:#f7455a;
	border:none;
    background-size: 10px auto;
    opacity: 0.8;
    transition: .3s;
}
.btn-submit:before{
    display: block;
    content: '';
    width: 12px;
    height: 12px;
    -webkit-transform:translate(0, -50%);
    transform:translate(0, -50%);
    background: no-repeat center center/contain;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8.41 14"><polygon fill="%23fff" points="1.41 0 0 1.41 5.59 7 0 12.59 1.41 14 8.41 7 1.41 0"/></svg>');
    position: absolute;
    top: 50%;
    left: 20px;
}

.hissu { color: #ff2222; margin-left: 0.2rem; }
.formErrorContent { background: #fff !important; color: #D90000 !important; font-weight: bold !important; font-size: 0.875rem !important; }

.error .error-text{font-weight: bold;color:#ff2222;}
.error .footer{border-top: 1px solid #ccc;}

@media only screen and (max-width: 600px) {
    .form-list { margin-top: 35px;padding: 35px 0 0; border-top: 1px dotted #999;}
    .form-list li { margin-bottom: 35px; flex-direction: column;}
    .form-list .left { width: 100%;}
    .form-list .right { width: 100%;margin-top: 5px;}

    .form-list .second { flex-direction: column; }
    .form-list .second .parts { width: 100%;}
    .form-list .second .parts:not(:first-child) {margin-top: 7px;}
    .form-list .second .parts label { margin-right: 5px; }
    .form-list .second .parts span { display: inline-block; margin-right: 0.4rem; }
    .form-list .second .parts .size-short01 { width: 100%; }


    .form-list .size-main02 {padding: 8px; font-size: 16px; }
    .form-list .size-short01 {padding: 8px; font-size: 16px; }
    .form-list .size-short02 {padding: 8px; font-size: 16px; }
    .form-list .size-textarea {padding: 8rpx; font-size: 16px!important; }
}


.footer { width: 100%; background: #fff; padding: 30px 0 30px; }
.footer-main .link{display: flex;justify-content: center;}
.footer-main .link li { display: inline-block; position: relative; margin-right: 2rem; }
.footer-main .link li:not(:last-child):after { display: inline-block; content: '／'; width: 15px; height: 15px; position: absolute; top: 0; right: -25px; }
.footer-logo { width: 80%; max-width: 272px; margin: 80px auto 0; }
.footer-copy { text-align: center; margin: 40px 20px 0; font-size: 0.875rem; }
@media only screen and (max-width: 600px) {
    .footer {padding: 20px 0 30px; }
    .footer-main .link{flex-direction: column;text-align: center;}
    .footer-main .link li:not(:last-child):after { display:none; }
    .footer-main .link li a { display:block;text-align: center;padding: 5px 0; }
    .footer-logo { width: 80%; max-width: 240px; margin: 50px auto 0; }
    .footer-copy {margin: 30px 20px 0; font-size: 0.75rem; }
}

html, body {height: 100%;margin: 0;padding: 0;}
.thanks .container{display: flex;flex-direction: column;height: 100%;}
.thanks .footer{margin-top: auto!important;}
.thanks-box{margin: 60px auto 60px;max-width: 1000px;background-color: #fff;padding: 50px;}
.thanks-title{font-size: 30px;text-align: center;color: #2b916a;border-bottom: 2px dotted #7aaa5a;padding-bottom: 5px;}
.thanks-content{margin-top: 30px;text-align: center;font-size: 18px;}
.thanks-img{width: 80%; max-width: 500px;margin: 0 auto;}
.thanks-text{margin-top: 30px;}
.page-back{
    display: block;
    max-width: 300px;
    margin: 30px auto 0;
    font-weight: bold;
    color: #2b916a;
    font-size: 18px;
    border: 2px solid #64b395;
    padding: 13px 10px;
    text-decoration: none;
    border-radius: 30px;
    text-align: center
}
.page-back:hover{text-decoration: none;color: #fff;background-color: #64b395;}
.error .thanks-title{color: #ff0000;border-bottom: 2px dotted #ff0000;}
.error .error-text{font-size: 24px;}
@media only screen and (max-width: 1000px) {
    .thanks main{padding-left: 20px;padding-right: 20px;}
}
@media only screen and (max-width: 600px) {
    .thanks-box{margin: 30px auto 50px;padding:20px 15px 30px;}
    .thanks-title{font-size: 22px;line-height: 1.4;}
    .thanks-content{margin-top: 20px;text-align: left;font-size: 16px;}
    .thanks-text{margin-top: 20px;}
    .page-back{margin: 30px auto 0;display: block;max-width: 300px;padding: 10px 20px;}
    .error .error-text{font-size: 20px;}
}

.thanks-model{margin-top: 60px;padding-top: 50px;border-top: 1px solid #ccc;}
.thanks-model-title01{text-align: center;}
.thanks-model-text{padding: 50px 0;text-align: center;}
.thanks-model-img03{margin-top: 60px;text-align: center;}
.thanks-model-btn{display: block;width: 100%;max-width: 420px;margin: 50px auto 0;}
.thanks-model-sns{padding: 60px 0 40px;display: flex;justify-content: center;border-bottom: 1px dotted #aaa;}
.thanks-model-sns a{max-width: 350px;margin: 0 10px;}
@media only screen and (max-width: 600px) {
    .thanks-model{margin-top: 40px;padding-top: 30px;}
    .thanks-model-text{padding: 30px 0;text-align: left;}
    .thanks-model-img03{margin-top: 30px;}
    .thanks-model-btn{margin: 30px auto 0;}
    .thanks-model-sns{padding: 20px 0 20px;flex-direction: column;}
    .thanks-model-sns a{max-width: 350px;margin: 10px 0;}
}

