@charset 'utf-8';

/* ============================
  ベース
/* ============================ */
img{
	vertical-align:bottom;
}

/*ホバーエフェクト*/
a {
	color:#333;
	text-decoration: underline;
}
a:hover{
	color:#333;
	text-decoration: none;
}

/*動く下線パターン1*/
.txt a{
	text-decoration: none;
	background: linear-gradient(#333,#333) 100% 100%/100% 1px no-repeat;
}
.txt_g a{
	text-decoration: none;
	background: linear-gradient(#0f7639,#0f7639) 100% 100%/100% 1px no-repeat;
}
.txt_w a{
	text-decoration: none;
	background: linear-gradient(#fff,#fff) 100% 100%/100% 1px no-repeat;
}
span.txt:hover,
.txt a:hover,
.txt_g a:hover,
.txt_w a:hover{
	animation: u_line .8s cubic-bezier(.23,1,.32,1) 0s;
}
@keyframes u_line{
	0%{background-size:100% 1px;background-position:100% 100%}
	50%{background-size:0 1px;background-position:100% 100%}
	51%{background-size:0 1px;background-position:0 100%}
	to{background-size:100% 1px;background-position:0 100%}
}
/*動く下線パターン2*/
.txt2 a{
	text-decoration: none;
	background: linear-gradient(#333,#333) 100% 100%/0 1px no-repeat;
	transition: background-size .4s cubic-bezier(.23,1,.32,1) 0s;
}
.txt2_g a{
	text-decoration: none;
	background: linear-gradient(#0f7639,#0f7639) 100% 100%/0 1px no-repeat;
	transition: background-size .4s cubic-bezier(.23,1,.32,1) 0s;
}
.txt2_w a{
	text-decoration: none;
	background: linear-gradient(#fff,#fff) 100% 100%/0 1px no-repeat;
	transition: background-size .4s cubic-bezier(.23,1,.32,1) 0s;
}
.txt2 a:hover,
.txt2_g a:hover,
.txt2_w a:hover{
	background-size: 100% 1px;
	background-position: 0 100%;
}

.red{
	color:#bf101d;
}


/*選択時の色*/

::-moz-selection {
    background: #ddd;
}

::selection {
    background: #ddd;
}

::-moz-selection {
    background: #ddd;
}

.fa {
    padding: 0 5px;
}


/*見出し*/

#content h1,
#content h2,
#content h3,
#content h4,
#content h5,
#content h6 {
	font-weight: bold;
	line-height: 1.2em;
	position: relative;
	margin: 2em 0 1em 0;
	padding:0;
}

#content h1 {
	font-size:2.5em;
	line-height: 1.6em;
	margin-bottom: 2em;
}
#content h2 {
	color:#111;
	margin: 0;
	padding:6rem 0 4rem 0;
	font-size: 2.6rem;
	line-height:1.4em;
	text-align:center;
}
#content h2>span{
	display:inline-block;
	text-align:left;
}
#content h2>span b{
	display:block;
	color:#bf101d;
	font-size: 1rem;
	font-weight:normal;
	line-height:1.2em;
}

#content h3 {
	font-size:1.7em;
}
#content h4 {
	font-size: 1.3em;
}
#content h5 {
	font-size: 1.1em;
}
#content h6 {
	font-size: 1.1em;
}


/* テーブル
----------------------------- */
#content table {
	line-height: 1.8em;
	width: 100%;
	margin: 1em 0;
	border-collapse: collapse;
	text-align: left;
	border-top: 1px solid #333;
}

#content table th {
	font-size:1.2rem;
	font-weight: bold;
	padding: 0.7em 1em;
	text-align: left;
	border-bottom:dashed 1px #333;
	word-break: break-all;
}

#content table td {
	padding: 1em;
	vertical-align: top;
	word-break: break-all;
}

#content table.tbl_head{
}
#content table.tbl_head th{
	padding: 2em 1em;
}

/*ボタンスタイル*/
.btn a{
	font-weight:bold;
	font-size:1.3rem;
	max-width:500px;
	line-height: 3.5em;
	display: block;
	margin: 1em auto;
	text-align: center;
	text-decoration: none;
	color: #fff;
	background-color: #bf101d;
	position: relative;
	-moz-border-radius: 2em;
	-webkit-border-radius: 2em;
	border-radius: 2em;
}


