/* CSS Document */

/*@import url('https://fonts.googleapis.com/css?family=Sacramento|Noto+Serif+JP|Noto+Sans+JP:100,300,400,500,700,900|Roboto&subset=japanese');*/
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Berkshire+Swash&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cinzel&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

/*-----------------------------------------------------------------------------

Common

-------------------------------------------------------------------------------*/


.visuallyhidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
    clip-path: inset(0px 0px 99.9% 99.9%);
    border: 0;
}




/*--単語折り返し防止---------*/

span.orik {
    display: inline-block;
}
ul li {
    list-style: none;
}
img {
    border: 0;
	max-width: 100%;
	height: auto;
	image-rendering: -webkit-optimize-contrast;
}
a {
    color: #333;
    outline: none;
}
h1, h2, h3, h4, ul {
    margin: 0;
    padding: 0;
}
html {
    overflow-y: scroll;
}
html, body {
    width: 100%;
}

body {
    margin: 0 auto;
    padding: 0;
    font-size: 16px;
    color: #000000;
    line-height: 160%;
font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 600;
	overflow-x: hidden;
}
/*--clearコンテンツ------------------------*/

.clearfix:after {
    content: "";
    clear: both;
    display: block;
}
/*----tel イベント------------------------------*/

a.tel {
    cursor: default;
    pointer-events: none;
    text-decoration: none;
}

@media screen and (max-width: 640px) {
a.tel {
    pointer-events: auto;
}
}




/*---------------------------------
FirstView

標準の高さを決める
height:100vh;

最小高を決める
min-heightを決める
----------------------------------*/

/*----------------------------メインビジュアル-----------------------------------*/
#top img{
width: 100%;
margin-bottom: 45px;
}


#top img.smp{
display: none;
}

#top img.smp2{
display: none;
}

@media(max-width:1050px){
#top img.smp{
display: block;
}
#top img.pc{
display: none;
}
}

@media(max-width:550px){
#top img.smp{
display: none;
}
#top img.pc{
display: none;
}
#top img.smp2{
display: block;
margin-bottom: 25px;
}
}
/*--------------------------------------------------------------------------
2大特典
---------------------------------------------------------------------------*/
#tokuten {
max-width: 990px;
margin: 0px auto 100px;
box-sizing: border-box;
padding: 0px 30px;
text-align: center;
}

#tokuten h2{
font-size: 27px;
font-weight: 800;
position: relative;
text-align: center;
margin-bottom: 20px;
display: inline-block;
}

#tokuten h2 span.big{
font-size: 82px;
color: #c58f6c;
}

#tokuten h2 span:last-of-type{
position: relative;
left: -10px;
}

#tokuten h2:before{
height: 60px;
content: "";
position: absolute;
left: 0px;
bottom: -2px;
width: 2px;
background-color: black;
transform: rotate(-15deg);
}

#tokuten h2:after{
height: 60px;
content: "";
position: absolute;
right: -10px;
bottom: -2px;
width: 2px;
background-color: black;
transform: rotate(15deg);
}

#tokuten .container{
letter-spacing: -0.4em;
margin-bottom: 20px;
}

#tokuten .container img{
display: inline-block;
width: calc(50% - 15px);
}

#tokuten .container img:first-of-type{
margin-right: 15px;
}

#tokuten .container img:last-of-type{
margin-left: 15px;
}

#tokuten p.note{
box-sizing: border-box;
padding: 0px 20px;
text-align: left;
font-size: 13px;
font-weight: 400;
line-height: 140%;
margin: 0px
}
@media(max-width:768px){
#tokuten {
  margin: 0px auto 80px;
}
}

@media(max-width:550px){
#tokuten .container {
  margin-bottom: 10px;
}
#tokuten h2:before{
height: 40px;
}

#tokuten h2:after{
height: 40px;
}
#tokuten h2 span.big {
  font-size: 62px;
}
#tokuten .container img{
width: calc(50% - 8px);
}

#tokuten .container img:first-of-type{
margin-right: 8px;
}

#tokuten .container img:last-of-type{
margin-left: 8px;
}
#tokuten p.note {
  padding: 0px 5px;
  margin: 0px;
}
#tokuten {
  margin: 0px auto 60px;
}
}

