@charset "UTF-8";
/****************************************
Resetting
*****************************************/
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, 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 {
	border: 0;
	font-size: 100%;
	font: inherit;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

 

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, main,hgroup, menu, nav, section {
	display: block;
}

body {
      
    }
ol,ul,li{
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

input[type="submit"],
input[type="button"],
input[type="reset"]{
	appearance: button;
	border: none;
	border-radius: 0;
	box-sizing: border-box;
	cursor: pointer;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
}

a{
	text-decoration: none;
}

img{
     width: 100%;
     max-width: 100%;
     width :auto;
     height:auto;
     vertical-align:bottom;
}

/******************************************
normarise
******************************************/
*{
	box-sizing:border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}

html {
	-webkit-font-smoothing: antialiased;
}


body{
	background: #fff;
	color: #333333;
	font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
	font-weight: 400;
}

a{
	color: #333333;
}

a:hover{
	color: #999;
	opacity: 0.5;
	transition: 0.5s;
}
.underline{
	text-decoration: underline;
	
}


i {
}

html {

}

h1 {
  font-size: clamp(2rem, 6vw, 4rem);
  line-height: 1.2;
  letter-spacing: 0.02em;
}

h2 {
  font-size: clamp(1.2rem, 3.8vw, 1.8rem);
  line-height: 1.4;
  letter-spacing: 0.01em;
}

h3 {
  font-size: clamp(1.1rem, 2.5vw, 1.5rem);
  line-height: 1.5;
  letter-spacing: 0.005em;
}

h4 {
  font-size: clamp(1rem, 2.5vw, 1.2rem);
  line-height: 1.8;
  letter-spacing: 0.01em;
}

h5 {
  font-size: clamp(1rem, 2.5vw, 1.2rem);
  line-height: 1.8;
  letter-spacing: 0.01em;
}

h6 {
  font-size: clamp(1rem, 2.5vw, 1.2rem);
  line-height: 1.8;
  letter-spacing: 0.01em;
}

p {
  font-size: clamp(0.9rem, 2.0vw, 1.0rem);
  line-height: 1.8;
  letter-spacing: normal;
}
/******************************************
clearfix
******************************************/
.clearfix:after {
	content: ".";
	clear: both;
	display: block;
	height: 0;
	visibility: hidden;
}

.clearfix {
	display: inline-table;
}  
/* Hides from IE-mac \*/
* html .clearfix {
	height: 1%;
}  
.clearfix {
	display: block;
}  
/* End hide from IE-mac */

/****************************************
Layout
*****************************************/
/*flexbox*/
.flex{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
	-webkit-flex-wrap:wrap;
}
.flex--start{
	justify-content: flex-start;
	-webkit-justify-content: flex-start;
}

.flex--center{
	justify-content: center;
	-webkit-justify-content: center;
}
.flex--end{
	justify-content: flex-end;
	-webkit-justify-content: flex-end;
}

.flex--bet{
	justify-content: space-between;
	-webkit-justify-content: space-between;
}

/*col*/
.col2{
	width:48%;
}

.col3{
	width:30%;
}

.col4{
	width:25%;
}

.col5{
	width:18.4%;
}

.col6{
	width:15%;
}

.inner {
	margin: 0 auto;
	width: 1125px;
}

/*  PC 以下 */
@media only screen and (max-width:1024px){
.inner {
	margin: 0 auto;
    width: 85%;
}
}

/* タブレット 以下 */
@media only screen and (max-width:896px){
	
.inner {
	margin: 0 auto;
    width: 90%;
}
	
}

.inner--short{
	margin: 0 auto;
	width: 68%;
}

/*  PC 以下 */
@media only screen and (max-width:1024px){
.inner--short {
	margin: 0 auto;
    width: 100%;
}
}

/* タブレット 以下 */
@media only screen and (max-width:896px){
	
.inner--short {
	margin: 0 auto;
    width: 100%;
}
	
}

.inner--400{
	margin: 0 auto;
	width: 400px;
}

/*  PC 以下 */
@media only screen and (max-width:1024px){
.inner--400 {
	margin: 0 auto;
    width: 100%;
}
}

/* タブレット 以下 */
@media only screen and (max-width:896px){
	
.inner--400 {
	margin: 0 auto;
    width: 100%;
}
	
}

/****************************************
PC非表示
*****************************************/
.nonpc {
	display: none;
}
@media only screen and (max-width:896px){
	.nonpc {
	display: block;
}
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 640px) {
.pc { display: none !important; }
.sp { display: block !important; }
}

 /***************************************
youtube
*****************************************/

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}

 /***************************************
Google MAP
*****************************************/

.ggmap {
  margin: 2em auto;
  position: relative;
  width: 100%;
	padding: 0;

}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
  width: 100% !important;
	padding: 0;
	vertical-align: bottom;

}