ul.red_disc li::marker{
  color:#bf101d;
  font-size: 1.5em;
  line-height:1rem;
}


/*基本フォントサイズ*/
#content{
	color:#111;
	font-size: 1.1rem;
}
#content p{
	line-height:2em;
}

/*セレクトボックス（月別一覧）*/
.select-box{
	color:#333;
	font-size: 0.9em;
}
.select-box span{
	position: relative;
}
.select-box span::after{
	content: '';
	width: 10px;
	height: 10px;
	border: 0px;
	border-top: solid 1px #bf101d;
	border-right: solid 1px #bf101d;
	-ms-transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	position: absolute;
	top: 40%;
	right: 1.3rem;
	margin-top: -4px;
	pointer-events: none;
}
.select-box select{
	margin-left:0.2rem;
	padding:0 3em 0 1em;
	min-width: 13em;
	line-height:3em;
	height:3em;
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, .1) inset;
	background-color:#f8f8f8;
	-moz-border-radius: 2em;
	-webkit-border-radius: 2em;
	border-radius: 2em;
	cursor: pointer;
}
.select-box select:focus {
	outline: none;
}

/*  ヘッダ
----------------------------- */
header {
	width:100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	-moz-transition: height 0.3s;
	-o-transition: height 0.3s;
	-webkit-transition: height 0.3s;
	transition: height 0.3s;
	padding:1rem 1rem 0 1rem;
}

nav {
	position: relative;
	max-width:1300px;
	height:100px;
	margin:0 auto;
	padding:0 2rem;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: center;
    align-items: center;
	-moz-transition: height 0.3s;
	-o-transition: height 0.3s;
	-webkit-transition: height 0.3s;
	transition: height 0.3s;
	background:#fff;
}
nav #site-title {
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
nav #site-title a{
	display:block;
	width:350px;
	max-width:25vw;
}
nav #title .jma{
	display:block;
	line-height:1em;
	font-size: 0.65rem;
	font-weight: bold;
	padding-bottom:0.3rem;
}
nav #title .jma img{
	margin-right:0.5em;
	vertical-align: middle;
}

nav ul li a {
    display: block;
    text-decoration: none;
}



nav #pcnavi{
	margin-left: auto;
	padding-top:40px;
}
#pcnavi ul{
	display: flex;
	list-style: none;
	justify-content: flex-end;
}
#pcnavi ul li {
}
#pcnavi li a{
	font-size:0.9rem;
	font-weight:bold;
	padding:0 1rem;
	letter-spacing:0.1em;
	line-height:60px;
}
.btn_contact a{
	font-size:0.9rem;
	font-weight:bold;
	position: absolute;
	right:30px;
	top:-8px;
	display:block;
	width:20em;
	text-align:center;
	color:#fff;
	line-height:2.8em;
	background-color:#bf101d;
	-moz-border-radius: 2em;
	-webkit-border-radius: 2em;
	border-radius: 2em;
	text-decoration:none;
}
.btn_contact a img{
	vertical-align:middle;
	margin-right:0.5em;
	margin-bottom: 0.2rem;
	width: 2.5em;
}

/*スマホメニュー*/
nav #spnavi{
	margin-left: auto;
}
/* チェックボックスは非表示に */
.drawer-hidden {
  display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer-open {
  display: flex;
  height: 40px;
  width: 40px;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 100;/* 重なり順を一番上に */
  cursor: pointer;
}

/* ハンバーガーメニューのアイコン */
.drawer-open span,
.drawer-open span:before,
.drawer-open span:after {
  content: '';
  display: block;
  height: 1px;
  width: 40px;
  background: #bf101d;
  transition: 0.5s;
  position: absolute;
}

/* 三本線のうち一番上の棒の位置調整 */
.drawer-open span:before {
  bottom: 12px;
}
/* 三本線のうち一番下の棒の位置調整 */
.drawer-open span:after {
  top: 12px;
}
/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer-check:checked ~ .drawer-open span {
  background: rgba(255, 255, 255, 0);
}
/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer-check:checked ~ .drawer-open span::before {
  bottom: 0;
  transform: rotate(45deg);
  background: #fff;
}
#drawer-check:checked ~ .drawer-open span::after {
  top: 0;
  transform: rotate(-45deg);
  background: #fff;
}
/* メニューのデザイン*/
.drawer-content{
	width: 70%;
	margin-left:30%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 100%;/* メニューを画面の外に飛ばす */
	z-index: 99;
	transition: .5s;
	background: #333;
	overflow: scroll;
	/* IE, Edge 対応 */
	-ms-overflow-style: none;
	/* Firefox 対応 */
	scrollbar-width: none;
}
	/* Chrome, Safari 対応 */
	.drawer-content::-webkit-scrollbar {
		display:none;
	}