@media(max-width:450px){
#tokuten .container img{
width: 100%;
margin-bottom: 30px;
}
#tokuten .container img:first-of-type{
margin-right: 0px;
}

#tokuten .container img:last-of-type{
margin-left: 0px;
margin-bottom: 0px;
}
#tokuten h2 {
  font-size: 24px;
  left: -6px;
}
#tokuten h2 span.big {
  font-size: 58px;
}
#tokuten {
  padding: 0px 20px;
}
}

/*--------------------------------------------------------------------------
お申込み特典獲得の手順
---------------------------------------------------------------------------*/

#flow {
max-width: 990px;
margin: 0px auto 70px;
box-sizing: border-box;
padding: 0px 30px;
text-align: center;
}

#flow p.label{
background-image: url("img/label.webp");
background-size: contain;
background-position: center;
background-repeat: no-repeat;
text-align: center;
font-size: 27px;
font-weight: 600;
width: 400px;
height: 50px;
margin: 0px auto 40px;
padding: 10px;
box-sizing: border-box;
}

#flow .flowlist img{
float: left;
width: calc(40% - 25px);
margin-right: 25px;
margin-top: 20px;
}

#flow .txt {
float: right;
width: calc(60% - 25px);
margin-left: 25px;
text-align: left;
} 

#flow .txt p{
background-color: #eeeeee;
box-sizing: border-box;
padding: 10px;
letter-spacing: -0.4em;
margin: 8px 0px;
border-radius: 8px;
}

#flow .txt p span.num{
background-color: #c58f6c;
font-size: 31px;
padding: 7px;
color: white;
font-weight: 700;
border-radius: 50%;
margin-right: 10px;
width: 45px;
height: 45px;
display: inline-block;
letter-spacing: normal;
box-sizing: border-box;
vertical-align: middle;
text-align: center;
}

#flow .txt p span:last-of-type{
display: inline-block;
letter-spacing: normal;
width: calc(100% - (45px + 10px));
vertical-align: middle;
}

@media(max-width:768px){
#flow .flowlist img {
  width: calc(40% - 15px);
  margin-right: 15px;
}
#flow .txt {
  width: calc(60% - 15px);
  margin-left: 15px;
}
}

@media(max-width:650px){
#flow .txt {
  width: 100%;
  margin-left: 0px;
}
#flow .flowlist img{
float: none;
width: 50%;
margin-right: 0px;
margin-top: 20px;
text-align: center;
}
#flow p.label{
margin-bottom: 20px;
}
}

@media(max-width:550px){
#flow .txt p span.num{
  font-size: 28px;
  padding: 3px;
  width: 35px;
  height: 35px;
}
#flow p.label {
  font-size: 23px;
  font-weight: 600;
  width: 350px;
  height: 50px;
  margin: 0px auto 10px;
  padding: 10px;
  box-sizing: border-box;
}
}

@media(max-width:450px){
  #flow p.label {
  font-size: 22px;
  font-weight: 600;
  width: 300px;
  height: 50px;
  margin: 0px auto 0px;
}
#flow {
  padding: 0px 20px;
  }
}

/*--------------------------------------------------------------------------
注意事項
---------------------------------------------------------------------------*/
#caution {
box-sizing: border-box;
margin: 0px auto 90px;
border: solid 3px black;
max-width: 940px;
width: calc(100% - 60px);
padding: 70px 65px 50px;
position: relative;
border-radius: 10px;
}

#caution p.label{
background-image: url("img/label.webp");
background-size: contain;
background-position: center;
background-repeat: no-repeat;
text-align: center;
font-size: 27px;
font-weight: 600;
width: 400px;
height: 50px;
margin: 0px auto;
padding: 10px;
box-sizing: border-box;
position: absolute;
z-index: 2;
top: -26px;
left: 50%;
transform: translateX(-50%);
}

#caution p{
padding-left: 20px;
position: relative;
}


#caution p:before{
content: "●";
color: #c58f6c;
position: absolute;
left: 0px;
top: 0px;
}

#caution p.label:before{
content: none;
}

@media(max-width:768px){
#caution {
  padding: 40px 30px 50px;
  margin: 0px auto 60px;
}
}

