@charset "utf-8";
*::before, * {
 margin:0px;
 padding:0px;
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 -o-box-sizing: border-box;
 -ms-box-sizing: border-box;
 box-sizing: border-box;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0px;
	padding: 0px;
	border: none;
	background: transparent;
	font-style:normal;
	font-size: 100%;
	vertical-align: baseline;
}
 @media print {

.sp {
	display: none;
}
}

/* ------------------- */
body {font-family: 'Noto Sans JP', sans-serif;
	text-align: center;
	color: #333;
	font-weight: 600;
	line-height: 1;
}
a:link, a:visited {
	text-decoration: none;
}
a:hover {
	color: #999;
}
img {
	max-width: 100%;
	border:none;
}
ul li {
	list-style-type: none;
}
h2, h3, h4, h5, h6, li, dl {
	line-height: 1.6em;
}
h2{
	font-weight: 900;}
p {
	line-height: 1.8em;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
.nonborder, area {
	border: none;
	outline: none;
}
.catch, .catchSub {
	font-weight:900;
}
#hrCLEAR {
	clear: both;
	border-top: 1px solid #C8C8C8;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	height: 20px;
}
/* ------ */
#wrapper {
	width: 100%;
	overflow: hidden;
}
/* --------- footer ---------- */

footer {
border-top: 2px solid #783208;
padding: 100px 0;
}

footer address{padding: 20px 0 60px;
line-height: 3em;
font-size: .875rem;
}
#Copyright {
	font-size: .688em;
	padding: 80px 0 0;
}
footer ul{
display: flex;
justify-content: center;
}

footer ul li{
font-size: .875rem;
padding:  0 2em;
border-left: 1px solid #CCC;}

footer ul li:last-child{border-right: 1px solid #CCC;}

footer ul li a:hover{
text-decoration: underline}
 #pageTop {
 position: fixed;
 bottom: 60px;
 right: 10px;
}
/* ------ */
table {
	border:none;
	border-collapse:collapse;
}
.aRIGHT {
	text-align: right;
}
.aCENTER {
	text-align: center;
}

.ss {
	font-size: .75em;
}
.ssB {
	font-size: .688em;
	font-weight: bold;
	color: #333;
}
.bb {
	font-weight: bold;
}

.Inner {
	margin: auto;
}
.boxLine {
	border-radius:6px;
}


/**/
#mainArea{
position: relative;
overflow: hidden;
}
#mainKV{
position: absolute;
top: 0; right: 0;
width: 100%;
z-index: -1;
}

#mainKV::after{
position: absolute;
bottom:0;
right: 0;
left: 0;
content: "";
background: url("../images/main-bg.png") no-repeat center bottom;

width: 100%;
}
#mainKV .kv{}



#mainKV .main01{
background: url("../images/main-01.jpg") no-repeat center top / cover;
}
#mainKV .main02{
background: url("../images/main-02.jpg") no-repeat center top / cover;
}
#mainKV .main03{
background: url("../images/main-03.jpg") no-repeat center top / cover;
}



/**/
.listPOINT{
position: absolute;
bottom: 10%;
display: flex;
margin: auto;
width: 60%;
margin: auto;
justify-content: center;
max-width: 1020px; 
left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
}
.listPOINT li{
width: calc(100% / 3);
}

.listPOINT li img{
width: 100%}

/**/

.Date{
background: #02930A;
color: #FFF;
padding: 1.6em 0;
border-radius:20px;
position: relative;display: flex;
align-items: center;
justify-content: center;

}
.Date p{
font-size: 2.5rem;
font-weight: bold;
}
.Date p a{
display: block;
margin: 0 0 0 3em;
}
.Date .check{
position: absolute;
left: -60px;
top: -60px;
}

.Date strong{
display: inline-block;
position: relative;
}
.Date strong::after{
content:"";
position:absolute;
height: 6px;
background: #FFFF00;
width: 100%;
left: 0;
bottom: 0;}