/* アイコンがクリックされたらメニューを表示 */
#drawer-check:checked ~ .drawer-content{
	left: 0;/* メニューを画面に入れる */
}
.drawer-content .menu_scroll{
	padding:5rem 4vw 7rem 4vw;
	min-height:100%;
	-webkit-overflow-scrolling: touch;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#spnavi .menu_scroll>div{
	width:48%;
}


#spnavi ul {
	margin:0;
	padding: 0;
	list-style:none;
}
#spnavi li {
	margin:0;
	padding:0;
}

#spnavi ul.menu>li{
	border-bottom: 1px dashed rgba(255,255,255, .3);
}

#spnavi li a{
	display:block;
	font-size:0.95em;
	font-weight:normal;
	padding: 1em;
	color:#fff;
	position: relative;
}

/*スモールヘッダー*/
header.smaller{
	background-color:#fff;
}
header.smaller nav{
	height:70px;
}
header.smaller nav #title .jma{
	display:none;
}
header.smaller nav #site-title a{
	width:300px;
}
header.smaller .btn_contact a{
	font-size:0.8rem;
}
header.smaller nav #pcnavi{
	padding-top:20px;
}



/*  フッタ
----------------------------- */
footer {
	position: relative;
	text-align:center;
	border-top:solid 1px #333;
	padding:4rem 0 2rem 0;
}

/*ページトップ*/
.pagetop{
  transition: .3s;
  opacity: 0;
  visibility: hidden;
}
.pagetop.active{
  opacity: 1;
  visibility: visible;
}
.pagetop.absolute{
  position: absolute;
  top: -50px;
  bottom: auto;
}
	.pagetop a {
	    font-size: 1.8em;
	    font-weight: bold;
	    line-height: 1.7;
	    display: block;
	    width: 2em;
	    height: 2em;
	    margin: 0;
	    padding: 0;
	    text-align: center;
	    text-decoration: none;
	    color: #ccc;
	    background: none;
	    box-shadow: none;
	}

	.pagetop a::before {
	        font-family: Font Awesome\ 5 Free, FontAwesome;
	        font-weight: bold;
	    content: '\f077';
	}

	.pagetop a:hover {
	    color: #eee;
		background: none;
	}


#f_logo{
	font-weight:bold;
	font-size:0.85rem;
	padding-bottom:1.5rem;
}
#f_logo span{
	font-weight:normal;
	display:block;
}
#f_logo a{
	display:block;
	max-width:300px;
	margin:0.2rem auto;
}

footer p{
	font-size:0.9rem;
	margin-bottom:1rem;
}

ul.utility{
	padding:0 0 4rem 0;
}

ul.utility li{
	font-size:0.9rem;
	display:inline-block;
	list-style:none;
}
ul.utility li::after{
	color:#9e9e9e;
	content: "|";
	display:inline-block;
	padding:0 1em;
}
ul.utility li:last-of-type::after{
	display:none;
}


p#sitecopy{
	font-size:0.9em;
	letter-spacing:0.05em;
}



/* トップページ
----------------------------- */

/*mainimage*/
#mainimage{
	position: relative;
}
#mainimage>img {
	width:100%;
	height: 90vh;
	object-fit: cover;
	vertical-align:bottom;
}
#mainimage .bnr_bosyu{
	position: absolute;
	width:100%;
	max-width:1300px;
	margin:0 auto;
	right:0;
	left:0;
	bottom:0;
	text-align:right;
}
#mainimage .bnr_bosyu a{
	display:inline-block;
	max-width:239px;
	width:20%;
	margin: 0 2% 6% 0;
}

