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

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/
html{ font-size: 62.5%; scroll-behavior: smooth;visibility: hidden;}
html.wf-active,html.wfno-load{visibility: visible;}

body {
	width: 100%;
	font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color:#000;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
	/*font-feature-settings: "palt";*/
	text-align: justify;
	background:#FFF;
	line-height:1.6;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: subpixel-antialiased;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}


*{-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;}

img{
	width: 100%;
	height: auto;
	-ms-interpolation-mode: bicubic;
}

a{
	text-decoration: none;
	outline: none;
}

a:hover{
	text-decoration: none;
}

header,main,footer {
	width: 100%;
}

header {
	background: #FFF;
}

footer {
	background: #4d4d4d;
	color: #FFF;
}

footer a{
	color: #FFF;
}

main{
	contain: paint;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select{
	border: #b3b3b3 1px solid;
    border-radius: 5px;
    font-size: 1.6rem;
    padding: 0.75em 0.75em;
    width: 100%;
}

select{
	cursor: pointer;
}

div.select-wrap {
	position: relative;
}

#other_area {
    display: none;
}

/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 961px){
	.sp{
		display: none!important;
	}
	
	a.tel[href^="tel:"] {
       pointer-events: none;
       text-decoration: none;
    }
	
	body {
		padding-top: 96px;
	}
	
	a.opacity {
		transition-duration: 0.5s;
		transition-property: opacity, color;
	}
	
	a.opacity:hover {
		opacity: 0.7;
	}
	
	header{
		width: 100%;
		height: 96px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 999;
	}
	
	header h1{
		width: 18.53%;
		max-width: 265px;
		line-height: 0;
	}
	
	section {
		width: 100%;
		position: relative;
		padding: 50px 0 100px;
		text-align: center;
	}
	
	section h2{
		font-size: 3.0rem;
		font-size: clamp(2.01rem, 2.097vw, 3.0rem);
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.12em;
		padding-left: 1.5em;
		margin-bottom: 2em;
		position: relative;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}
	
	section h2 span.icon{
		width: 1em;
		line-height: 0;
		display: inline-block;
		margin-right: 0.5em;
		margin-top: 0.15em;
	}
	
	section div.section_inner{
		width: 85.4%;
		max-width: 1220px;
		margin: 0 auto;
		position: relative;
	}
	
	section div.section_inner h2 + div.text_block{
		width: 60%;
		margin: 0 auto 6vw;
	}
	
	section div.section_inner div.text_block p{
		font-size: 2.0rem;
		font-size: clamp(1.34rem, 1.398vw, 2.0rem);
		line-height: 1.8;
		letter-spacing: 0.04em;
		text-align: left;
	}
	
	section div.section_inner div.text_block a{
		color:#000;
	}
	
	section div.section_inner dl {
		font-size: 1.6rem;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section div.section_inner dl dt{
		width: 10em;
		font-weight: 500;
		letter-spacing: 0.01em;
		text-align: left;
		margin-bottom: 2em;
	}
	
	section div.section_inner dl dt sup{
		color: #ea5414;
		display: inline-block;
		margin-left: 0.25em;
	}
	
	section div.section_inner dl dd{
		width: calc(100% - 11em);
		margin-bottom: 2em;
	}
	
	section div.section_inner dl dd div#other_area {
		margin-top: 1em;
	}
	
	section div.section_inner dl dd span.select-icon {
		position: absolute;
		right: 12px;
		top: 35%;
		width: 12px;
		height: 12px;
		border-right: 2px solid #373737;
		border-bottom: 2px solid #373737;
		transform-origin: center;
		transform: rotate(45deg);
	}
	
	section div.section_inner dl + p {
		font-size: 2.0rem;
		font-size: clamp(1.34rem, 1.398vw, 2.0rem);
		line-height: 1.8;
		letter-spacing: 0.04em;
	}
	
	section div.section_inner dl + p a {
		color: #ea5414;
		text-decoration: underline;
	}
	
	div.submit {
		margin-top: 4vw;
	}
	
	div.submit button {
		width: 260px;
		padding: 12px 0;
		font-size: 2rem;
		font-weight: 700;
		border-radius: 30px;
		border: none;
		background: #ea5414;
		color: #fff;
		cursor: pointer;
	}
	
	#formWrap {
        width:700px;
        margin:0 auto;
    }

    #formWrap h3{
        font-size: 3.0rem;
		font-size: clamp(2.01rem, 2.097vw, 3.0rem);
        color: #ea5414;
        margin-bottom: 0.5em;
    }

    #formWrap h3 + p{
       font-size: 2.0rem;
       font-size: clamp(1.34rem, 1.398vw, 2.0rem);
       margin-bottom: 15px;
    }

    #formWrap h4{
        font-size: 2.0rem;
		font-size: clamp(1.34rem, 1.398vw, 2.0rem);
        margin-bottom: 1em;
    }

    #formWrap p.error_messe{
       font-size: 2.0rem;
       font-size: clamp(1.34rem, 1.398vw, 2.0rem);
       margin:5px 0;
       color:#ea5414;
    }

    #formWrap table.formTable{
        width:100%;
        margin:0 auto;
        border-collapse:collapse;
    }

    #formWrap table.formTable td,table.formTable th{
        border:1px solid #ccc;
        padding:10px;
    }

    #formWrap table.formTable th{
        width:30%;
        font-weight:normal;
        background:#efefef;
        text-align:left;
    }

    #formWrap table.formTable td {
        text-align: left;
    }

    #formWrap table.formTable + p {
        margin-top: 50px;
    }

    #formWrap input[type="submit"],
    #formWrap input[type="button"]{
        width: 240px;
        padding: 12px 0;
        font-size: 2.4rem;
		font-size: clamp(1.61rem, 1.678vw, 2.4rem);
        font-weight: 700;
        border-radius: 30px;
        border: none;
        background: #ea5414;
        color: #fff;
        cursor: pointer;
        margin: 0 10px;
    }

    #formWrap input[type="button"]{
        background: #999;
    }

    div.completed {
        margin-top: 50px;
    }

    div.completed h5{
        font-size: 2.8rem;
        color: #ea5414;
        margin-bottom: 30px;
    }

    div.completed h5 + p{
        max-width: 700px;
        font-size: 1.6rem;
        text-align: left;
        margin: 0 auto 50px;
    }

    div.completed a{
        font-size: 2rem;
    }
	
	
	footer {
        padding: 60px 0;
		position: relative;
    }
	
	footer div.f_block {
		width: 85.3%;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	footer div.f_block h2{
		width: 23.3%;
		max-width: 285px;
		line-height: 0;
	}
	
	footer div.f_block div.block{
		display: inline-block;
		margin-right: -4.2%;
	}
	
	footer div.f_block div.block a{
		font-size: 1.4rem;
		font-size: clamp(0.94rem, 0.979vw, 1.4rem);
		line-height: 1;
		letter-spacing: 0.01em;
		color: #FFF;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
	}
	
	footer div.f_block div.block a::before{
		content: "";
		width: 1em;
		height: 1em;
		background: url("../images/icon_blank_w.svg") no-repeat;
		background-size: contain;
		margin-right: 0.5em;
	}
	
	footer div.f_block div.block a:hover{
		text-decoration: underline;
	}
	
	footer div.f_block div.block p{
		font-size: 1.2rem;
		font-size: clamp(0.8rem, 0.839vw, 1.2rem);
		line-height: 1;
		letter-spacing: 0.01em;
		margin-top: 1.5em;
	}
	
	footer div.page_top {
		font-size: 1.4rem;
		font-size: clamp(0.94rem, 0.979vw, 1.4rem);
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0.01em;
		display: inline-block;
		position: absolute;
		top: -14px;
		right: 4%;
		z-index: 5;
	}
	
	footer div.page_top a{
		display: block;
		color: #FFF;
	}
	
	footer div.page_top span{
		width: 26px;
		display: block;
		margin: 0 auto 1em;
	}
}