/**/
#Intro .txt{
text-align: left;
}

#Intro .flexPC figure img{
border-radius: 600px;
}
/**/
.slick-slide {
  transition: opacity 1.2s ease-in-out !important;
  background-color: #000; /* 背景を統一してチラつき防止 */
}

.slick-slide img {
  display: block;
  width: 100%;
  height: auto;
}
#Intro{

padding:80px 0;
background: url("../images/bg-intro.png") no-repeat center top / 100%;
}


#Intro h2{
font-size: 3rem;
margin: 1.5em 0;
color: #000;
}

#Intro .txt p{
font-size: 1.375rem;
line-height: 2.4em;
}
/* ---------1---------- { contents } ----------------------- */

#Contents {
position:relative;
}

/**/
.CV{
background: #FEE64E;
padding: 80px 0
}

.CV .lead{
display: flex;
justify-content: space-between;
align-items:flex-start;
padding: 0 0 30px;
}

.CV .lead h2{
margin-top: -40px;
}
.CV .lead p{
text-align: left;
font-weight: bold;
font-feature-settings: "palt";
font-size: 1.875rem;
}

.CV .lead p strong{
color: #ff0000;
}
.CV .boxCV{
position: relative;
background: #35A541;
border: 20px solid #35A541;
border-radius:20px;
}

.CV .boxCV .Ikkyu{
position: absolute;
top:  -80px;    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);

}
.CV .boxCV  ul{
justify-content: center;
padding:  .6em;
display: flex;
}
.CV .boxCV  ul li{
font-weight: 800; color: #ffff00;
font-size: 2.25rem;
padding:  0 0 0 1.688em;
margin: 0 0 0 1.8em;
background: url("../images/ico_check-y.png") no-repeat left center;
}
.CV .boxCV .Inn{
display: flex;
justify-content: center;
align-items: center;
padding:  24px 0;
background: #FFF
}

.CV .boxCV a[href^="tel:"]{font-family: "Roboto", sans-serif;
font-size: 56px; font-weight: bold;
padding: 0 1em 0 1.2em;
background: url("../images/ico_tel.png") no-repeat left 2px / .88em;
color: #000;
display: block;
}
.CV .boxCV a span{
display: block;
font-size: 20px;
padding:  .4em 0 0;
}
.is-ihpne .CV .lead p{
width: 400px;
}
/**/

#Onayami{
background: #E1EFF7 url("../images/bg-onayami.png") no-repeat center top;
padding: 80px 0 0}

#Onayami h2{
font-size: 3rem;
color: #093eaa;
margin:  0 0 .8em;}

#Onayami img{
vertical-align: bottom}
/**/

#WelcomeCafe{
padding: 80px 0;
background: url("../images/bg-sodan.jpg") no-repeat center top;
}
#WelcomeCafe h2{
	font-size: 3.75rem;
	margin: 0 0 .8em;
	color: #34a541;
}

#WelcomeCafe .Inner{
background-color: #FFF;
background-image: url("../images/onayami-chara-01.png"), url("../images/onayami-chara-02.png");
background-position: left bottom, right bottom;
background-repeat: no-repeat, no-repeat;
border-radius:20px;
margin-top: 100px;
position: relative;
}

#WelcomeCafe ul{
padding: 50px 0;
display: inline-block;
}

#WelcomeCafe .Inner .example{
position:  absolute;
left:  -20px;
top:  -100px;}


#WelcomeCafe .Inner ul li{
text-align: left;
font-size: 2.25rem;
font-weight: bold;
padding:  .4em 0 .4em 1.4em;
background: url("../images/ico-check-b.png") no-repeat left .88em / 1em;}


#WelcomeCafe .Inner .boxLine h3{
font-weight: 900;
display: flex;
justify-content: center;
color: #ff0000;
font-size: 2.5rem;
margin: 0 0 .6em;
}
#WelcomeCafe .Inner .boxLine{
border: 6px solid #ffe400;
border-radius:20px;
margin: 0 auto;
width:96%;
padding: 30px 0 50px;
}


