@charset "UTF-8";
/* CSS Document */
*{margin: 0;padding: 0;}
body{line-height: 2rem;
letter-spacing: 1px;
}
#contents{    background: url(../img/bg.jpg);
background-size: 100% 100%;
    padding-bottom: 20px;}
.maincontent_in{max-width: 1170px;
margin: 0 auto;}
.content_in{max-width: 900px;
background: #fff;
margin: 0 auto;}
img{width: 100%;}
.txt_img_center{text-align: center;}
.mabottom_40{margin-bottom: 20px;}
.pa_40{padding: 40px;}
.matop_40{margin-top: 40px;}
.patop_40{padding-top: 40px;}
.pabottom_40{padding-bottom: 40px;}
.patop_20{padding-top: 20px;}
.pabottom_20{padding-bottom: 20px;}
.form_h2{color: #a36723;;}
.form_h2 .hissu{
    background: #ff4664;
    color: #fff;
    padding: 3px 5px;
    border-radius: 4px;
    font-size: 0.8rem;
    display: inline;
    margin-left: 5px;}
.form_redtxt{color: #e40012;}
.oubokiyaku_box li{margin-left: 1.4em;
    text-indent: -1.35em; /*インデントの調整*/}
input{
	padding: 5px;
font-size: 1.2rem;
border: 1px solid #cacaca;
	width: 100%;
	margin: 5px 0;
}
.input100_area input{max-width: 100px;}

::placeholder{color: #cacaca;
}
.form_1box p{font-size: 0.8rem;}
.formtxt100{width: 100%;}
.formtxt_mini{max-width: 100px;
width: 100%;}
button{cursor: pointer;  }

/*主な共通部分は省略*/
.btn,
button.btn,
button.btn {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  display: inline-block;
  padding: 10px 40px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
background: #fe0000;
  border-radius: 20rem;
    margin: 0;
    border: 0;
}

button.btn--red.btn--cubic {
  border-bottom: 5px solid #9f000c;
}

button.btn--red.btn--cubic:hover {
  margin-top: 3px;
  border-bottom: 2px solid #9f000c;
}

button.btn--radius {
  border-radius: 100vh;
}

.fa-position-right {
  position: absolute;
  top: calc(50% - .5em);
  right: 1rem;
}
.img_stepbtn{
    border: 0;
    background: #fff;
    box-shadow: none;
width: 55%;}
.img_stepbtn2{
    border: 0;
    background: #fff;
    box-shadow: none;
    width: 45%;
    margin: 0 auto;
    display: block;
    text-align: center;}
.toppage_link{width: 40%;
    margin-bottom: 60px;}

/*主な共通部分は省略*/
.ma20{
    margin: 20px ;}
.btn2,
a.btn2,
button.btn2 {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  display: inline-block;
  padding: 10px 40px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
background: #f5911f;
  border-radius: 2rem;
    border: 0;
}

.btn--red2.btn--cubic2 {
  border-bottom: 5px solid #d1760d;
}

.btn--red2.btn--cubic2:hover {
  margin-top: 3px;
  border-bottom: 2px solid #d1760d;
}

.btn--radius2 {
  border-radius: 100vh;
}

.fa-position-right2 {
  position: absolute;
  top: calc(50% - .5em);
  right: 1rem;
}
.form_btnbox{text-align:center;}

.form_h3{background: #ffee00;
    color: #015174;
    text-align: center;
    font-size: 1.4rem;
    padding: 5px 20px;
    font-weight: bold;}
.oubokiyaku_box h3{font-weight: normal;
font-size: 1.1rem;
margin: 10px 0 0 0;}
.oubokiyaku_box h4{font-weight: normal;
font-size: 1rem;
margin: 10px 0 0 0;}
.foot_noborder{border: 0;}
.font_small{font-size: 0.8rem;}
select{padding: 5px;
    font-size: 1.2rem;
    border: 1px solid #cacaca;
    margin: 5px 0;}
button[type="submit"]{background: #a36723;
    color: #fff;
    padding: 10px;
    max-width: 300px;
    width: 100%;
    border: 0;
    font-size: 1.2rem;
    font-weight: bold;
    border-radius: 100px;}
.radio_yoko label{margin-right: 10px;
	display:inline-block;
}

.radio_tate{
    font-size: 1.2rem;}
.form_labelbox{margin-left: 35px;
    margin-bottom: 30px;}
.radio_tate label{
	display: block;
line-height: 2.5rem;}
.sub_h2{padding-left: 10px;}
textarea{width:100%;
height:150px;
max-width: 100%;
	margin: 5px 0;
	    padding: 5px;
border: 1px solid #ddd;}
input[type="radio"]{
  /* コンテンツの流れから切り離す */
  position: absolute;
  /* 誤ったコードに対処するための回避策 */
  white-space: nowrap;
  /* 可能な限り文字サイズを小さくするための処理
   * (スクリーンリーダー中には height と width が 0 のものを無視するため)
   */
  width: 1px;
  height: 1px;
  /* オーバーフローしているコンテンツを隠す */
  overflow: hidden;
  /* 要素サイズを変更しうるプロパティのリセット */
  border: 0;
  padding: 0;
  /* 要素のどの部分が表示されるかを定義するもの */
  /* 古いブラウザでは使用できない */
  clip: rect(0 0 0 0);
  /* 最近のブラウザ用
   * コンテンツを非表示にする設定  */
  clip-path: inset(50%); 
  /* 今現在なぜ-1pxがここで設定されるかは分かっていないそうです。
   * それに加えていくつか問題もあるそうです 
   * (参考: https://github.com/h5bp/html5-boilerplate/issues/1985)
   */
  margin: -1px;
}
label {
  position: relative;
  cursor: pointer;
  padding-left: 40px;
}

label::before,
label::after {
  content: "";
  display: block; 
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}

label::before {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  left: 5px;
}

label::after {
background-color: #008c73;
    border-radius: 50%;
    opacity: 0;
    width: 10px;
    height: 10px;
    left: 11px;
}

input:checked + label::after {
  opacity: 1;
}

.visually-hidden {
 position: absolute;
 white-space: nowrap;
 border: 0;
 clip: rect(0 0 0 0);
 clip-path: inset(50%);
 overflow: hidden;
 height: 1px;
 width: 1px;
 margin: -1px;
 padding: 0;
}

.top_number{
    margin: 10px;
    display: inline-block;}

/********************/

.receipt_kakunin{text-align: center;}
.receipt_kakunin img{width: 40%;}
.kakunin_btnbox{text-align: center;margin-top: 40px;}
.kakunin_btnbox button{margin: 0 40px 40px 40px;
    border: 0;
    width: 50%;}
.kakunin_box{padding: 40px;}
.bg_blue{background:#a36723;
margin: 0 auto;
    color: #fff;
	text-align: center;
}
.bg_blue p{padding: 10px 40px;
    font-weight: bold;
    line-height: 1.2rem;}
.bg_yellow{background:#ffff01;
color: #004ca0;
max-width: 900px;
margin: 0 auto;
text-align: center;}
.bg_yellow div{
    padding: 50px 20px;
    font-size: 3.5rem;
    font-weight: bold;
    line-height: 4rem;
}
.bg_red{background:#f90101;}

.kakunin_left{color: #a36723;
    font-size: 1.1rem;
font-weight: bold;}


.form_kakunin1box{    display: block;
    margin-bottom: 15px;}

.kakunin_right img{max-width:50%;}
.kakunin_rightmini{font-size: 0.6rem;}

.textarea_deza textarea{border: 1px solid #cacaca;
max-width: 860px;
min-height: 150px;
margin-top: 5px;
padding:10px;}
.font_black{color: #000;}
.ma_bot_20{margin-bottom: 20px;}
.font_mini{font-size: 0.9rem;}
div.errors { color: red; font-weight: 700; }
.btn3,
a.btn3,
button.btn3 {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  display: inline-block;
  padding: 10px 40px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
background: #00b08a;
  border-radius: 2rem;
    border: 0;
}

.btn--red3.btn--cubic3 {
  border-bottom: 5px solid #01886a;
}

.btn--red3.btn--cubic3:hover {
  margin-top: 3px;
  border-bottom: 2px solid #01886a;
}

.btn--radius3 {
  border-radius: 100vh;
}

.fa-position-right3 {
  position: absolute;
  top: calc(50% - .5em);
  right: 1rem;
}
.kanryou_tamakuma{width: 70%;
margin: 0 auto;
text-align: center;}
.fileup_btn{width: 100%;}
input[type=checkbox] {
    display: none;
}
.sns_link{
    display: flex;
    width: 50%;
    margin: 0 auto;}
.sns_left a{margin: 15px;

    width: 70px;}
footer{text-align: center;
    border-top: 1px solid #000000;
    margin-top: 80px;
    padding: 40px 20px;
    color: #004da0;
    font-weight: bold;
}
.sns_left div{display: flex;

    width: 100%;
    max-width: 600px;}
.sns_left{display: block;}
.sns_right{
    margin: 35px 10px 0 10px;
}
.copyright{
    font-size: 0.8rem;
    text-decoration: none;
    color: #004da0;
font-weight: normal;}

#receipt_preview{width: 30%;}
#question02{color: #000;}
.kanryo_txt{
	
    line-height: 3rem;
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    color: #a36723;
    padding: 100px 40px;}
.oubokiyaku_title{
    background: #004ca0;
    text-align: center;
    color: #fff;
    font-weight: bold;
    letter-spacing: 4px;
    border-radius: 50px;
    margin: 10px 0;

    font-size: 1.2rem;
    padding: 2px;}
.oubokiyaku_box{
    border: 2px solid #ccc;
    padding: 20px;
    max-height: 400px;
    overflow-y: scroll;
    font-size: 0.9rem;}
.shohin_1box{display: flex;}
.syohin_matomebox{
    padding: 20px 40px;

    border-left: 10px solid #00a0ec;
    border-right: 10px solid #00a0ec;
    border-bottom: 10px solid #00a0ec;
    border-end-end-radius: 6px;
    border-bottom-left-radius: 6px;}
.shohin_1box img{
    width: 46%;
    margin: 1%;}
.shohin_2box{display: flex;
width: 80%;
margin: 0 auto;}
.shohin_2box_1 {    width: 34.5%;
    margin: 0.5%;
}
.shohin_2box_2 {    width: 58%;
    margin: 0.5%;
}
.shohin_3box{display: flex;
    margin: 0 12%;}
.shohin_3box img {

    width: 18.5%;
    margin: 0.5%;
}
.oubotaisyo_box{
    padding: 40px 0 20px 0;}
.oubokiyaku_r_box{display: flex;}
.oubokiyaku_kukan{width: 80px;}
.oubokiyaku_r_kukan{
    width: calc(100% - 80px);}
.text_right{text-align: right;}
#receipt_up_btn{width: 40%;}
.kensaku_btn{    border: 0;
    width: 90px;
    margin-bottom: 4px;
    vertical-align: middle;}

	.kakunin_left{
    text-align: left;}
.kiyaku_atama{display: flex;}
.kiyaku_atama_l{width: 20px;}
.kiyaku_atama_r{    width: calc(100% - 20px);}

.kiyaku_atama2{display: flex;}
.kiyaku_atama2_l{width: 20px;}
.kiyaku_atama2_r{    width: calc(100% - 20px);}
@media screen and ( max-width:768px ){
    body{
    line-height: 1.4rem;}
.sp_none{display:none;}
    .form_kakunin1box {
        display: block;}
    .kakunin_right{margin-top:10px;}
    .sp_center{text-align: center}
    .kakunin_left {
    font-size: 1rem;
    width: 100%;
		min-width: auto;
}
	
    .kakunin_left:before{content: "○";}
    .btn3, a.btn3, button.btn3{width: 100%;
        font-size: 1rem;
    padding: 10px;}
    .btn2, a.btn2, button.btn2{width: 100%;font-size: 1rem;
    padding: 10px;}
    .form_h3 {
    font-size: 1.1rem;
}
    .form_redtxt {
    font-size: 12px;
}
    .form_1box p {
    font-size: 0.7rem;
        padding: 0 0 10px 0;
}
    .form_h2 {
    font-size: 1rem;
    padding-bottom: 10px;
}
    input {
    font-size: 1rem;
}
    label {
    font-size: 0.9rem;
}
	
    .radio_tate label {
    line-height: 1.8rem;
		margin-bottom: 5px;
}
    .btn, button.btn, button.btn {
    font-size: 1rem;
            padding: 10px 20px;
        width: 100%;
    }
    .sp_redbtn{padding: 20px;}
	.radio_yoko label {
    margin-right: 2px;
		margin-bottom: 5px;
}
	.form_1box li{margin-bottom: 5px;}
	label::before {
}
	label::after{
}
    .shohin_1box img {
    width: 100%;
}
    .shohin_1box {
    display: block;
}
.shohin_2box_2 {
    width: 99%;
    margin: 0 0.5% 0 5%;
}
	.shohin_2box_1 {
    width: 60%;
    margin: 0 22% 0 20%;
}
	.shohin_2box {
    display: block;
    width: 100%;
    margin: 0 auto;
}
	.sns_link {
    width: 100%;
		max-width: 400px;}
	.content_in {
    padding: 30px;
}.bg_blue p {
    padding: 10px 30px;
    font-size: 0.9rem;
}#receipt_preview {
    width: 50%;
}
	.toppage_link {
    width: 100%;
}
	.img_stepbtn2 {
    width: 80%;
	}
	#receipt_up_btn{width: 80%;}
.kakunin_btnbox button {
    width: 75%;
}
	.receipt_kakunin img {
    width: 50%;
		
    margin-top: 10px;
}
	.kakunin_box{padding-top: 30px;}
	.bg_yellow div {
    padding: 20px;
    font-size: 1rem;
    font-weight: bold;
    line-height: 2rem;
}
.kanryo_txt {
    font-size: 1.2rem;
    line-height: 2rem;
    padding: 40px 0;
}
    footer{
    margin-top: 40px;}
    .sns_left a {
    width: 100%;
}
	.form_labelbox{    margin-left: 0;}
	
.sub_h2{padding-left: 0px;
	display: block;}
}

@media screen and ( min-width:768px ){
.pc_none{display:none;}
}