@media screen and (min-width:961px) and (max-width: 1430px){
	
	body {
		padding-top: 6.71vw;
		padding-top: 6.71cqw;
	}
	
	header{
		height: 6.71vw;
		height: 6.71cqw;
	}
	
	header h1{
		margin-left: 3.56vw;
		margin-left: 3.56cqw;
	}
	
	footer {
        padding: 4.19vw 0;
		padding: 4.19cqw 0;
    }
	
}
	

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 960px){
	/*360-960px
	font-size: clamp(6.25rem, 17.3vw, 16.62rem);
	font-size: clamp(3rem, 8.31vw, 7.98rem);
	font-size: clamp(2.8rem, 7.75vw, 7.448rem);
	font-size: clamp(2.6rem, 7.2vw, 6.916rem);
	font-size: clamp(2.4rem, 6.65vw, 6.384rem);
	font-size: clamp(2.2rem, 6.09vw, 5.852rem);
	font-size: clamp(2.0rem, 5.54vw, 5.32rem);
	font-size: clamp(1.84rem, 5.1vw, 4.905rem);
	font-size: clamp(1.8rem, 4.98vw, 4.788rem);
	font-size: clamp(1.6rem, 4.43vw, 4.256rem);
	font-size: clamp(1.4rem, 3.87vw, 3.724rem);
	font-size: clamp(1.3rem, 3.6vw, 3.465rem);
	font-size: clamp(1.2rem, 3.32vw, 3.192rem);
	font-size: clamp(1.1rem, 3.27vw, 2.9326rem);
	font-size: clamp(1rem, 2.77vw, 2.66rem);
	*/
	
	.pc{
		display: none!important;
	}
	
	a:hover{
		text-decoration: none;
		opacity: 1;
	}
	
   a.tel[href^="tel:"] {
       pointer-events: auto;
       text-decoration: none;
    }
	
	body {
		padding-top: 18vw;
	}
	
	header{
		width: 100%;
		height: 18vw;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 999;
	}
	
	header h1{
		width: 54%;
		line-height: 0;
		margin-left: 5%;
	}
	
	section {
		width: 100%;
		padding: 8vw 0 12vw;
		position: relative;
	}
	
	section h2{
		font-size: 1.8rem;
		font-size: clamp(1.8rem, 4.98vw, 4.788rem);
		font-weight: 700;
		line-height: 1.5;
		letter-spacing: 0.12em;
		padding-left: 1.5em;
		margin-bottom: 1em;
		position: relative;
	}
	
	section h2 span.icon{
		width: 1em;
		line-height: 0;
		display: inline-block;
		position: absolute;
		top: 0.25em;
		left: 0;
	}
	
	section div.section_inner{
		width: 88%;
		margin: 0 auto;
		position: relative;
	}
	
	section div.section_inner h2 + div.text_block{
		width: 100%;
		margin: 0 auto 6vw;
	}
	
	section div.section_inner div.text_block p{
		font-size: 1.4rem;
		font-size: clamp(1.4rem, 3.87vw, 3.724rem);
		line-height: 1.8;
		letter-spacing: 0.04em;
		text-align: left;
	}
	
	section div.section_inner div.text_block a{
		color:#000;
	}
	
	section div.section_inner dl {
		font-size: 1.6rem;
		font-size: clamp(1.6rem, 4.43vw, 4.256rem);
	}
	
	section div.section_inner dl dt{
		font-weight: 500;
		letter-spacing: 0.01em;
		text-align: left;
		margin-bottom: 1vw;
	}
	
	section div.section_inner dl dt sup{
		color: #ea5414;
		display: inline-block;
		margin-left: 0.25em;
	}
	
	section div.section_inner dl dd{
		width: 100%;
		margin-bottom: 2em;
	}
	
	section div.section_inner dl dd div#other_area {
		margin-top: 1em;
	}
	
	section div.section_inner dl dd span.select-icon {
		position: absolute;
		right: 12px;
		top: calc(50% - 6px);
		width: 12px;
		height: 12px;
		border-right: 2px solid #373737;
		border-bottom: 2px solid #373737;
		transform-origin: center;
		transform: rotate(45deg);
	}
	
	section div.section_inner dl + p {
		font-size: 1.4rem;
		font-size: clamp(1.4rem, 3.87vw, 3.724rem);
		line-height: 1.8;
		letter-spacing: 0.04em;
	}
	
	section div.section_inner dl + p a {
		color: #ea5414;
		text-decoration: underline;
	}
	
	div.submit {
		margin-top: 10vw;
		text-align: center;
	}
	
	div.submit button {
		width: 52vw;
		padding: 10px 0;
		font-size: 1.8rem;
		font-size: clamp(1.8rem, 4.98vw, 4.788rem);
		font-weight: 700;
		border-radius: 6vw;
		border: none;
		background: #ea5414;
		color: #fff;
		cursor: pointer;
	}
	
	#formWrap {
      width:95%;
      margin:0 auto;
    }

    #formWrap h3{
      font-size: 1.8rem;
	  font-size: clamp(1.8rem, 4.98vw, 4.788rem);
      color: #ea5414;
      margin-bottom: 8vw;
    }

    #formWrap h3 + p{
      font-size: 1.6rem;
	  font-size: clamp(1.6rem, 4.43vw, 4.256rem);
      margin-bottom: 8vw;
    }	

    #formWrap h4{
      font-size: 1.6rem;
      font-size: clamp(1.6rem, 4.43vw, 4.256rem);
      margin-bottom: 20px;
    }

    #formWrap p.error_messe{
	  font-size: 1.6rem;
      font-size: clamp(1.6rem, 4.43vw, 4.256rem);
      text-align: left;
	  color:#ea5414;
    }
	
	#formWrap table.formTable{
        width:100%;
        margin:0 auto;
        border-collapse:collapse;
		font-size: 1.6rem;
		font-size: clamp(1.6rem, 4.43vw, 4.256rem);
    }

    #formWrap table.formTable th{
        width: 100%;
		margin-top:5px;
		border-bottom:0;
        font-weight:normal;
        background:#efefef;
        text-align:left;
		border:1px solid #ccc;
        padding:10px;
		display:block;
    }

    #formWrap table.formTable td {
		width: 100%;
        display:block;
        text-align: left;
		padding:10px;
		border:1px solid #ccc;
		border-top: 0;
    }

    #formWrap table.formTable + p {
        margin-top: 50px;
    }
	
	#formWrap input[type="submit"],
    #formWrap input[type="button"]{
        padding: 12px 0;
        font-size: 1.6rem;
        font-size: clamp(1.6rem, 4.43vw, 4.256rem);
        font-weight: 700;
        border-radius: 30px;
        border: none;
        background: #ea5414;
        color: #fff;
        cursor: pointer;
        margin: 0 10px;
    }

    #formWrap input[type="button"]{
        background: #999;
    }

    #formWrap input[type="submit"], #formWrap input[type="button"] {
      display:block;
      width: 52vw;
      margin: 0 auto;
    }

    #formWrap input[type="button"] {
        margin-top: 10px;
    }

    div.completed {
      margin-top: 100px;
    }

    div.completed h5{
      font-size: 1.8rem;
	  font-size: clamp(1.8rem, 4.98vw, 4.788rem);
      color: #ea5414;
      margin-bottom: 1.25em;
    }

    div.completed h5 + p{
      font-size: 1.4rem;
      font-size: clamp(1.4rem, 3.87vw, 3.724rem);
	  text-align: left;
      margin-bottom: 4em;
    }

    div.completed a{
      font-size: 1.6rem;
      font-size: clamp(1.4rem, 3.87vw, 3.724rem);
	  color: #000;
    }
	
	footer {
		margin-top: 15vw;
        padding: 10vw 0 25vw;
		position: relative;
    }
	
	footer div.f_block {
		width: 84%;
		margin: 0 auto;
	}
	
	footer div.f_block h2{
		width: 60%;
		line-height: 0;
	}
	
	footer div.f_block div.block{
		margin-top: 5vw;
	}
	
	footer div.f_block div.block a{
		font-size: 1.2rem;
		font-size: clamp(1.2rem, 3.32vw, 3.192rem);
		line-height: 1;
		letter-spacing: 0.01em;
		color: #FFF;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
	}
	
	footer div.f_block div.block a::before{
		content: "";
		width: 1em;
		height: 1em;
		background: url("../images/icon_blank_w.svg") no-repeat;
		background-size: contain;
		margin-right: 0.5em;
	}
	
	footer div.f_block div.block p{
		font-size: 1rem;
		font-size: clamp(1rem, 2.77vw, 2.66rem);
		line-height: 1;
		letter-spacing: 0.01em;
		margin-top: 1.5em;
	}
	
	footer div.page_top {
		font-size: 1.2rem;
		font-size: clamp(1.2rem, 3.32vw, 3.192rem);
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0.01em;
		display: inline-block;
		position: absolute;
		top: -7vw;
		right: 5%;
		z-index: 5;
	}
	
	footer div.page_top a{
		display: block;
		color: #FFF;
	}
	
	footer div.page_top span{
		width: 18vw;
		display: block;
		margin: 0 auto 1em;
	}
}