#WelcomeCafe .Inner .boxLine dt,
#WelcomeCafe .Inner .boxLine dd{
font-size: 1.875rem;
line-height: 1.8em;
font-weight: bold;
}



#WelcomeCafe .Inner .boxLine dd{
	color: #34a541;
}


#WelcomeCafe .staff{


padding: 8em 0 4em;
background: url("../images/arrow-g.png") no-repeat center top;
}
#WelcomeCafe .staff p{
font-size: 2.25rem;
font-weight: 900;
color: #000;
}
#WelcomeCafe .staff p strong{
font-size: 2.875rem;
color: #ff0000;
}

/**/


#Voice h2,#FAQ h2{
font-size: 2.25rem;
text-align: center;
color: #000;
margin: 0 0 1em;
display: inline-block;
padding: .4em 2em;
background: url("../images/ico-tit-v.png") no-repeat left center, url("../images/ico-tit-v.png") no-repeat right center;}

#Voice h2 em,#FAQ h2 em{
font-style: normal;
color: #ac30b1;
}
#Voice{
padding: 60px 0;
background-size: auto auto;
background-color: rgba(234, 219, 246, 1);
background-image: repeating-linear-gradient(90deg, transparent, transparent 3px, rgba(240, 232, 246, 1) 3px, rgba(240, 232, 246, 1) 6px)
}

#Voice .Column .box{
text-align: left;
background: #FFF;
padding:  1.5em 1em;
border-radius:16px;
width: 23.4%;}


#Voice .Column .box img{
display: block;
margin:0 auto .8em;
width: 40%;
}

#Voice .Column .box p{
margin:  .6em 0 0;
font-size:  1rem;
}
/**/

#FAQ {
padding: 80px 0;
background: #FFF url("../images/bg-faq.jpg") no-repeat center bottom;}
#FAQ p.catch{
font-size:  1.875rem;
color: #ac30b1;
}
#FAQ .box{
width: 32%;
padding:  1.6em;
border-radius:16px;
background: #FFF;
text-align: left;
border:  4px solid #ac30b1;}
#FAQ .box h3{
font-size: 1.5rem;
margin:  0 0 .8em;
padding: 0 0 0 1.4em;
text-indent: -1.4em;
color: #ac30b1;
}
#FAQ .box p{
font-size: 1rem}
/**/

#tenpoLIST{
padding:60px 0 20px;
background: #F3EDDD
}
#tenpoLIST .Column{
justify-content: flex-start;
flex-wrap:wrap;
}

#tenpoLIST h2{
margin: 0 0 1.4em;
font-size:1.875rem;
color: #000;}
#tenpoLIST h2 img{
margin: auto;
display: block;
width: auto;
height: 2em
}

#tenpoLIST .tenpo{
text-align: left;
width:280px;
margin: 0 0 26px 26px;
}

#tenpoLIST .tenpo img{
border-radius:10px;
}
#tenpoLIST .tenpo:nth-of-type(1),
#tenpoLIST .tenpo:nth-of-type(5){
margin-left: 0;
}
#tenpoLIST .tenpo h3{
font-size: 1.375rem;
padding:  .6em 0;

}


#tenpoLIST .tenpo dt{
font-size: .75rem;
color: #FFF;
background: #773208;
width: 5em;
font-weight: normal;
border-radius:4px;
text-align: center;
float: left;
}


#tenpoLIST .tenpo dd{
font-size: .938rem;
padding: 0 0 1em 4.4em;
}
#tenpoLIST .tenpo p strong{
	color: #ff0000;
	font-weight: normal;
}

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