/* about */
.box_about_index{
	padding-bottom:8rem;
}
.parent{
	padding-bottom:2rem;
}

.point{
	display: -webkit-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
}
.point_left{
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.point .snap{
	width:50%;
}
.point .copy{
	width:45%;
	padding-right:5%;
}
#content .point .copy h3{
	margin-top:1.5rem;
}
.point_left .copy{
	padding-right:0;
	padding-left:5%;
}

/* merit */
.box_merit{
	background-color:#f5f5f5;
}

.box_merit .snap img{
    object-fit: cover;
    height: 30vw;
    width: 50vw;
    min-height: 400px;
}
.box_merit .copy{
	position: relative;
	height:30vw;
	min-height:400px;
}
.whitearea{
	width: 90vw;
	max-width: 900px;
	position: absolute;
	display:block;
	left:5vw;
	top:20%;
	margin:auto;
	background-color:#fff;
	-moz-border-radius: 1rem;
	-webkit-border-radius: 1rem;
	border-radius: 1rem;
	padding:2rem 5vw;
}
.point_right .whitearea{
	left:auto;
	right:5vw;
}

/*movie*/
.box_movie{
	padding-bottom:8rem;
	max-width:800px;
	margin:0 auto;
}
.youtube {
  position: relative;
  width: 100%;

  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.box_movie .btn{
	padding-top:1rem;
}

/*instructor*/
.box_instructor{
	padding-bottom:8rem;
	background-color:#f5f5f5;
}

#content ul.box_instructor_list{
	display: -webkit-flex;
	display: flex;
    -webkit-justify-content: center;
    justify-content: center;
	margin:0;
	padding:0 0 1rem 0;
}
#content ul.box_instructor_list li{
	max-width:320px;
	margin:0 4vw;
	padding:0;
	list-style:none;
}
ul.box_instructor_list li img{
	border-radius: 50%;
	object-fit: cover;
}
#content ul.box_instructor_list p{
	line-height:1.6em;
	padding-top:1rem;
}
ul.box_instructor_list p span{
	display:block;
	font-weight:bold;
}


/*bosyu*/
.box_bosyu{
	max-height:950px;
	background:url("../img/bg_bosyu.jpg") center bottom no-repeat #efede5;
	background-size:cover;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
}
.box_bosyu img{
	width:75%;
	max-width:800px;
	margin:10vw 0;
}

/*course*/
.box_course{
	padding-bottom:8rem;
	max-width:1200px;
	margin:0 auto;
}

.c_banner{
	padding-bottom:4rem;
}
.c_banner span{
	display:block;
}

.col{
	display: -webkit-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.col>div{
	width:48%;
}
.box_course .col>div{
	border-bottom:solid 1px #333;
}

#content .col table{
	border-top:none;
}

.pc_right{
	font-size:1rem;
}
.pc_right.normal{
	font-weight:normal;
}
.pc_right em{
	font-size:1.4rem;
	font-weight:bold;
	font-style:normal;
}

.breakdown{
}
.breakdown:before{
	content:"";
	display:block;
	width:100%;
	height:7vw;
	max-height:120px;
	background:url("../img/arrow3.svg") center no-repeat;
	background-size:auto 30%;
}
#content .breakdown_in{
	border-top:none;
	margin-bottom:1rem;
	padding:2rem 4rem;
	background-color:#f5f5f5;
}

#content .breakdown table{
	border-top:none;
}

.col_ul{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
}
.col_ul>ul{
	width:16em;
}

/*schedule*/
.box_schedule{
	padding-bottom:8rem;
	background-color:#f5f5f5;
}
.g_calendar{
	display:inline-block;
	padding:2rem;
	background-color:#fff;
}

