@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;700&display=swap');
/* .zen-maru-gothic-regular {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 400; font-weight: 700;  どちらか
  font-style: normal;
} */
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;500;900&display=swap');
/* .zen-kaku-gothic-new-light {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 300; font-weight: 500; font-weight: 900;
  font-style: normal;
} */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
/* .noto-serif-jp {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
} */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
/* .noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
} */
@import url('https://fonts.googleapis.com/css2?family=Pinyon+Script&display=swap');
/* .pinyon-script-regular {
  font-family: "Pinyon Script", cursive;
  font-weight: 400;
  font-style: normal;
} */
@import url('https://fonts.googleapis.com/css2?family=Alex+Brush&display=swap');
/* .alex-brush-regular {
  font-family: "Alex Brush", cursive;
  font-weight: 400;
  font-style: normal;
} */


#main { min-height:calc(100vh - 190px);}

/* ---------------------------------------------
 font
--------------------------------------------- */
body,select,input,button,textarea {
    font-size:1.4rem; color:#333;
    font-family:'Noto Sans JP', sans-serif,"游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif;
    font-weight:400;
}

.f_serif { font-family:'Noto Serif JP', serif; }
.f_letterspace { letter-spacing:.3em; margin-left:.3em; }

/* ---------------------------------------------
 text
--------------------------------------------- */
.wysiwyg_content p + *,
.p + * { margin-top:20px; padding:0; line-height:2; }
.instagram { font-size:.9em; color:#666; }
.x { font-size:.9em; color:#666; }
.facebook { font-size:.9em; color:#666; }
.note { font-size:.9em; color:#666; }
.note { font-size:.9em; color:#666; }
.note { font-size:.9em; color:#666; }

.lead { margin:2em auto; width: 100%; max-width: 780px; }
.lead p { font-size:1.6rem; color:#482700; line-height:2; }
.lead p + * { margin-top:2em; }
@media screen and (max-width:767px) {
    .lead { margin:1em auto; max-width:90vw; }
    .lead p { font-size:1.5rem; line-height:1.8; }
    .lead p + * { margin-top:0; }
}

/* ---------------------------------------------
 h
--------------------------------------------- */
h1.pagetitle { font-family: 'Noto Sans JP'; font-size:min(4.2rem,8vw); font-weight:200; text-align:center;
  margin-top:min(40px,4vw); margin-bottom:min(70px,8vw); padding:0; }
.h2 { color:#444; margin:0 0 1em 0; text-align:center; display:block; min-width:180px; margin: 0 auto; padding: 5px 0;
  /*position: absolute; top:-60px; right: 0; left: 0; */ }
  h1.h2 { color:#000; margin:1em 0; }
  h1.pagetitle span.en,
  .h2 span.en { display:inline-block; font-size:5rem; font-family: "Pinyon Script"; font-weight: 400; font-style: normal;
    text-shadow: 2px 1px 0 #fff, 0 0 2px #fff; }
  h1.pagetitle span.jp,
  .h2 span.jp { display: block; font-size: 1.3rem; font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-weight: 800; font-style: normal;}
.h3,
.wysiwyg_content h3 { color:#000; font-weight:600; font-size:2.2rem; margin:2em 0 0.5em 0; font-family:'Noto Sans JP', sans-serif; }
.h4,
.wysiwyg_content h4 { font-size:1.7rem; color: #2DABD5; font-family:'Noto Sans JP', sans-serif; font-weight:700; margin:20px 0 10px; }
.h5,
.wysiwyg_content h5 { color:#333; font-weight:bold; margin-top:1em; }
@media only screen and (max-width:767px) {
  h1  { font-size:3.4rem; }
  .h2 span.en  { font-size:4rem; }
}

/* ---------------------------------------------
 a
--------------------------------------------- */
a { color:#654A2E; transition: .2s; text-decoration:none; }

a.link { margin:3px 0; display:inline-block; font-family:'Noto Sans JP', sans-serif; font-weight: 700; font-size: 1.5rem; }
a.link:after { font-family:"Font Awesome 5 Free"; content:'\f061'; font-weight:900; margin-left:5px; display:inline-block;
  transition:.2s; }
a.link:hover:after { transform:translateX(2px); }

a.newwin { text-decoration:none; margin-top:0.5em; display:inline-block; font-family:'Noto Sans JP', sans-serif; }
a.newwin:after { font-family:"Font Awesome 5 Free"; content:'\f24d'; font-weight:400; margin-left:5px; }

/* ---------------------------------------------
 btn
--------------------------------------------- */
a.btn { margin:10px auto; width: 200px; display:block; color:#000; text-align:center; text-decoration:none;
  transition: .2s; background-color:#EEECDD; position:relative; padding:20px 20px; cursor: pointer; }
a.btn:hover { text-decoration:none; background-color:#e2e0d1; }
a.btn::after { content:'\f35a'; display:inline-block; margin-left:0.5em; font-family:"Font Awesome 5 Free"; font-weight:900;
  transition:.2s;  }
a.btn:hover::after { transform:translateX(2px); }


/* ---------------------------------------------
 list
--------------------------------------------- */
/*.article ul li,*/
ul.list { margin:0em auto 0; padding:1em 0 0 3em; text-align:left; }
ul.list li { list-style-type:none; padding:0 0 .5em 0; margin-left:-2em; }
ul.list li:before { content:"-"; margin:0 0.5em 0 -1em; position:relative; width:1em; }

.wysiwyg_content ul,
ul.list1 { margin:0em auto 0; padding:1em 0 0 3em; text-align:left; line-height: 1.8; }
.wysiwyg_content ul li,
ul.list1 li { list-style-type:none; padding:0 0 .5em 0; margin-left:-2em; }
.wysiwyg_content ul li:before,
ul.list1 li:before { content:"・"; margin:0 0.2em 0 -1em; position:relative; width:1em; }

ul.list0 { padding-top:7px; text-align:left; }
ul.list0 li { padding:0 0 7px 12px; line-height:1.5; list-style:none; }

ul.idt { margin-left:1.3em; line-height:1.7;}
ul.idt li { text-indent:-1.3em; text-align:left; padding:0 0 10px; background:none;}
ul.idt li span { font-weight:bold; color:#378; margin-right:2px;}

ol { margin:0 0 20px 1.7em; list-style:decimal outside; }
ol li { padding:0 0 10px 2px; line-height:1.5; }

ol.num { margin:0 auto 20px auto; padding:0 0 0 5rem; list-style:decimal outside; font-size:1.5rem; list-style:none; counter-reset:num; max-width:950px; /*width:100%;*/ }
ol.num li { padding:0 0 10px 0; line-height:1.8; margin-left:-2rem; }
ol.num li:before { counter-increment:num; content:counter(num)"."; color:#666;; font-weight:100; margin:0 1rem 0 -2.2rem; font-size:1.5rem; }
    ul.list2 li ol.num li:before { top:0px; }
ol.num li.num_k:before { counter-increment:num; content:counter(num)"."; color:#333; font-weight:100; margin:0.1rem 1rem 0 -2.2rem; }

ul.inlineblock li { position:relative; display:inline-block; letter-spacing:normal; margin-right:25px; }
ul.inlineblock li img { vertical-align:middle; margin:3px;}

@media only screen and (max-width:767px) {
    ul.list li { max-width:calc(100% + 2em); }
}

/* ---------------------------------------------
  横並びグリッド
--------------------------------------------- */
.cols { display:flex; flex-wrap:wrap; }
.cols .col { box-sizing:border-box; position: relative; }
.cols .col:after { content:""; display:table; clear:both; }

/* レイアウト:横2つ  */
.cols2 { margin-right:-40px; }
.cols2 .col { width:calc(50% - 40px); }
.cols2 .col { margin:0 40px 40px 0; }

/* レイアウト:横3つ  */
.cols3 { margin-right:-30px; }
.cols3 .col { width:calc(33.3% - 30px); }
.cols3 .colspan2 { width:66.6%; }
.cols3 .col { margin:0 30px 30px 0; }

/* レイアウト:横4つ  */
.cols4 { margin-right:-20px; }
.cols4 .col { width:calc(25% - 20px); }
.cols4 .colspan2 { width:50%;}
.cols4 .col { margin:0 20px 20px 0;}

@media only screen and (max-width:1080px) {
    .cols3 { margin-right:-15px; }
    .cols3 .col { margin-right:15px; margin-bottom:15px; }
}

@media only screen and (max-width:767px) {
    .cols2,
    .cols3 { margin-left:auto; margin-right:auto; }
    .cols.cols2 .col,
    .cols.cols3 .col { width:100%; margin:0 auto 30px; }
    .cols2,
    .cols3 { margin:0 0 10px !important; }
    .cols.cols1sp { margin-left:auto; margin-right:auto; }
    .cols.cols1sp .col {width:100%; margin:0 auto; }
    .cols1sp { margin:0 0 10px !important; }
    .cols2sp { margin-right:-3vw; }
    .cols2sp .col { width:50%; margin:0; }
    .cols2sp .col { margin:0 3vw 3vw 0 !important; }
}

/* ---------------------------------------------
 .img
--------------------------------------------- */
a.img  { overflow:hidden; display:block; }
a.img img  { transition:transform .2s; width:100%; height:100%; }
a.img_hover:hover img  { transform:scale(1.05); }

/* ---------------------------------------------
 table
--------------------------------------------- */
table.tbl { margin: 50px auto; font-size: 1.6rem; border-top: 1px solid #ccc; width: 100%; background:#fafafa; }
table.tbl tr { border-bottom:1px solid #ccc; }
table.tbl th { color: #333; padding:20px; font-weight: 800; vertical-align: top; line-height: 1.8; white-space: nowrap; }
table.tbl td { color: #666; padding:20px; text-align: left; vertical-align: top; line-height: 1.8; }
table.tbl td a { color: #3D4584; text-decoration:none; }
table.tbl td a:before { font-family: "Font Awesome 5 Free"; content: '\f35a'; font-weight: 900; margin-right:0.3em; }
table.tbl td a:hover,
table.tbl td a:hover:before { color: #33808d; }
@media only screen and (max-width: 767px) {
    table.tbl { width: 100%; font-size: 14px; margin-bottom:50px; }
    table.tbl th { border-bottom: none; display: block; width: 100%; padding: 3px 0; }
    table.tbl td { border-bottom: none; display: block; width: 100%; padding: 3px 0 20px 0; font-size: 1.4rem; }
}

/* -----------------------------------
contents
-------------------------------------*/

#container { padding:0 0 10px 0; margin:0; max-width:none; position: relative; z-index:1; }
section { margin:0 auto; padding:0 0 80px 0; font-size:1.5rem; }
section .contentsinner { width:90vw; max-width:900px; margin: 0 auto; }
section:after { content:''; display:block; clear:both; }
article { margin:0 auto; max-width:100%; }
.archive #container { min-height: 70vh; }

@media only screen and (max-width:767px) {
  
  section { font-size:1.6rem; }
  .contentsinner { min-width:0; }
}

.g_map_area { width: 100%; /* max-width: 1024px; */ margin: 0 auto; }
.g_map { position: relative; width: 100%; padding-top: 50%; /* 2:1のアスペクト比  *//* padding-top: 75%; 4:3のアスペクト比 */ /* padding-top: 56.25%; */ /* 16:9のアスペクト比 */ height: 0; }
.g_map iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }
@media only screen and (max-width:767px) {
  .g_map_area { /* width: 90vw; */ }
  .g_map { padding-top: 75%; /* 4:3のアスペクト比 */}
}


@media only screen and (max-width:767px) {
	.spTbl tr,
	.spTbl th,
	.spTbl td { display:block; width:inherit !important; }
	.spTbl td { padding-top: 5px; }
}

/* ------------------------------------
common
------------------------------------ */
.breads { max-width:90vw; width:1024px; margin:0 auto; }
.breads .bread { display:inline-block; }
.breads .bread a::after { content:'>'; display:inline-block; margin:0 5px; }

/* ------------------------------------
header
------------------------------------ */
#header { width: 100%; margin: 10px auto 30px auto; }
#header .contentsinner { width: 100%; max-width: 1024px; margin: 0 auto; }

#header .head_navi ul { display: flex; align-items:center; justify-content:start; position: relative; }
#header .head_navi ul li.sitelogo { padding-top: 1em; }
#header .head_navi ul li.sitelogo a { color: #000; font-size: 3.0rem; font-family: "Noto Serif JP", serif; font-optical-sizing: auto; font-weight: 300; font-style: normal; }
#header .head_navi ul li.sitelogo a span { color: #333; display: block; font-size: 0.6em; font-family: "Zen Kaku Gothic New", sans-serif; font-weight: 300;font-style: normal;}
#header .head_navi ul li.onkyo { display: none; }
#header .head_navi ul li a { color: #000; position: relative; transition:0.2s; display:block; text-decoration:none; padding:0 .8em; }
#header .head_navi ul li a:hover { transform:translateY(-3px); }

#header .head_navi ul li.nav a:hover { transform:none; }
#header .head_navi ul li.nav a::after { content:''; width:0%; height:2px; display:block; position:absolute; bottom:-5px; left:0; right:0; margin:auto; background:#000; transition:.2s; }
#header .head_navi ul li.nav a:hover:after,
body.op1 #header .head_navi ul li.nav.add1 a:after,
body.op2 #header .head_navi ul li.nav.add2 a:after,
body.information #header .head_navi ul li.nav.info a:after,
body.postinformation #header .head_navi ul li.nav.info a:after,
body.contact #header .head_navi ul li.nav.contact a:after
{ width:100%; }

#header .head_navi ul li.sns { position:absolute; top:-2px; right:-3px; }
#header .head_navi ul li.sns ul li { padding:0; text-align:center; }
#header .head_navi ul li.sns ul li a { display:inline-block; text-align:center; }
#header .head_navi ul li.sns ul li img { display:inline-block; width:calc(100% - 10px); max-width:initial; }
#header .head_navi ul li.sns ul li.instagram { width:27px; }
#header .head_navi ul li.sns ul li.instagram img { width:15px; }
#header .head_navi ul li.sns ul li.x { width:26px; }
#header .head_navi ul li.sns ul li.x img { width:15px; }
#header .head_navi ul li.sns ul li.facebook { width:29px; }
#header .head_navi ul li.sns ul li.facebook img { width:15px; }
#header .head_navi ul li.sns ul li.note { width:45px; }
#header .head_navi ul li.sns ul li.note img { width:34px; }
#header .head_navi ul li.sns ul li.youtube { width:29px; }
#header .head_navi ul li.sns ul li.youtube img { width:16px; }
#header .head_navi ul li.sns ul li.tiktok { width:25px; }
#header .head_navi ul li.sns ul li.tiktok img { width:11px; }
#header .sitelogo_sp { display: none; }


@media (min-width: 768px) and (max-width: 1024px) {
  #header .head_navi { padding: 0 1%; }
  #header .head_navi ul li.sitelogo a { font-size: 2.4rem; }
  #header .head_navi ul li a { font-size: 1.3rem; }
}
@media screen and (max-width:960px) {
  #header .sitelogo_sp { display: block; margin: 10px 0 0 5%; }
  #header .sitelogo_sp a { color: #000; font-size: 3.0rem; font-family: "Noto Serif JP", serif; font-optical-sizing: auto; font-weight: 300; font-style: normal; }
  #header .sitelogo_sp a span { color: #333; display: block; font-size: 1.8rem; font-family: "Zen Kaku Gothic New", sans-serif; font-weight: 300;font-style: normal;}
  #header .head_navi>ul { display: block; font-size: 1.7rem; }
  #header .head_navi ul li { padding: 0.5em 5%; text-align: center; }
  #header .head_navi ul li.sitelogo { display: none; }
  #header .head_navi ul li.sns { position: relative; top:initial; bottom:initial; width:100%; margin-top:20px; right:10px; }
  #header .head_navi ul li.sns ul { justify-content:center; padding:0 0 5px; border-radius:5px; transform:scale(1.2); }
  #header .head_navi ul li.onkyo { display: block; margin-top:5px; }
  #header .head_navi ul li.onkyo img { width:90px; margin: 0 auto; display: block; }
}

.hamburger-menu { display: block; position: static; width: 100%; z-index:1100; }
#menu__toggle,
.menu__btn { display: none; position: relative; z-index: 20000; }
.menu__box { position: static; width: 100%; }
/*
@media only screen and (max-width:767px) { */
@media only screen and (max-width:960px) {
  .hamburger-menu { display: block; position: fixed; top: 15px; right: 15px; width: 50px; height: 50px; z-index:1100; }
  #menu__toggle { opacity: 0; overflow: hidden; position:absolute; }
  #menu__toggle.open + .menu__btn > span { transform: rotate(45deg);}
  #menu__toggle.open + .menu__btn > span::before { top: 0; transform: rotate(0deg); }
  #menu__toggle.open + .menu__btn > span::after { top: 0; transform: rotate(90deg); }
  #menu__toggle.open ~ .menu__box { right: 0 !important; }
  #menu__toggle.open ~ .menu__btn { background: #f6f6f6; }
  #menu__toggle:checked + .menu__btn > span { transform: rotate(45deg);}
  #menu__toggle:checked + .menu__btn > span::before { top: 0; transform: rotate(0deg); }
  #menu__toggle:checked + .menu__btn > span::after { top: 0; transform: rotate(90deg); }
  #menu__toggle:checked ~ .menu__box { right: 0 !important; }
  /*#menu__toggle:checked ~ .menu__btn { background: #f6f6f6; }*/
  .menu__btn { top: 0px; right: 0px; position:relative; width: 50px; height: 50px; display:block; cursor: pointer; z-index: 3000; border: none; padding: 5px;  transition:transform .1s; }
  .menu__btn:hover { transform:scale(.95); }
  .menu__btn > span,
  .menu__btn > span::before,
  .menu__btn > span::after { display: block; position: absolute; top: 24px; transition-duration: .25s; 
    width: 40px; height:3px; border-radius:2px; background-color: #111; box-shadow: 0 2px 0 rgba(255,255,255,.85); }
  .menu__btn > span::before { content: ''; top: -15px; }
  .menu__btn > span::after { content: ''; top: 15px; }
  .menu__box { display: block; position: fixed; top: 0; right: -100%; width: 250px; height: 100%; margin: 0;
    background-color: #F9F9F5; box-shadow: 2px 2px 5px rgba(0, 0, 0, .4);
    padding:60px 0; list-style: none; transition-duration: .25s; z-index: 1000; 
    }
}

/* ------------------------------------
mainv_area
------------------------------------ */
.mainv_area { position: relative; padding: 30px 0; /* display: inline-block; */ }
.mainv_area .mainv_bg { display: block; width: 100%; /* max-width: 100%; */ height: auto; margin: 0 auto; }
.mainv_area .mainv {
  display:block; margin:0 auto;
  /* position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; height: 100%; */
}
.main_catch { text-align: center; font-family: "Noto Serif JP", serif; font-optical-sizing: auto; font-style: normal; padding:0 0 70px 0; }
.main_catch .h { font-weight: 400; font-size: 2.5rem; padding: 0 0 10px 0; }
.main_catch .h::first-letter { font-size: 2.0em; }
.main_catch p { font-weight: 200; font-size: 1.6rem; padding-bottom: 20px; color:#000; }

@media only screen and (max-width:767px) {
  .main_catch { padding:0 5% 50px 5%; }
  .main_catch .h { font-size: 2.2rem; }
}

/* ------------------------------------
news
------------------------------------ */
#section-news { padding: 50px 0; width: 100%; background-color:#F9F6F2; }
#section-news .news_h { padding:0 0 20px 0;; position: relative; overflow: hidden; font-style: normal; color:#444; }
#section-news .news_h::before { content: ""; display: block; width: 100%; height: 0; border-bottom: 1px solid #ccc; position: absolute; bottom:50px; left: 100px; z-index: 10; }
#section-news .news_h span.en { font-family: "Pinyon Script", cursive; font-weight: 400; font-size: 5.0rem;  }
#section-news .news_h span.jp { display:inline-block; transform:translate(10px,-20px); font-size:1.2rem; }
#section-news h3 { margin-top: 0; margin-bottom: 1em; }
#section-news p { margin-bottom: 2em; }
#section-news p.date { margin-bottom: 0; color: #aaa; padding-bottom: 1em; font-family: "Noto Serif JP", serif; font-optical-sizing: auto; font-weight: 600; font-style: normal; }
#section-news img.news_img { float: right; margin: 0 0 30px 30px; }

#section-news dl { display: flex; flex-wrap: wrap; width:calc(100% - 50px); margin-left: 50px; font-size: 1.4rem; line-height: 1.5; }
#section-news dl dt { width:100px; color: #888; padding-bottom: 1em; font-family: "Noto Serif JP", serif; font-optical-sizing: auto; font-weight: 600; font-style: normal; }
#section-news dl dd { width: calc(100% - 120px); padding-bottom: 1em; }
#section-news dl dd a { color: #000; }
#section-news dl dd a:hover { color: #654; }

@media only screen and (max-width:767px) {
  #section-news { padding: 30px 0; }
  #section-news .contentsinner { width: 90vw; margin: 0 5vw; }
  #section-news .news_h { padding:0 0 20px 5%; }
  #section-news .news_h span.en { font-size: 4.0rem; }
  #section-news dl { display: block; max-width: 90vw; margin: 0 5vw; }
  #section-news dl dt { width: 100%; margin-right: 0px; padding-bottom: 0.2em; }
  #section-news dl dd { width: 100%; padding-bottom: 1.5em; }
}

body.single #section_area > .contentsinner { padding-top:min(60px,6vw); }
body.single #section_area > .contentsinner > .time { margin-bottom:20px; }

/* ------------------------------------
Lesson
------------------------------------ */
#section-lesson { padding: 50px 0; width: 100%; }
#section-lesson img { display: block; margin: 20px auto; max-width: 400px; }
#section-lesson p { margin-bottom: 30px; }
@media (min-width: 768px) and (max-width: 1024px) {
  #section-lesson .contentsinner { width: 94vw; margin: 0 3vw; }
}
@media only screen and (max-width:767px) {
  #section-lesson { padding: 30px 0; }
  #section-lesson .contentsinner { margin:0 auto; }
  #section-lesson .contentsinner h3 { margin:1em 0 0.5em 0; }
}
/* ------------------------------------
free_area
------------------------------------ */
.freearea, #section-free { padding:0 0 50px 0; width: 100%; }
.freearea img, #section-free img { display: block; margin: 30px auto; width: 100%; max-width: 425px; }
.freearea p, #section-free p { margin-bottom: 30px; }
@media (min-width: 768px) and (max-width: 1024px) {
  .freearea .contentsinner,
  #section-free .contentsinner { width: 94vw; margin: 0 3vw; }
}
@media only screen and (max-width:767px) {
  .freearea,
  #section-free { padding: 30px 0; }
  .freearea .contentsinner,
  #section-free .contentsinner { width: 90vw; margin: 0 5vw; }
  .freearea .contentsinner h3,
  #section-free .contentsinner h3 { margin:1em 0 0.5em 0; }
}

/* ------------------------------------
profile_area
------------------------------------ */
#section-profile { padding:80px 0 50px 0; width: 100%; }
#section-profile .prof_frm { border: #F0F0E8 15px solid; padding:0 80px 50px 80px; width: 100%; position: relative; box-sizing: border-box; }
#section-profile .prof_frm h2.h2 { margin-top:-50px; }
#section-profile .prof_frm .prof { display: flex; padding:0; padding-top:min(80px,5vw); }
#section-profile .prof_frm .prof .img { width: 250px; height: 300px; clip-path: ellipse(125px 150px at 50% 50%); margin-right: 50px; }
#section-profile .prof_frm .prof .img img { object-fit: cover; width: 250px; height: 100%; }
#section-profile .prof_frm .prof .txt { font-family: "Noto Serif JP", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; }
#section-profile .prof_frm .prof .txt .name { font-size: 3.0rem; margin-bottom: 20px; }

@media only screen and (max-width:767px) {
  #section-profile { padding:50px 0 30px 0; }
  #section-profile .prof_frm { border: #F0F0E8 15px solid; padding:0 20px 30px 20px; }
  #section-profile .prof_frm .prof { display: block; }
  #section-profile .prof_frm .prof .img { margin:0 auto 30px auto; }
}
/* ------------------------------------
access_area
------------------------------------ */
#section-access { padding:50px 0; width: 100%; }
#section-access .contentsinner { max-width:initial; width:initial; }
#section-access h2 { margin-bottom: 20px; }
#section-access p { text-align: center; margin-bottom: 20px; }
#section-access p span { margin: 0 20px 0 0; }
#section-access p span:last-child { margin-right: 0; }
#section-access p a.tel::before { content:'\f095'; display:inline-block; margin-right:0.5em; font-family:"Font Awesome 5 Free"; font-weight:900; }
#section-access .g_map_area,
#section-access .g_map_area .g_map,
#section-access .g_map_area .g_map iframe { min-height:440px; max-height:640px; }

@media only screen and (max-width:767px) {
  #section-access { padding:0px 0 20px 0;}
  #section-access p span { display: block; margin: 0 0px 5px 0; }
  #section-access p span.class_name { font-size: 1.2em; }
}

/* ------------------------------------
contact_area
------------------------------------ */
#section-contact { padding:50px 0 80px 0; width: 100%; font-family: "Noto Serif JP", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; }
#section-contact h2 { font-size: 2.0rem; margin:0 auto 40px auto; padding:20px 50px; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; display: table; text-align: center; font-family: "Noto Serif JP", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; }
.fukidashi { color: #000; text-align: center; font-size: 1.5rem; }
.fukidashi:before,
.fukidashi:after { display: inline-block; content: ""; background: #707070;/* 斜め線の色 */ width: 1px;/* 斜め線の太さ */ height: 2.5em;/* 斜め線の長さ */ margin: 0 1em;/* テキストとの間に左右余白をつくる */ margin-top: 0em;/* 斜め線の位置調整 */ vertical-align: middle; }
.fukidashi:before { transform: rotate(-35deg);/* 角度調整 */ }
.fukidashi:after { transform: rotate(35deg);/* 角度調整 */ }
.fukidashi p { display: inline-block; line-height: 1.2; }
#section-contact .tel_num { font-size:min(3.5rem,8vw); text-align: center; font-weight:700; display:block; color:#392613; }
#section-contact .tel_num::before { content:'\f095'; display:inline-block; margin-right:0.1em; 
  font-family:"Font Awesome 5 Free"; font-weight:900; transform:scale(.7); }
#section-contact .tel_num::after { content:''; display:inline-block; margin-left:.8em; }

@media only screen and (max-width:767px) {
  #section-contact { padding:30px 0; }
  #section-contact h2 { padding:20px 5%; }
}

/* ------------------------------------
privacy
------------------------------------ */
#privacy { padding: 50px 0; width: 100%; }
#privacy p { margin-top: 1em; }
@media only screen and (max-width:767px) {
  #privacy { padding: 30px 0; }
  #privacy .contentsinner { width: 90vw; margin: 0 5vw; }
}
ul.entrylist { margin:50px 3vw 0; }
ul.entrylist li { margin:30px 0 0; }
ul.entrylist li .date { color:#888; }
ul.entrylist li p.title { font-weight:600; }

/* ------------------------------------
  footer
------------------------------------ */
footer { padding:0; margin:0; position: relative; color: #392613; }
footer a { text-decoration:none; }

footer .foot { background:#F9F9F5; padding: 30px 0; }
footer .foot .contentsinner { max-width: 1024px; width: 100%; margin: 0 auto; }
footer .foot .contentsinner ul.link_sns { display:flex; margin: 0 auto 20px auto; justify-content: center; }
footer .foot .contentsinner ul.link_sns li { margin: 0 10px; }
footer .foot .contentsinner ul.link_sns li a { position: relative; transition:0.2s; display:block; text-decoration:none; }
footer .foot .contentsinner ul.link_sns li a:hover { transform:translateY(-3px); }
footer .foot .contentsinner ul.links { display:flex; justify-content:center; align-items:flex-end; flex-wrap:wrap; margin-bottom: 20px; }
footer .foot .contentsinner ul.links li { }
footer .foot .contentsinner ul.links li a { position: relative; transition:0.2s; display:block; text-decoration:none; padding:0 .8em; }
footer .foot .contentsinner ul.links li a:hover { transform:translateY(-3px); }
footer .foot .contentsinner ul.links li.onkyo img { width: 100px; }
footer .foot .contentsinner #copyright { display:block; font-size: 1.3rem; text-align: center; }

@media (min-width: 768px) and (max-width: 1024px) {
  footer .foot .contentsinner ul.links { justify-content:space-around; font-size: 1.3rem; }
}
@media only screen and (max-width:960px) {
  footer .foot { padding: 20px 5%; font-size: 1.3rem; }
  footer .foot .contentsinner { margin: 0 auto; display:block; text-align: center; }
  footer .foot .contentsinner ul.link_sns { margin: 0 auto 10px auto; }
  footer .foot .contentsinner ul.links { display: none; }
}

/*トップへ戻るボタン*/
.topBtn {
  transition:all .2s; /*aタグにtransitionを使っている場合入れる*/
  position:fixed; /*固定*/
  bottom:90px; /*場所を右下に移動*/
  right:10px; /*場所を右下に移動*/
  display:block; /*aタグをblock要素に変更*/
  width: 50px; height: 50px; background: #F9F9F5; border-radius: 50%;
  z-index:1000; }
.topBtn:before { font-family: "Font Awesome 5 Free"; content: '\f077'; font-weight: 900; font-size: 25px; color: #654A2E;
  position: absolute; width: 25px; height: 25px; top: -3px; bottom: 0; right: 0; left: 0; margin: auto; text-align: center;
  transition:.2s; }
.topBtn:hover { opacity:1.0; transform: none; /*aタグにtransitionを使っている場合入れる*/ }
.topBtn:hover::before { transform:translateY(-3px); }
@media only screen and (max-width: 767px) {
    .topBtn:hover { background: #eeeedf; }
}

@media only screen and (max-width:767px) {
	img { max-width:100%; height:auto; }
	.hidePC { display:inherit !important; }
	.hideSP { display:none !important; }
    /* .spscroll table{ width:100%; } */
	.spscroll { overflow:auto; }
	.spscroll::-webkit-scrollbar{ height:5px;}
	.spscroll::-webkit-scrollbar-track{ background:#F1F1F1;}
	.spscroll::-webkit-scrollbar-thumb { background:#BCBCBC;}
}

/*

お問い合わせページ
------------------------------------------------*/
form.wpcf7-form input[type="text"],
form.wpcf7-form input[type="email"],
form.wpcf7-form input[type="tel"],
form.wpcf7-form textarea { width:97%; padding:5px; border:1px solid #ccc; border-radius:5px; }
form.wpcf7-form table.tbl { margin:0 auto 30px; }
form.wpcf7-form table.tbl + p { text-align:center; padding-left:30px; }

form.wpcf7-form input[type="button"],
form.wpcf7-form input[type="submit"] {
  position:relative; display:inline-block; cursor:pointer;
  color:#fff; font-size:1.5rem; text-align:center;
  width:min(250px,60vw); padding:18px; margin:0 10px;
  background-color:#555; border-radius:5px;
  /* background:linear-gradient(0deg, rgb(100,100,100) 0%, rgb(50,50,50) 100%);  */
  border:none !important; outline:none !important;
  transition:background-color .2s;
}
form.wpcf7-form input[type="button"]:hover,
form.wpcf7-form input[type="submit"]:hover
 { background:#000; }
form.wpcf7-form .wpcf7-spinner {
  margin:0 10px;
}

body.contact-thanks #section_area .contentsinner {
  min-height:calc(100vh - 420px);
  text-align:center;
}
body.contact-thanks #section_area .contentsinner .wysiwyg_content {
  display:inline-block;
  text-align:left;
}
body.contact-thanks #section_area .contentsinner .wysiwyg_content p {
  text-align:left;
}

.grecaptcha-badge { visibility: hidden; }