h2 {

}
h2:before {
	content: '';
	position: absolute;
	bottom: -15px;
	display: inline-block;
	width: 3em;
	height: 2px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
a {
	text-decoration: underline;
	color:#4d4d4d;
}

p {
	line-height: 1.85em;
}
.txtL {
	font-size: 1.75em!important;
	font-weight: bold;
	color: #333;
}
.txtL strong {
}
p.txtLL {
	font-size: 3em;
	font-weight: bold;
}
li .txtLL {
	font-size: 1.5em;
}
ol {
	margin: 0 0 2em 1.68em;
}
.boxLine p, .boxLine ul, .boxLine ol {
	margin-top: .6em;
	margin-bottom: .6em;
	padding: 0!important;
}
p.boxLine {
	text-align: center;
	font-weight: bold;
}
ol.olIroha {
	list-style-type: katakana-iroha;
}
ol li {
	padding: .3em 0;
	list-style: decimal;
}
ol ul li {
	list-style: disc;
}
li {
	line-height: 1.85em;
}
/* ----- */
ul.listNormal {
	margin: 0 0 0 .4em;
	clear: none;
}

ul.listNormal li {
text-align: left;
	position: relative;
	padding: .3em 0 .3em 1em;
}
ul.listNormal li::after, ul.listNormal li::before {
 position: absolute;
 left: 0;
 margin: auto;
 content: "";
 vertical-align: middle;
}
ul.listNormal li::after {
}
ul.listNormal li::before {
top: 1em;
width: 8px;
 height: 8px;
 border-top: 2px solid #ccc;
 border-right: 2px solid #ccc;
 -webkit-transform: rotate(45deg);
 transform: rotate(45deg);
}





/* ---------- note ------- */


ul.listNote {
	margin: 1em 0 2em .6em;
}
ul.listNote li {
	padding-left: 1.2em;
	text-indent: -1.18em;
	line-height: 1.6em;
}

/* -------------- Column ---------- */

.Column{
display: flex;
justify-content:space-between;
}


.boxLine {
	padding: 15px;
	margin-bottom: 2em;
}

.gMAP {
	height: 450px;
}
.pctR, .pctL {
	font-size: .875em;
}

/* --------- form ---------- */
#formCo{
text-align: left;
padding: 80px 0;}

#formCo.finish p{
margin: 3em 0;
text-align:center}

#formCo.finish p a{
text-decoration: underline}
.hissu{
width: 4em;
border-radius:4px;
color:#FFF;
font-size: 12px;
line-height: 18px;
text-align:center;
display:inline-block;
background:#CC0066;

}
li .hissu{
vertical-align:middle;
margin: 0 0 2px;
}

#formCo h2{background: #783208;
text-align: center;
color: #FFf;
padding: .8em 0; border-radius:10px;
font-size: 1.875rem;
margin: 0 0 1em;
}
#formCo table {
	width: 100%;
}
#formCo .tblForm{
padding: 2em;
background:#FAF9E4;
border-radius:20px;
}
#formCo.confirm .tblForm{
margin-top: 3em}
#formCo label {
	cursor: pointer;
}
#formCo th, #formCo td {
	color: #333;
	text-align:left;
	padding: 1.2em 1em;
	vertical-align: top;
	line-height: 1.5em;
	border-top:2px solid #fff;
	vertical-align: middle
}
#formCo tr:nth-of-type(1) th,
#formCo tr:nth-of-type(1) td{
border: 0
}

#formCo th {
	width: 26%;
	position: relative;
	font-weight: normal;
}


#formCo td {
	padding-right: 0;
}

#formCo td .flexPC{
justify-content: flex-start;
}

#formCo td .flexPC label{
padding-left: 1.6em;
}

#formCo td textarea,
#formCo td input {
	width: 96%;
}
#formCo td input[type="radio"], #formCo td input[type="checkbox"] {
	width: 20px;
	height: 20px;
	display: inline-block;
}

label {
	cursor: pointer;
}
#formCo .fieldL {
	width:97%
}
#formCo th {
}
#formCo select {
	font-size:1em
}