/*news*/
.box_news{
	padding-bottom:8rem;
}
#content .ul_newslist{
	max-width:1200px;
	margin:0 auto;
	padding:0 0 1rem 0;
}
#content .ul_newslist li{
	margin:0;
	padding:1rem;
	list-style:none;
	border-bottom:dashed 1px #333;
}
.ul_newslist .date{
	display:inline-block;
	padding-right:1rem;
}
.ul_newslist .cate{
	display:inline-block;
	padding:0 1.7rem;
}
.ul_newslist .cate + .cate{
	padding-left:0;
	margin-left: -1rem;
}
.entry-meta .term a,
.ul_newslist .cate a{
	font-size:0.85em;
	text-align:center;
	color:#0f7639;
	line-height: 1.5em;
	display:inline-block;
	width:12em;
	border: 1px solid rgba(15,118,57,0.5);
	text-decoration:none;
}

/*contact*/
.box_contact{
	padding-bottom:8rem;
	background:url("../img/bg_contact.jpg") center no-repeat #efede5;
	background-size:cover;
}
.box_contact .col{
	padding:2rem 0;
    -webkit-justify-content: center;
    justify-content: center;
}
.box_contact .col>div{
	width:45%;
}
#c_logo span{
    font-size: 1rem;
    font-weight:bold;
}
#c_tel{
    font-size: 3.5em;
    padding-top: 1.7rem;
}
#c_tel a{
	font-weight:bold;
}
#c_tel span{
	font-size:1rem;
	display:block;
}

.buy{
	text-align:left;
	width:90%;
	max-width:850px;
	border:solid 1px #333;
	margin:3rem auto 0 auto;
	padding:1rem;
}
#content .buy p{
	font-size:0.9rem;
	line-height:1.4em;
	margin:0;
	padding:0;
}

/*banner*/
.box_banner{
	font-size:1rem;
	padding:6rem 1rem;
}
.bnr_chiraya{
	padding-bottom:2rem;
}
.box_banner .bnr{
	padding-bottom:0.5rem;
}

/* サブページ
----------------------------- */


/*ページタイトルと背景*/
.pagetitle{
	padding:3rem 0;
}
.pagetitle h1{
    font-size: 2em;
    padding: 0 0 0.5em 0;
    letter-spacing: 0.05em;
}
.pagetitle h1 span{
    font-size: 0.9rem;
	color:#a2a29e;
	display:block;
	text-transform: uppercase;
	padding-bottom:0.5em;
}

#content{
}
.home #content{
	padding:0;
}
#pankuzu{
	padding:0.5rem 0;
}

/* sidebox
----------------------------- */
/*サブページ*/
ul.subpagemenu{
	list-style: none;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}
ul.subpagemenu li{
	-webkit-flex-grow: 1;
	flex-grow: 1;
}

ul.subpagemenu li a {
	text-align:center;
	display: block;
	margin:0.3rem;
	padding: 1rem 0;
	text-decoration: none;
	color:#0f7639;
	position: relative;
	-moz-border-radius: 0.2em;
	-webkit-border-radius: 0.2em;
	border-radius: 0.2em;
}
ul.subpagemenu.children{
	display:none;
}
ul.subpagemenu li a::after{
	content: "";
	display:block;
	width:100%;
	height:3px;
	border: 1px solid #0f7639;
	-moz-border-radius: 0.2em;
	-webkit-border-radius: 0.2em;
	border-radius: 0.2em;
}
ul.subpagemenu li.current-cat a,
ul.subpagemenu li.current_page_item a {
	font-weight:bold;
}
ul.subpagemenu li.current-cat a::after,
ul.subpagemenu li.current_page_item a::after {
	background-color: #0f7639;
}

/*投稿ページ*/

#content.archivemain{
	padding-bottom:4rem;
}

.archivemain #sidebox{
	margin-top: 1rem;
}

#box_cate{
	color:#0f7639;
	padding-bottom:1rem;
}
#content ul.catelist{
	margin:0;
	padding:0;
	list-style:none;
	display:inline-block;
}
#content ul.catelist li{
	margin:0;
	padding:0;
	display:inline-block;
}
#content ul.catelist li::after{
	content:"\025cf";
	display:inline-block;
	color:#e9e9e5;
	font-size:0.8rem;
	padding:0 0.3em;
}
#content ul.catelist li:last-of-type::after{
	display:none;
}
.catelist a{
	color:#0f7639;
}