@media(max-width:600px){
#caution {
  padding: 30px 20px 50px;
}
}

@media(max-width:550px){
#caution p.label {
  font-size: 23px;
  font-weight: 600;
  width: 350px;
  height: 50px;
  margin: 0px auto 10px;
  padding: 10px;
  box-sizing: border-box;
}
}

@media(max-width:450px){
#caution p.label {
  font-size: 22px;
  font-weight: 600;
  width: 300px;
  height: 50px;
  margin: 0px auto 0px;
}
#caution {
  width: calc(100% - 40px);
  padding: 30px 20px 30px;
}

#caution {
  margin: 0px auto 30px;
}
}
/*--------------------------------------------------------------------------
キャンペーン内容
---------------------------------------------------------------------------*/
#camp {
max-width: 900px;
padding: 0px 30px;
box-sizing: border-box;
margin: 0px auto 80px;
}

#camp .amazonsmp{
display: none;
}

#camp img.amazonpc{
box-sizing: border-box;
padding: 30px 30px 0px;
}

#camp img.consmp{
display: none;
}

#camp p{
padding: 0px 30px;
box-sizing: border-box;
font-size: 13px;
font-weight: 400;
}

@media(max-width:768px){
#camp p{
padding: 0px 10px;
}
}

@media(max-width:550px){
#camp .amazonsmp{
display: block;
text-align: center;
}

#camp .amazonsmp img{
width: 80%;
}

#camp .amazonsmp p{
text-align: left;
padding: 0px
}

#camp img.amazonpc{
display: none;
}

#camp img.consmp{
display: block;
width: 100%;
}

#camp img.conpc{
display: none;
}
}


@media(max-width:450px){
#camp{
padding: 0px 20px;
}
}
/*--------------------------------------------------------------------------
お問合せ
---------------------------------------------------------------------------*/

#oto {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 30px;
	box-sizing: border-box;
	font-weight: 500;
}

#oto #cform {
	background-color: #fff;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	letter-spacing: normal;
	padding: 65px 60px 30px;
	box-sizing: border-box;
	display: inline-block;
	z-index: 1;
	width: 100%;
	border: 3px solid black;
	position: relative;
}

/*---*/

#oto p.big {
	font-family: 'Shippori Mincho', serif;
	font-size: 27px;
	line-height: 120%;
	margin: 0;
	padding: 20px 0 30px;
	text-align: center;
}

#oto h2 {
	font-size: 22px;
	line-height: 160%;
	margin: 0;
	padding: 20px 0;
	text-align: center;
}

#oto p.nml {
	font-size: 18px;
	padding: 0;
	margin: 0 0 20px 0;
	line-height: 180%;
		text-align: center;

}

#oto p.btn {
	margin: 20px 0 0 0;
	padding: 0;
}

#oto p.btn a {
	display: block;
	background-color: #1b1b1b;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	padding: 10px;
	text-align: center;
	text-decoration: none;
	color: #fff;
}

#oto p.btn a span {display: block;}

#oto #cform p {
	margin: 0;
}

#oto #cform p span.num {
	-moz-border-radius: 50px;
	-webkit-border-radius: 50px;
	border-radius: 50px;
	background-color: #333;
	color: #fff;
	display: inline-block;
	width: 1.5em;
	text-align: center;
	line-height: 1.5em;
	margin-right: 5px;
}

#oto span.gray{
color: white;
background-color: #a0a0a0;
border-radius: 3px;
    padding: 2px 5px;
    font-size: 0.8em;
    margin-right: 5px;
}

#oto textarea{
height: 120px!important;
}

#oto #cform {
    background-color: #fff;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
    letter-spacing: normal;
    padding: 65px 60px 30px;
    box-sizing: border-box;
    display: inline-block;
    z-index: 1;
    width: 100%;
    border: 3px solid black;
    position: relative;
}
#cform {
    padding: 0 0 40px 0;
    line-height: 200%;
}


#oto #cform hr {
	background-color: transparent;
	border: none;
	border-bottom: 1px dashed #666;
}

#oto .field{
display: flex;
box-sizing: border-box;
padding: 10px 30px 10px 10px;
border-bottom: 1px dashed black;
}

#oto .left{
width: 200px;
box-sizing: border-box;
}