#formCo td hr {
	clear:both;
	height:1px;
	margin:5px 0;
	padding:0;
	border:0
}
#formCo td hr {
	clear:both;
	height:1px;
	margin:5px 0;
	padding:0;
	border:0
}
.error {
	color:red
}
#formCo .boxLine {
	text-align: left;
	width: 900px;
	margin: 0 auto 2em;
}
#formCo td select, #formCo td input, #formCo td textarea {
	background: #FFF;
	border: 1px solid #F4F4F4;
	padding: .6em;
	margin: 5px;
	font-size: 1.063em;
	line-height: 1.6em;
	vertical-align: middle;
	border-radius: 4px;
}
#formCo td textarea {
	line-height:1.6em;
	padding:10px;
}
#formCo #btnSend {
	margin: 0 auto;
	text-align: center;
	padding: 3em 0 0;
}
#formCo #btnSend input {
border: 0;
background: #783208;
	cursor:pointer;
	margin:0 auto;
	border-radius: 50px;
	color:#fff;
	font-weight:bold;
	transition:all 1.0s;
	position: relative;
	padding: 1em 4em;
	font-size: 1.125rem;
}
#formCo #btnSend input+input {
	margin-left: 20px;
}
#formCo #btnSend input.Back {
	background:#ccc;
}
td.tdCheck label {
	padding: .4em 1em .4em 0;
}
.error-message, .error, .err {
	color:#FF0000;
}

::placeholder {
 color: #ccc;
}


:focus::-webkit-input-placeholder {
color: #F7F7F7;
}
:focus:-moz-placeholder {
color: #F7F7F7;
}
:focus::-moz-placeholder {
color: #F7F7F7;
}
:focus::placeholder {
color: #F7F7F7;
}
#formCo .btnR a {
	color: #FFF;
	padding: .6em 1em;
	display: inline-block;
	text-decoration: none;
	border-radius: 50px;
	font-size: .938em;
}
#formCo td a, #formCo .boxLine a {
	color: #E8452C;
}
#formCo #btnSend input::after {
 content: "";
 display:inline-block;
 width: 0;
 height: 0;
 border-top: solid 6px transparent;
 border-right: solid 6px transparent;
 border-bottom: solid 6px transparent;
 border-left: solid 6px #FFF;
 margin-top:-6px;
 position: absolute;
 top: 50%;
 right: .8em;
}

#formCo td p{
margin: 5px 0;
}
/**/
#formCo input.day {
		background-color: #FFF;
        background: #FFF url(../images/ico_calendar.png) no-repeat 10px center;
        background-size: 24px auto;
        padding-left: 50px;
        width: 14em;
        cursor: pointer;
    }

/* ----- radio -------- */

input[type="radio"] {
	display: none;
}
input[type="radio"] + label {
	cursor: pointer;
	margin-right: 20px;
}
input[type="radio"] + label::before {
 width: 1em;
 height: 1em;
 display: inline-block;
 content: "";
 border-radius: 50px;
 vertical-align: middle;
 border: 1px solid #ddd;
 background-color: #f0f0f0;
 margin: -2px 5px 0 0;
 -webkit-transition: .1s;
 transition: .1s;
}
input[type="radio"] + label:hover {
	color: #808080;
}
input[type="radio"] + label:hover::before {
 background-color: #fff;
}
input[type="radio"]:checked + label {
	cursor: default;
}
input[type="radio"]:checked + label::before {
 box-shadow: inset 0 0 0 4px #fff;
}
/**/
/* -- privacyBox -- */


