@charset "shift_jis";

:root {
  --cl-white:#fff;
  --cl-gray:#efefef;	
  --cl-text: #333;
  --cl-pale: #f5f5f5;
  --cl-vivid: #9b0505;
  --cl-base: #e8eced;	
	--cl-base2: #96cbbe;	
  --cl-dark: #245a2b;
	--font-base:"Kosugi Maru","Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	--font-en-text:	Montserrat", Arial, Helvetica,"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}


/*==============================================
    font-family: 'BIZ UDPGothic', sans-serif;

  font-family: 'Sawarabi Gothic', sans-serif;

    font-family: 'Sawarabi Mincho', serif;

==============================================*/

/*==============================================
body
==============================================*/

*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body{
  text-align: center;
  font-size: 15px;
	font-family: var(--font-base);
	color: var(--cl-text);
	background-color: var(--cl-white);
}
@media screen\0 {
  body {	 }
}


div.wrapper{

}
div.contentsArea{
	width: 80%;
    margin: 0 auto;
    max-width: 1000px;
}

		@media screen and (max-width:1094px) { 
		div.contentsArea{ width: 80%; max-width: 800px; }
		}
		@media screen and (max-width:600px) { 
		div.contentsArea{ width: 94%; }
		}
.header{
	padding: 0 0 2em 0;
    margin-bottom: 1.5em;
	background-color: #96c4b9;
	font-family: "Noto Sans JP", sans-serif;
}
.header .logoBlock{
	background-color: #fff;
    margin-bottom: 1em;
    padding: 1em 0;	
}
.header .logoBlock img{
	width: 150px;
	height: auto;
}

.header h1{	
	font-size: 37px;
	color: #fff;
	line-height: 1;
}/*
.header h1::before{
	content: "";
    display: inline-block;
    width: 50px;
    height: 50px;
    background-color: red;
    background-image: url('	https://takigawa.co.jp/img/publishing/bg52/img_cover01.jpg');
    background-position: center;
    background-size: contain;
}*/
.header h1 p{	
	font-size: 12px;
    margin-bottom: 7px;
}
.header h1 span{
	display: block;
}



		@media screen and (max-width:600px) { 
			.header h1{	 font-size: 25px; line-height: 1.2;}
		}


footer{
	background-color: #97c1b7;
    padding: 15px 0;
    letter-spacing: 1px;
}
footer p{
	font-size: 13px;
	letter-spacing: 1px;
	color: #fff;
}


p{
	line-height: 1.6;
}

/*==============================================
common
==============================================*/

.note{
	padding: 40px 0;
    font-size: 21px;
	line-height: 1.6;
}

.note .obi-title{
	margin-bottom: 1em
}
.note .obi-title span{
	background-color: #ebf4e3;
    padding: 9px 5em;
    font-weight: bold;
    color: #33334c;
}

@media screen and (max-width:600px) { 
	.note .obi-title span{
		padding: 9px 1em;
		
	} 
}

::placeholder{	color:#E5E5E5;}


p.front{
	display: flex;
	align-items:center;
	letter-spacing: 2px;
    padding: 17px 0 4px 0px;
	font-size: 15px;
}
p.front span{
	background-color: #c93b56;
    color: #fff;
    font-size: 10px;
    border-radius: 5px;
    margin-left: 7px;
	padding: 1px 5px 3px 5px;
}
.em-fr{font-weight: bold;}
p.back{
    width: 98%;
    margin-top: 0.2em;
    box-sizing: border-box;
    font-size: 14px;
    letter-spacing: 1px;
    color: var(--cl-dark);
    background-color: #f0f7e6;
    padding: 0.5em;
}

@media screen and (max-width:500px) { 
	p.front{ padding-top: 10px} 
}



.short{	width: 40%;}
@media screen and (max-width:500px) { .short{	width: 48%;} }

.short2{width: 40%;}
@media screen and (max-width:800px) { .short2{width: 60%;} }
@media screen and (max-width:500px) { .short2{width: 80%;} }
@media screen and (max-width:400px) { .short2{width: 90%;} }


/*==============================================
common
==============================================*/

.flexbox{ 
	display: flex;
	flex-wrap: wrap;
}
		@media (max-width:600px) {
				.flexbox{ 
					justify-content: space-between;
				}
		}

.radioBoxArea{
	display: flex;
	flex-wrap: wrap;
}
.radioBoxArea .radioBox{
	width: 30%;
}
		@media (max-width:600px) {
				.radioBoxArea .radioBox{
					width: 45%;
				}
		}

table.xf_block {
	margin: 2em 0;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: none;
  border-top: 1px solid #ccc;
  text-align: left;
}
table.xf_block th {
  box-sizing: border-box;
  font-size: 15px;
  font-weight: bold;
	padding: 0 0 0 23px;
	text-align: left;
  border-top: none;
  border-right: none;
  border-bottom: 1px solid #cccccc;
  border-left: none;
}

table.xf_block th span.xf_essential{
	color: #c93b56;
    padding: 2px 5px;
    font-size: 10px;
    letter-spacing: 1px;
}

table.xf_block th.xf_table_title{
    font-size: 18px;
    padding: 10px 0 10px 10px;
    border-left: none;
    background-color: var(--cl-base2);
    color: var(--cl-white);
    border: none;
    letter-spacing: 3px;
}

table.xf_block td{
	box-sizing: border-box;
	width: 70%;
	  padding: 7px 0 31px 20px;
	  border-bottom: 1px solid #cccccc;
	  border-left: none;
	  border-right: none;
	  border-top: none;
}

table.xf_block.xf_block0 td{
	width: 70%;
	  padding: 20px 0;
}






input[type="text"], input[type="tel"], input[type="email"], textarea{
width: 98%;
    padding: 12px 0 13px 5px;
    border: 1px solid #ACACAC;
    border-radius: 2px;
    background: var(--cl-pale);
    font-size: 16px;
    line-height: 1.3;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    display: inline-block;
    border-radius: 5px;
}

input[type="radio"],input[type="checkbox"]{
  margin-bottom:15px;
}
input[type="radio"]{
  margin-top: 10px;
}
input[type="radio"] + label{
  font-size: 16px;
}



input[type=checkbox] :checked+label::before {
background: cornflowerblue;
}

input[type=checkbox] + label{
	font-size: 15px;
    letter-spacing: 1px;
    margin-right: 14px;
}

input[type=checkbox]:checked + label, input[type="radio"]:checked + label{
  font-weight:bold;
  color: var(--cl-vivid);
	background-color: var(--cl-pale);
}

div.zip input[type="text"] {
  width: 250px;
}

select {
	width: 100%;
    padding: 13px 0 13px 12px;
    font-size: 1em;
    border-radius: 5px;
    border: 1px solid #ACACAC;
    font-weight: bold;
    background-color: var(--cl-pale);
    font-size: 14px;
}

input[type="submit"],
input[type="button"] {
	display: inline-block;
    text-decoration: none;
    background: var(--cl-vivid);
    border: 1px solid var(--cl-vivid);
    color: #FFF;
    border-radius: 6px;
    cursor: pointer;
    font-size: 20px;
    margin: 3em auto ;
    padding: 18px 0;
    transition: 0.7s;
    width: 80%;
	max-width: 500px;
}

input[type="submit"]:hover{
  background: #523473;
  border: 1px solid #523473;
}


@media screen and (min-width:769px) {
	.pc_display{
		display: block;}
	.sp_display{
		display: none;}
}



@media screen and (max-width:600px) {
  .sp_display{
    display: block;
  }
  .pc_display{
    display: none;
  }

	
	table.xf_block th{
    display: block;
    width: 100%;
    padding: 5px 0 5px 15px;
    text-align: left;
	border-right: none;
	border-left: none;
	}
	
    table.xf_block td{
		display: block;
        width: 100%;
        padding: 11px 10px 25px 10px;
        border-right: none;
        border-left: none;
    }

	
	input[type="text"], input[type="tel"], input[type="email"], textarea{
		width: 100%;
        box-sizing: border-box;
        padding: 12px 10px;
        border: 1px solid #ACACAC;
        border-radius: 4px;
        /* background: #FFF; */
        font-size: 16px;
        line-height: 1.3;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        outline: none;
        display: inline-block;
    }
	
}


p.img-full{
	margin: 2em 0
}
				@media screen and (max-width:864px) {
					p.img-full{
						width: 90%;
						margin: 2em auto;
					}
					p.img-full img{
						width: 100%;
						height: auto;	}


				}

.googlemapArea{
	clear:both;
	text-align:center;
	margin:50px auto;
	}
	
.googlemap {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
margin:0 auto;
}
.googlemap iframe {
position: absolute;
left: 0;
top: 0;
width: 100%;
	height: 500px;
}


			@media screen and (max-width: 1024px) {
			.googlemap {
			width: 100%;
			}
			.googlemap iframe {
			height: 100%;
			}
			}



/*
table.table-normal{
	width: 100%;
	border:1px solid #ccc;
}
table.table-normal tr{
	display: flex;
	flex-wrap:wrap;
}

table.table-normal th{
	width:20%;
	border-bottom:1px solid #ccc;
	border-right:1px solid #ccc;
	padding: 10px 0;

}
table.table-normal td{
	width:80%;
	border-bottom:1px solid #ccc;
	text-align: left;
	padding: 10px 0 10px 2em;
	box-sizing: border-box;
}
table.table-normal tr:last-child th,
table.table-normal tr:last-child td{
	border-bottom:none;
}

.number-cont{ display: flex; flex-wrap: wrap; align-items: flex-end;}
.number-cont div{width: 50%; max-width:200px; }
.number-cont p{ padding-left: 1em; font-size: 19px;}

*/
/*==============================================

==============================================*/

div.campaign-note{
	width: 80%;
    margin: 7em auto 3em auto;
    max-width: 1000px;
	text-align: left;
}

		@media screen and (max-width:1094px) { 
		div.campaign-note{ width: 80%; max-width: 800px; }
		}
		@media screen and (max-width:600px) { 
		div.campaign-note{ width: 94%; }
		}

div.campaign-note .title{
	text-align: center;
	margin-bottom: 3em;
}
div.campaign-note .title span{
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	border-bottom: 1px solid #222;
	padding-bottom: 5px;
}
div.campaign-note h5{
		margin-bottom:10px;
	margin-top: 1.5em;
	background-color: #f0f7e6;
	padding: 5px 0;
}
div.campaign-note h5 span{
	font-size: 16px;
}
div.campaign-note p{
	font-size: 14px;
	line-height: 1.4;
}
div.campaign-note p.strong{
	font-size: 18px;
}

div.campaign-note ul{
}
div.campaign-note ul li{
	margin-bottom: 5px;
	margin-left: 2em;
	line-height: 1.3;
}


@media screen and (max-width:500px) { 
.spNone{
	display: none;
}
}