/***************************************
Google カレンダー
*****************************************/
.cal_wrapper {
  max-width: 800px; /* 最大幅 */
  min-width: 300px; /* 最小幅 */
  margin: 2.0833% auto;
}
 
.googlecal {
  position: relative;
  padding-bottom: 100%; /* 縦横比 */
  height: 0;
  overflow: hidden;
}
.googlecal iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
 
@media only screen and (min-width: 600px) {
  /* 画面幅が600px以上の場合の縦横比の指定 */
  .googlecal {
    padding-bottom: 100%;
  }
}

/****************************************
レイアウト
*****************************************/
/*中央寄せ、左寄せ、右寄せ*/
.algC { text-align: center; }
.algL { text-align: left; }
.algR { text-align: right; }

/*文字色・文字背景色*/
.mk-red { color: #FF0000; }
mark.mk-pink { background:  linear-gradient(transparent 40%, #ffcccc 0%); padding-bottom: 2px;}

.mk-blue { color: #79DFFF; }
mark.mk-sky { background: #B2ECFF; }

.mk-orange { color: #EF8841; }
mark.mk-lemon { background: linear-gradient(transparent 40%, #FFFF00 0%); padding-bottom: 2px; }

mark.mk-gray { background: linear-gradient(transparent 60%, #DDDDDD 0%); color: #E94506;  }

.mk-white { color: #fff; }
mark.mk-lime { background: #00cdb3; }

/*文字サイズ*/
.xx-small { font-size: xx-small; }
.x-small { font-size: x-small; }
.small { font-size: small; line-height: 1.8em; }
.medium { font-size: medium; }
.large { font-size: large; }
.x-large { font-size: x-large; }
.xx-large { font-size: xx-large; }

/*余白の設定*/
.pdg2em { padding: 2em; }
.pdgB2em { padding: 0 0 2em 0; }
.pdgTB24 { padding: 24px 0; }
.pdg24 { padding: 24px; }
.pdgLR24 { padding: 0 24px; }
.pdgT24 { padding: 24px 0 0 0; }
.pdgLR2em { padding: 0 2em; }
.pdgB1em { padding: 0 0 1em 0; }
.pdgTB15em { padding: 1.5em 0; }
.pdgT05em { padding: .5em 0 0 0; }
.pdgTB4em { padding: 4em 0; }
.pdgT5em { padding: 5em 0 0 0; }



.mgnB10em { margin: 0 0 10em 0; }

/*画像サイズ指定*/

.img300 {
	width: 300px;
	margin: 0 auto;
}
.img200 {
	width: 200px;
	margin: 0 auto;
}
.img50 {
	width: 50%;
	margin: .5em auto;
}

.image-radius {
	border-radius:10px;
}

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

}




/************************************
** お問い合わせフォームの入力
************************************/
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea,
.field {
  display: block;
  width: 100%;
  height: 45px;
  margin-bottom: 0;
  padding: 0 12px;
  border: 0;
  border-radius: 3px;
  background-color: #eff1f5;
  box-shadow: none;
  color: #5c6b80;
  font-size: 1em;
  vertical-align: middle;
  line-height: 45px;
  transition: background-color 0.24s ease-in-out;
}
textarea {
  max-width: 100%;
  min-height: 120px;
  line-height: 1.5em;
  padding: 0.5em;
  overflow: auto;
}
@media(max-width:500px) {
    .inquiry td,
    .inquiry th {
        display: block !important;
        width: 100% !important;
        border-top: none !important;
        -webkit-box-sizing: border-box !important;
        -moz-box-sizing: border-box !important;
        box-sizing: border-box !important
    }
    .inquiry tr:first-child th {
        border-top: 1px solid #d7d7d7 !important
    }
    .inquiry .any,
    .inquiry .haveto {
        font-size: 10px
    }
}
.inquiry th {
    text-align: left;
    font-size: 14px;
    color: #444;
    padding-right: 5px;
    width: 30%;
    background: #f7f7f7;
    border: solid 1px #d7d7d7
}
.inquiry td {
    font-size: 13px;
    border: solid 1px #d7d7d7
}
.entry-content .inquiry tr,
.entry-content table {
    border: solid 1px #d7d7d7
}
.haveto {
    font-size: 7px;
    padding: 5px;
    background: #ff9393;
    color: #fff;
    border-radius: 2px;
    margin-right: 5px;
    position: relative;
    bottom: 1px
}
.any {
    font-size: 7px;
    padding: 5px;
    background: #93c9ff;
    color: #fff;
    border-radius: 2px;
    margin-right: 5px;
    position: relative;
    bottom: 1px
}
.verticallist .wpcf7-list-item {
    display: block
}
.wpcf7-list-item-label {
	padding-right: 5px;
}
#formbtn {
    display: block;
    padding: 15px;
    width: 350px;
    background: #ffaa56;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    border-radius: 2px;
    margin: 25px auto 0
}
#formbtn:hover {
    background: #fff;
    color: #ffaa56;
    border: 2px solid #ffaa56
}

input,
select,
textarea {
    border: 1px solid #dfdfdf;
    letter-spacing: 1px;
    margin: 0;
    max-width: 100%;
    resize: none
}



.wpcf7 input[type="submit"] {
	font-size: 100%;
	padding: 1em 0.4em;
	background: #333;
	width:50%;
	text-align:center;
	color: #fff;
	font-weight:bold;
	cursor: pointer;
	border: 1px solid #ccc;
	margin:2em 25%;
}

.wpcf7 input[type="button"] {
	font-size: 100%;
	padding: 1em 0.4em;
	background: #ccc;
	width:50%;
	text-align:center;
	color: #fff;
	font-weight:bold;
	cursor: pointer;
	border: 1px solid #ccc;
	margin:2em 25%;
}


.wpcf7 input[type="button"]:hover {
	background: #666666;
}


.wpcf7 input[type="submit"]:hover {
	background: #666666;
}

.wpcf7 span.wpcf7-not-valid-tip {
	font-size: 100%;
}

label {
	padding-right:10px;
}

.wpcf7 .wpcf7-response-output {
    margin: 10px 0;
    padding: 8px 35px 8px 14px;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
}
    .wpcf7 .wpcf7-validation-errors {
        color: #B94A48;
        background-color: #F2DEDE;
        border: 1px solid #EED3D7;
    }
    .wpcf7 .wpcf7-mail-sent-ok {
        color: #3A87AD;
        background-color: #D9EDF7;
        border: 1px solid #BCE8F1;
    }

.sent .hidden {
display: none;
}

/* Contact Form 7 reCAPTCHA v3 ロゴ位置 */
.grecaptcha-badge {
  bottom: 30px !important;
}

/*リンクの際のサムネールをレスポンシブ*/
iframe.wp-embedded-content { max-width: 100%; margin: 1em auto;}



