@charset "UTF-8";

/* CSS リセット */
html,
header, footer, hgroup,
section, article, nav, aside, details, figure, figcaption,
div, span,
a, b, i, u, s,
address, blockquote, q, ins, del, sub, sup, em, strong, abbr, cite, dfn, code, samp, var, mark, data,
h1, h2, h3, h4, h5, h6,
p, ol, ul, li, dl, dt, dd, pre,
bdo, bdi,
ruby, rt, rp,
fieldset, legend, label,
table, thead, tbody, tfoot, tr, th, td, caption, colgroup, col,
img, audio, video, source, track,
form, summary,
iframe
{
	margin: 0;
	padding: 0;
}

*, *:before, *:after
{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

.all_block table
{
	border-collapse: collapse;
}

.all_block img
{
	vertical-align: top;
	font-size: 0;
	line-height: 0;
	border: none;
}

.all_block img.size
{
	width: 100%;
}

.all_block img.size90
{
	width: 90%;
}

.all_block a
{
	color: #ffffff;
	text-decoration: none;
}

.all_block a:hover
{
	color: #ffffff;
	text-decoration: none;
}


.all_block a:hover img
{

}

body
{
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	font-size: 16pt;
}

.all_block ol, ul
{
	list-style: none;
}

div.under_line
{
	padding: 0px 0px 20px 0px;
	border-bottom: 1px dotted #7a7a7a;
}

/* 基本エリア */
.clearfix:after
{
	content: "";
	clear: both;
	display: block;
}

.clear
{
	clear: both;
	font-size: 1px;
	height: 1px;
}

span.purple
{
	color: #6843b8;
	font-weight: bold;
}

/* ヘッダーロゴ規定 ---------------------------------- */

div.header
{
  display: flex;
  justify-content: space-between;
  align-items: center;
	width: 100%;
	max-width: 1000px;
	margin: 0% auto 0% auto;
	background-color: #ffffff;
	padding: 16px 0px 16px 16px;
  position: sticky;
  top: 0;
}

h1.logo
{
	width: 30%;
	max-width: 260px;
	min-width: 260px;
	margin: 0% auto 0% 0%;
	line-height: 100%;
}

/* 入力しても良いのココから -------------------------- */
div.all_block
{
	font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, sans-serif;
	width: 100%;
	max-width: 1000px;
	padding: 0% 0% 0% 0%;
	margin: 0px auto 0px auto;
	font-size: 16pt;
	color: #000000;
	text-align: center;
	background-color: #ffffff;
}

div.main_img
{
	width: 100%;
	max-width: 1000px;
	margin: 0px auto 0px auto;
}

div.content_img
{
	width: 100%;
	max-width: 1000px;
	margin: 0% auto 0% auto;
	padding: 0% 0% 0% 0%;
}

div.button_img
{
	width: 100%;
	max-width: 1000px;
	margin: 5% auto 5% auto;
	padding: 0% 10% 0% 10%;
}

div.button_img2
{
	width: 100%;
	max-width: 1000px;
	margin: 0% auto 0% auto;
	padding: 5% 10% 5% 10%;
	background-color: #f6f6f6;
}

div.button_img a:hover
{
	opacity: 0.8;
}


div.content_text
{
	width: 100%;
	max-width: 1000px;
	margin: 0% auto 0% auto;
	padding: 2% 7% 5% 7%;
	color: #ffffff;
	text-align: left;
	font-size: 24pt;
	line-height: 240%;
	background-color: #97999b;
}

div.voice_text
{
	width: 100%;
	max-width: 1000px;
	margin: 0% auto 0% auto;
	padding: 5% 7% 5% 7%;
	text-align: left;
	font-size: 24pt;
	line-height: 240%;
	background-color: #f6f6f6;
}

div.price_text
{
	width: 100%;
	max-width: 1000px;
	margin: 0% auto 0% auto;
	padding: 3% 0% 7% 0%;
	text-align: center;
	font-size: 28pt;
}

div.cart_image
{
	width: 100%;
	max-width: 880px;
	margin: 0% auto 0% auto;
}

div.product_details
{
	padding: 5% 5% 5% 5%;
	margin: 0% auto 0% auto;
	text-align: left;
	background-color: #e4dcdf;
}

div.product_details_title
{
	font-size: 22pt;
	font-weight: bold;
}

div.product_details_text
{
	font-size: 16pt;
	line-height: 160%;
	padding: 1% 0% 3% 30px;
}

div.cv_area
{
	width: 100%;
	margin: 0% 0% 2% 0%;
	padding: 15% 0% 5% 0%;
	background-image: url(../image/content14.jpg);
	background-size: contain;
	background-repeat: no-repeat;
}

div.button_b
{
	width: 70%;
	margin: 0% auto 0% auto;
	padding: 0% 0% 0% 0%;
}

div.button_s
{
	width: 25%;
	margin: 41% 8% 0% auto;
	padding: 0% 0% 0% 0%;
}

/* モーダルフォーム */

/*form*/

input, select {
	-webkit-appearance: none;
	appearance: none;
}
.form .form_wrap{
  background:#fff;
  padding:50px;
}
.form .form_wrap .bag{
  margin-bottom: 20px;
}
.form .form_wrap .bag p{
  font-size:1.25rem;
  font-weight:bold;
  text-align:left;
  margin-block:15px;
}
.form .form_wrap .bag .select{
  display:block;
  width:100%;
  position:relative;
  
}
.form .form_wrap .bag .select:before{
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 7.5px 0 7.5px;
  border-color: #333333 transparent transparent transparent;
  content:"";
  position:absolute;
  right:20px;
  top:0;
  bottom:0;
  margin:auto;
  z-index: 0;
}
.form .form_wrap .bag .select select{
  width:100%;
  height:50px;
  border-radius:7px;
  padding: 10px;
  font-size: 1rem;
  background:transparent;
  z-index: 1;
  position: relative;
  border: 2px solid #EDEDED;
  color: #333;
}
.form .form_wrap .form_btn{
	display:block;
	position:relative;
	margin-top: 50px;
}
.form .form_wrap .form_btn input{
	width:100%;
	max-width: 450px;
	height: 65px;
	border-radius:10px;
	background:#fff;
	border:0px solid #cdcdcd;
	font-size: 1.25rem;
	font-weight: bold;
	transition:.5s transform;
	color: #ffffff;
	background-color: #1c9604;
}
.form .form_wrap .form_btn input:hover{
	transform:translateY(5px);
}
.form .form_wrap .required{
	background: #db3054;
	font-size: 1rem;
	color: #fff;
	padding: 2px 10px;
	margin-left: 1em;
	border-radius: 5px;
}
.form .form_wrap .error_message {
	display: none;
}
.form .form_wrap .error_message p{
	color:#db3054;
	font-size: 1rem;
	font-weight:400;
}

@media screen and (max-width:767px) {
	.form .form_wrap{
		padding:20px 30px;
	}
	.home .modal-content{
		width:100%;
	}
	.form .form_wrap .bag{
		margin-bottom: 10px;
	}
	.form .form_wrap .bag p{
		margin-block:10px;
	}
	.form .form_wrap .form_btn{
		margin-top: 20px;
	}
}

/* フッター -------------------------------- */
footer.block_footer
{
	min-width: 100%;
	margin: 0px 0px 0px 0px;
	padding: 10px 0px;
	color: #ffffff;
	text-align: center;
	background-color: #35318f;
}

address.copy
{
	font-size: 12pt;
}

/* スマホのみ電話を押せるように -------------------------------- */
@media screen and (min-width: 800px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}

@media screen and (min-width:800px){
    .brsp {display:none;}
}

/* スマホ限定の改行コード -------------------------------- */
@media screen and (min-width:800px){
    .brsp {display:none;}
}

/* ＰＣのみ表示 -------------------------------- */
@media screen and (max-width:800px){
    .pc {display:none;}
}

/* スマホのみ表示 -------------------------------- */
@media screen and (min-width:799px){
    .sp {display:none;}
}

/* カウントダウンパーツ -------------------------------- */
.header_count{
  width: 100%;
  display: flex;
  align-items: center;
}

.header_zaiko{
  max-width: 400px;
  text-align: right;
  margin: 0% 0% 0% auto;
}

.fukidashi {
    position: relative;
    display: inline-block;
    margin-right: 14px;
    padding: 4px 6px 4px 70px;
    background-color: #85b5cc;
    text-align: left;
    max-width: 400px;
    font-size: 14pt;
    font-weight: bold;
    color: #000000;
    background-image: url(../image/zaiko_image.png);
    background-repeat: no-repeat;
    background-position: 10px calc(50% + 2px);
    background-size: 50px auto;
    font-size: 20px;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-style: normal;

    @media screen and (max-width: 800px) {
      background-image: none;
      padding: 4px 6px;
      font-size: 15px;
    }
}

.fukidashi::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  border-style: solid;
  border-width: 11px 0 11px 14px;
  border-color: transparent transparent transparent #85b5cc;
  translate: 100% -50%;
  @media screen and (max-width: 800px) {
    border-width: 8px 0 8px 12px;
  }
}

.count_text{
  display: inline-block;
  font-size: 28px;
  color: #405896;
  background-color: #fff;
  padding: 0 5px;
  @media screen and (max-width: 800px) {
    font-size: 20px;
  }
}

@media screen and (max-width: 800px) {
  .header h1.logo{
    float: left;
    width: 20%;
    max-width: 150px;
    min-width: 120px;
    margin: 4% auto 0% 3%;
    line-height: 100%;
  }

  .header div.header_menu {
    width: 20%;
    min-width: 80px;
    max-width: 120px;
    padding: 1% 0% 0% 0%;
  }
}