#content ul.catelist ul.children{
	margin:0;
	padding:0;
	display:inline-block;
}
#content ul.catelist ul.children::before{
	content:"(";
	display:inline-block;
	margin:0 0.2rem;
}
#content ul.catelist ul.children::after{
	content:")";
	margin:0 0.2rem;
}
#content ul.catelist .current-cat>a{
	font-weight:bold;
}
.box_articlelist #box_cate,
.box_workslist #box_cate{
	padding-bottom:0;
}


/* ニュース＆トピックス
----------------------------- */
.archivemain{
}
#content.archivemain h2{
	margin: 1.5em 0;
}
#content.archivemain .ul_newslist{
	padding:0;
}

.entry-meta{
	padding-top:2rem;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.entry-meta .term a{
	margin-right:0.5rem;
}
.entry-meta .day{
	font-size:0.9em;
	color: #888;
}
#content h2.h_news{
	padding-top:1em;
	font-size: 2.2em;
	line-height: 1.5em;
}

.single .entry-content{
	padding-bottom:4rem;
}


/* ============================
  PC調整（1300px以下）
/* ============================ */
@media(max-width: 1300px) {
nav {
	padding:0 1rem;
}
nav #title .jma{
	font-size: 0.5rem;
}
nav #title .jma img{
	display:none;
}
#pcnavi li a{
	font-size:0.8rem;
	padding:0 0.5rem;
}

}
/* ============================
  PC調整（1000px以上）
/* ============================ */
@media(min-width: 1000px) {

#pcnavi{
	display:block;
}
#spnavi{
	display:none;
}

}

/* ============================
  PC調整（1000px以下）
/* ============================ */
@media(max-width: 1000px) {

header.smaller{
	padding-top:0;
}
#pcnavi{
	display:none;
}
#spnavi{
	display:block;
}

}

/* ============================
  PC（900px以上）
/* ============================ */
@media(min-width: 900px) {

.pc{
	display:block;
}
.sp{
	display:none;
}

/*電話番号リンク*/
a.tel{
	pointer-events:none;
	text-decoration:none;
}

/* トップページ
----------------------------- */

/*mainimage*/
#mainimage>img {
	min-height:600px;
}

/*course*/
.pc_right{
	float:right;
}

/*news*/
#content .ul_newslist li{
	display: -webkit-flex;
	display: flex;
}

/*contact*/
#c_tel a{
	color:#111;
}

}
/* ============================
  タブレット・スマホ（900px以下）
/* ============================ */
@media(max-width: 900px) {

.pc{
	display:none;
}
.sp{
	display:block;
}

/*見出し*/
#content h1 {
	font-size:2em;
	line-height: 1.4em;
	margin-bottom: 1em;
}
#content h2 {
	font-size: 1.5rem;
	padding:3rem 0 2rem 0;
}
#content h3 {
	font-size:1.2em;
}
#content h4 {
	font-size: 1.1em;
}
#content h5 {
	font-size: 1em;
}
#content h6 {
	font-size: 1em;
}


/* テーブル
----------------------------- */

/*ノーマル*/
#content table th,
#content table td {
}

/*ボタンスタイル*/
.btn a {
	font-size: 0.9rem;
	width:90%;
}

/*基本フォントサイズ*/
#content{
	font-size: 0.9rem;
}
#content p {
	line-height: 1.8em;
}


/*  ヘッダ
----------------------------- */
header {
	padding:0;
	background:#fff;
}
header nav{
	height: 70px;
}
header nav #title .jma{
	display:none;
}
header.smaller nav #site-title a,
header nav #site-title a{
	max-width:250px;
	width:60vw;
}
.drawer-content .menu_scroll{
	display:block;
}
#spnavi .menu_scroll>div{
	width:auto;
}
#spnavi li a{
	font-size:0.9em;
	padding: 0.7rem 0.5em;
}
	#spnavi li.menu-item-has-children a{
		padding-bottom: 0;
	}
	#spnavi ul.sub-menu li a{
		font-size:0.8em;
		padding: 0.5em 3em;
	}


/* トップページ
----------------------------- */

/*mainimage*/
#mainimage>img {
	height: 80vh;
}
#mainimage .bnr_bosyu a{
	width:15%;
	min-width:90px;
}