#oto .right{
width: 100%;
}

#oto p.ttl{
font-weight: 600;
font-size: 20px;
text-align: center;
margin-bottom: 20px!important;
}

#oto p.label{
background-image: url("img/label.webp");
background-size: contain;
background-position: center;
background-repeat: no-repeat;
text-align: center;
font-size: 27px;
font-weight: 600;
width: 400px;
height: 50px;
margin: 0px auto;
padding: 10px;
box-sizing: border-box;
position: absolute;
z-index: 2;
top: -26px;
left: 50%;
transform: translateX(-50%);
}



input:focus {
  outline: none;
}

textarea:focus {
  outline: none;
}


#oto .add {
letter-spacing: -0.4em;
margin: 8px 0px;
}

#oto .add span{
width: 80px;
letter-spacing: normal;
display: inline-block;
}

#oto .add input{
display: inline-block;
letter-spacing: normal;
width: calc(90% - 80px);
}

#oto .add select{
display: inline-block;
letter-spacing: normal;
width: calc(90% - 80px);
}

#oto p.p10{
padding-top: 10px;
}

#oto .thanks{
padding: 10px 60px 50px!important;
}

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

#oto #cform {
	width: 100%;
}
}

@media screen and (max-width: 800px) {
	
#oto #cform {
	width: 100%;
	padding: 20px;
}
#oto .field {
    padding: 10px 10px 10px 10px;
}
#oto p.ttl {
 margin-top: 50px!important;
}
}

@media(max-width:650px){
#oto p.p10{
padding-top: 5px;
}
#oto p.left{
width: 160px;
}

#oto .right{
width: calc(100% - 160px);
}

}


@media screen and (max-width: 600px) {
	
	#oto p.big {font-size: 30px;}
	#oto h2 {font-size: 20px;}
#oto .field {
    padding: 10px 10px 10px 10px;
    flex-direction: column;
}
#oto .right{
width: 100%;
}
#oto{
font-size: 14px;
}
#oto p.ttl {
  margin-top: 30px !important;
  margin-bottom: 10px!important;
}
}



@media(max-width:550px){
#oto p.label {
  font-size: 23px;
  font-weight: 600;
  width: 350px;
  height: 50px;
  margin: 0px auto 10px;
  padding: 10px;
  box-sizing: border-box;
}
}

@media(max-width:450px){
#oto .add input{
width: 100%;
}

#oto .add select{
width: 100%;
}
#cform .sendb, #cform .sendb:focus {
  font-size: 18px;
  margin-top: 20px;
}
#oto p.label {
  font-size: 22px;
  font-weight: 600;
  width: 300px;
  height: 50px;
  margin: 0px auto 0px;
}
#oto {
  padding: 0px 20px;
}
#oto p.ttl {
  margin-top: 20px !important;
  margin-bottom: 5px!important;
  font-size: 18px;
}
#oto #cform {
  padding: 20px 10px;
}
}



/*---------------------------------------------------
確認画面など
------------------------------------------------------*/

#oto #cform h3 {
	font-size: 20px;
	border-bottom: 1px solid #666;
	padding: 5px 0;
	margin: 0 0 20px 0;
	color: #e58588;
}

#oto #cform h4 {
	font-size: 18px;
	padding: 5px 0;
	margin:20px 0 10px 0;
	color: #e58588;
}

#oto .conf p {
	padding: 0px 5px ;
	margin: 5px 0px!important;
}

#oto .conf{
display: flex;
border-bottom: dashed 1px #666;
width: 100%;
}

#oto .conf p:first-child{
width: 180px;
}

@media(max-width:520px){
#oto .conf p:first-child{
width: 150px;
}
}
/**-----------------------------------------------------------------------
footer
-------------------------------------------------------------------------*/
#footer {
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	padding: 120px 30px 35px;
}

#footer img{
max-width: 275px;
}

#footer p{
font-size: 15px;
display: flex;
max-width: 630px;
margin: 30px auto 0px;
font-weight: 500;
}

#footer p span:last-of-type{
margin-left: auto;
font-weight: 400;
}

@media(max-width:650px){
#footer p span{
display: block;
}
#footer p{
text-align: center;
display: block;
}
#footer {
  padding: 80px 30px 35px;
}
}