#formCo #privacyBox {
	border: 1px solid #ccc;
	background: #F6F6F6;
	padding: 1.5em;
	text-align: left;
	height: 16em;
	overflow: auto;
	margin: 0 0 3em;
}
#formCo h3 {
text-align: center;
	font-size: 1.5rem;
	font-weight: normal;
	margin: 3em 0 1em
}
#formCo #privacyBox h4 {
	font-weight: normal;
	font-size: 1.063em;
	text-align: left;
	margin: 0 0 1em 0;
	padding: 1em 0;
	border-bottom: 1px solid #ccc;
}
#formCo #privacyBox li, #formCo #privacyBox p {
	font-size: .875em;
}
#formCo #privacyBox p, #formCo #privacyBox ul {
	margin: 0 0 1.6em
}
#formCo #privacyBox li {
	padding: 0 0 .2em 1em;
	text-indent: -1em
}

/* ------ pc only ------ */
@media screen and (min-width:768px) {

body{
font-size: 1.063rem}

a:hover img {
 filter: alpha(opacity=75);
 -moz-opacity:0.75;
 opacity:0.75;
}

.fix {
	position: fixed;
	right: 10px;
	top: 60px;
	z-index: 10;
}
.fix a {
	transition: opacity 0.6s;
}
.fix a:hover img{
	  opacity: 1;
  -ms-filter: "alpha(opacity=100)";
  filter: alpha(opacity=100);
}

 .sp, .btnClose, #menuSP, .contactAreaSP, .menuCommonSP, #btnPC, .sliderSP, #contactSPh {
 display: none!important;
}

 hr.lineDotted {
 margin: 2em 0;
 padding-top: 2em;
}

/* ------------------- { header } ----------------------- */


 header {
 padding: 20px 0;
 margin: auto;
 width: 60%;
 min-width: 600px;
 max-width: 980px;
}



 #Contents{
 min-width: 1240px;
 }
 a[href^="tel:"]{
 pointer-events: none;
cursor: text;
}
 .flexPC{
 display: flex;
 justify-content: space-between;
 }
.Inner{
width: 1200px;
}
/**/
.CV .Inner{
	width:940px;
}
.CV .boxCV ul li{
	font-size:2rem}
	.CV .boxCV .Inn{
		padding:40px 0}
/**/
#mainArea{
position: relative;
height: 100vh;
overflow: hidden;
min-width: 1240px;
}
#mainKV{
position: absolute;
top: 0; right: 0;
width: 100%;
height: 100vh;
z-index: -1;
}

#mainKV::after{
position: absolute;
bottom:0;
right: 0;
left: 0;
content: "";
background: url("../images/main-bg.png") no-repeat center bottom;
background-size:100% 100%;
width: 100%;
height:26vh;
}
#mainKV .kv{
height: 100vh;}


#mainArea,#mainKV,#mainKV .kv{
min-height: 650px;}
#mainKV .main01{
background: url("../images/main-01.jpg") no-repeat center top / cover;
}
#mainKV .main02{
background: url("../images/main-02.jpg") no-repeat center top / cover;
}
#mainKV .main03{
background: url("../images/main-03.jpg") no-repeat center top / cover;
}
/**/
#Intro .flexPC .txt{
width: 580px;}
#WelcomeCafe .Inner .boxLine dl{
display: flex;
flex-wrap: wrap;
justify-content: center;
justify-content:space-between;
}
#WelcomeCafe .Inner .boxLine dt{
width: 60%;
text-align: right;
}

#WelcomeCafe .Inner .boxLine dd{
width: 40%;
text-align: left;
padding-left: .2em;
}
#WelcomeCafe .Inner .boxLine h3 br{
display: none;
}th .hissu{
position:absolute;
right:2em;    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}#formCo td .flexPC label:nth-of-type(1){
padding-left: 0
}
/*　閉じタグ　*/
}



.iPad .fix{
top: 200px;
}
.iPad header{
width: 80%;
max-width: unset;}
.iPad .listPOINT{
bottom: 20%;
width: 90%;}

.iPad #mainArea, .iPad #mainKV, .iPad #mainKV .kv{
max-height: 80vh;
height: 80vh;
min-height: 80vh;}

.iPad #mainKV::after{
height:180px;
}
.iPad .Date .check{
left: 10px;
}
.iPad{
margin-top:-2px}