/* about */
.box_about_index{
	padding:0 1rem 4rem 1rem;
}
.parent{
	width:70%;
	max-width:380px;
	margin:0 auto;
	padding-bottom:1rem;
}
.point{
	display:block;
}
.point .snap{
	width:auto;
}
.point .copy{
	width:auto;
	padding:5vw;
}

/* merit */
.box_merit h2 img{
	width: 150px;
    vertical-align: text-bottom;
}

.box_merit .snap img{
    object-fit: contain;
    height: auto;
    width: 100%;
    min-height: auto;
}
.box_merit .copy{
	height:auto;
	min-height:auto;
}
.whitearea{
	position: static;
}

/*movie*/
.box_movie{
	padding-bottom:4rem;
}

/*instructor*/
.box_instructor{
	padding-bottom:4rem;
}

/*course*/
.box_course{
	padding:0 1rem 4rem 1rem;

}

.col{
	display:block;
}
.col>div{
	width:auto;
}

.pc_right{
	display:block;
	text-align:right;
}
.box_course .tbl_head .pc_right{
	padding-top:0.5em;
}
.pc_right.normal{
	text-align:left;
}

#content .breakdown_in{
	padding:1rem;
}

.col_ul{
	display:block;
}
.col_ul>ul{
	width:auto;
}

/*schedule*/
.box_schedule{
	padding-bottom:4rem;
}
.g_calendar{
	padding:1rem;
}

/*news*/
.box_news{
	padding-bottom:4rem;
}
#content .ul_newslist{
	margin:0;
	padding:0;
}

#content .ul_newslist li{
	margin:0;
	padding:1em;
	font-size:1em;
}
#content .ul_newslist li .title{
	display:block;
	padding-top:0.2rem;
}
.ul_newslist .cate{
	padding:0 0.5rem;
}
.ul_newslist .cate + .cate{
	margin-left: -0.2rem;
}
.news .term a,
.ul_newslist .cate a{
	font-size:0.7em;
	width:8em;
}

/*contact*/
.box_contact{
	padding-bottom:4rem;
}
.box_contact .col{
	padding:1rem;
}
.box_contact .col>div{
	width:auto;
}
#c_logo span{
    font-size: 0.8rem;
}
#c_logo img{
	width:80%;
    max-width:500px;
}
#c_tel{
    font-size: 2.5em;
}
#c_tel span{
	font-size:0.8rem;
}

/*banner*/
.box_banner{
	font-size:0.8rem;
	padding:4rem 1rem;
}

/* サブページ
----------------------------- */
/*ページタイトルと背景*/
.pagetitle{
	padding:1.5rem 0 0.8rem 0
}
.pagetitle h1{
    font-size: 1.2em;
}
.pagetitle h1 span{
    font-size: 0.7rem;
    line-height: 1em;
}
#content{
	padding:0 4vw;
}
.home #content{
	padding:0;
}


/* sidebox
----------------------------- */
/*サブページ*/
ul.subpagemenu{
	display: block;
	padding:1rem 2vw;
	font-size:0.8rem;
	text-align:center;
}
ul.subpagemenu li{
	display:inline-block;
}
ul.subpagemenu li a{
	margin:0;
	padding:0;
}
ul.subpagemenu li a::after{
	content:"";
	display:inline-block;
	width:1px;
	height:1em;
	border:none;
	border-right: 1px solid #0f7639;
	background:none;
	margin:0 0.3rem 0 0.5rem;
}
ul.subpagemenu li:last-of-type a::after{
	display:none;
}

/*投稿ページ*/
.archivemain #sidebox{
	font-size: 0.8rem;
	line-height: 1.5em;
}
#content ul.catelist li::after{
	font-size:0.6rem;
}



/* ニュース
----------------------------- */
/*一覧*/
#content.archivemain{
	padding:0 0 2rem 0;
}
.archive #content h2{
	padding:0 1rem;
}
/*詳細*/
#content h2.h_news{
	font-size:1.5rem;
}
.entry-meta{
	padding-top:1em;
}



}

/* ============================
  スマホ（小）
/* ============================ */
@media(max-width: 500px) {
}


/* ============================
  IEハック
/* ============================ */

@media all and (-ms-high-contrast:none) {
    *::-ms-backdrop,
    #itemname {
        width: auto;
    }
}
