@charset "UTF-8";

/* =============================================
	mobile menu settings
=============================================　*/
/* Mobile Menu Button */
#menu-button{
	visibility:hidden;
	opacity:0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: fixed;
	z-index: 900;
	top: 0;
	right: 0;
	width: 48px;
	height: 48px;
	background-color: #fafafa;
}
#menu-button.nav-on {
	visibility:visible;
	opacity:1;
}
#menu-button .ham-lines {
	position: relative;
	margin: 0 auto;
	width: 32px;
	height: 32px;
}
#menu-button .ham-lines span,
#menu-button .ham-lines::before,
#menu-button .ham-lines::after {
	position: absolute;
	display: block;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: 28px;
	height: 2px;
	background-color: #111;
	border-radius: 1px;
}
#menu-button .ham-lines span {
	bottom: 15px;
	transition: all .25s .25s;
	opacity: 1;
}
#menu-button .ham-lines::before,
#menu-button .ham-lines::after {
	content: "";
}
#menu-button .ham-lines::before{
	bottom: 24px;
	animation: menu-bar01 .75s forwards;
}
#menu-button .ham-lines::after {
	bottom: 6px;
	animation: menu-bar03 .75s forwards;
}
#menu-button .ham-text {
	font-size: 12px;
	line-height: 1;
}
#menu-button.is-active .ham-lines span {
	opacity: 0;
}
#menu-button.is-active .ham-lines::before {
	animation: active-menu-bar01 .5s forwards;
}
#menu-button.is-active .ham-lines::after {
	animation: active-menu-bar03 .5s forwards;
}
@keyframes menu-bar01 {
	0% {
		transform: translateY(9px) rotate(45deg);
	}
	50% {
		transform: translateY(9px) rotate(0);
	}
	100% {
		transform: translateY(0) rotate(0);
	}
}
@keyframes menu-bar03 {
	0% {
		transform: translateY(-9px) rotate(-45deg);
	}
	50% {
		transform: translateY(-9px) rotate(0);
	}
	100% {
		transform: translateY(0) rotate(0);
	}
}
@keyframes active-menu-bar01 {
	0% {
		transform: translateY(0) rotate(0);
	}
	50% {
		transform: translateY(9px) rotate(0);
	}
	100% {
		transform: translateY(9px) rotate(45deg);
	}
}
@keyframes active-menu-bar03 {
	0% {
		transform: translateY(0) rotate(0);
	}
	50% {
		transform: translateY(-9px) rotate(0);
	}
	100% {
		transform: translateY(-9px) rotate(-45deg);
	}
}
/* Mobile Menu Button end */

/* =============================================

	Media Query

============================================= */
@media screen and (max-width: 1400px) { /* for iPad pro landscapes */

}

@media screen and (max-width: 1180px) { /* for tablet landscapes */

	#pagewrap {
		position: relative;
		padding-bottom: 51px;
	}

	#header.header {
		padding-top: 0;
	}

	/* module menu button visible */
	#menu-button{
		visibility:visible;
		opacity:1;
	}
	
	/* Mobile Menu Container ここを調整すると、メニューボタンクリック後の動作を調整できる */
	#main-menu-container {
		position: fixed;
		z-index: 700;
		top: 0;
		left: -100vw;
		right: auto;
		bottom: auto;
		overflow-y: auto;
		background-color: #f1f1f1;
		display:block;
		width: 100vw;
		height: 100vh;
		transition: .3s linear;
	}
	#main-menu-container.is-active{
		left: 0;	
	}
	/* Mobile Menu Container ここを調整すると、メニューボタンクリック後の動作を調整できる */

}

@media screen and (max-width: 1024px) { /* for tablet landscape */

	/* style for contact forms, if do not use to delete please
	コンタクフォームのテーブル調整　不要なら消す*/
	.wpcf7 table tr th,
	.wpcf7 table tr td{
		width:100%;
		display:block;
		padding: 10px 0px;
	}
	.wpcf7 table tr th{
		padding-bottom:0;
	}
	/* style for contact forms, if do not use to delete please
	コンタクフォームのテーブル調整　不要なら消す*/

}

@media screen and (max-width: 980px) { /* for mobile landscape */
	#pc-backtop {
		display: none;
	}
	#footer .sp-footer-icons-container {
		display: flex;
	}
}

@media screen and (max-width: 768px) { /* for mobile  */
	

}

@media screen and (max-width: 460px) { /* for mobile small  */
	

}




#pagewrap .pagenav,
.header-brand-container,
.rb,
.row_top_about .sub_column > .tb-column-inner,
#sidebar .widget:first-child ul{
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: -o-flex;
	display: flex;
}
.header-brand-container,
.rb{
    -webkit-align-content: center; 
    -moz-align-content: center; 
    -ms-align-content: center; 
	align-content: center;
}
#pagewrap .pagenav,
.header-brand-container,
.rb{
    -webkit-align-items: center; 
    -moz-align-items: center; 
    -ms-align-items: center; 
	align-items: center;
}
.rb{
	-webkit-justify-content: flex-end;
	-moz-justify-content: flex-end;
	-ms-justify-content: flex-end;
	justify-content: flex-end;
}
#pagewrap .pagenav{
	-webkit-justify-content: flex-end;
	-moz-justify-content: flex-end;
	-ms-justify-content: flex-end;
	justify-content: flex-end;
}
.header-brand-container{
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
}
#pagewrap .pagenav,
.rb,
.row_top_about .sub_column > .tb-column-inner,
#sidebar .widget:first-child ul{
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
/*--------------------------------- PAGE ---------------------------------*/
*{box-sizing: border-box;}
#pagewrap .pagewidth,
#footerwrap #footer-nav,
#pagewrap #footerwrap .module_row .row_inner,
body.archive #pagewrap .row_main .row_inner{
    width:1100px;
    max-width:94%;
    margin-left:auto;
    margin-right:auto;
}
#footer.pagewidth{
    width: 100%;
    max-width: 100%;
}
#pagewrap{
	/*background:#fff url(../../uploads/bg.jpg)center top repeat;*/
  background: #fff;
	font-size:14px;
	line-height:1.85;
	color:#181818;
  font-family: "ヒラギノ角ゴ Pro W6", Hiragino Kaku Gothic ProN, Hiragino Sans, "ヒラギノ角ゴシック", "游ゴシック体", Yu Gothic, YuGothic, "メイリオ", sans-serif;
	font-weight:400;
}
img{vertical-align:top;}
#pagewrap a img{
	transition:all 0.2s linear;
}
a:hover img{
	opacity:0.7;
}
#pagewrap a,
#pagewrap a:hover,
#pagewrap a:active,
#pagewrap a:visited{
	text-decoration:underline;
	transition:all 0.2s linear;
	color:#181818;
}
#pagewrap a:hover{
	text-decoration:none;
}
#pagewrap a:focus{outline: none;}

#main-menu:before,
#main-menu:after,
#content:before,
#content:after,
.module .wpcf7:before,
.module .wpcf7:after,
.m_qa .ui.module-accordion>li:before,
.m_qa .ui.module-accordion>li:after{
    content:'';
    display:table;
    clear:both;
}
#pagewrap .module .wpcf7{
	font-family: "Times New Roman","游明朝", YuMincho, "ヒラギノ明朝 ProN W3″", "Hiragino Mincho ProN", "メイリオ", Fontawesome , Meiryo, serif;
}
/*--------------------------------- END PAGE ---------------------------------*/
/*--------------------------------- HEADER ---------------------------------*/
#headerwrap {
    background: url(../../uploads/header_bg01.png)left bottom no-repeat, 
      url(../../uploads/header_bg02.png)right top no-repeat, 
      url(../../uploads/header_bg.jpg)left top repeat-x;
    background-size: auto auto,auto auto,auto 100%;
    color: #fff;
}
#headerwrap #header.header{
    padding:30px 0 15px;
}
.header-brand-container{}
#header #site-logo{
    margin:0 0 15px;
    line-height:1;
	text-align:center;
}
#header #site-logo a{
    display:inline-block;
    vertical-align: top;
}
.rb{
    text-align:right;
}
.rb > *{
	margin-left:20px;
}
.rb a{
	display:inline-block;
  vertical-align:top;
  margin-bottom:15px;
}
.rb span{
	display:block;
}
.rb .header_tel{
	margin-bottom:11px;
}
.header_add,
.module.footer_add{
    font-size: 13px;
    line-height: 1.7;
    font-family: "Times New Roman","游明朝", YuMincho, "ヒラギノ明朝 ProN W3″", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
    font-weight: bold;
}
.header_add{
  margin-bottom:9px;
}
@media screen and (min-width: 1181px) {

    .main-menu-container:not(.nav-off) #main-menu{
        margin:0;
    }
    .main-menu-container:not(.nav-off) #main-menu > li{
        display:block;
        margin: 0;
        float: left;
        position: relative;
    }
  .main-menu-container:not(.nav-off) #main-menu > li.hnav_none{
  	display:none;
  }
    .main-menu-container:not(.nav-off) #main-menu > li > a{
        display:block;
		text-align:center;
        background:url(../../uploads/navi.png)left top no-repeat;
        text-indent:100%;
        overflow: hidden;
        white-space: nowrap;
        height:65px;
    }
    .main-menu-container:not(.nav-off) #main-menu > li.nav01 > a{
        width:113px;
    }
    .main-menu-container:not(.nav-off) #main-menu > li.nav02 > a{
        width:156px;
        background-position:left -113px top;
    }
    .main-menu-container:not(.nav-off) #main-menu > li.nav03 > a{
        width:143px;
        background-position:left -269px top;
    }
    .main-menu-container:not(.nav-off) #main-menu > li.nav04 > a{
        width:188px;
        background-position:left -412px top;
    }
    .main-menu-container:not(.nav-off) #main-menu > li.nav05 > a{
        width:158px;
        background-position:left -610px top;
    }
    .main-menu-container:not(.nav-off) #main-menu > li.nav06 > a{
        width:139px;
        background-position:left -768px top;
    }
    .main-menu-container:not(.nav-off) #main-menu > li.nav07 > a{
        width:203px;
        background-position:left -907px top;
    }
    .main-menu-container:not(.nav-off) #main-menu > li:hover > a,
	.main-menu-container:not(.nav-off) #main-menu > li.current-menu-item > a,
	.main-menu-container:not(.nav-off) #main-menu > li.current-menu-parent > a{
        background-image:url(../../uploads/navi_on.png);
    }
    .main-menu-container:not(.nav-off) #main-menu ul{
        position: absolute;
        z-index: -1;
        top: 100%;
        left: 0;right:0;
        padding:15px 0 0;
        margin:0;
        width:100%;
		opacity:0;
		transition:all 0.2s linear;
		visibility:hidden;
    }
	.main-menu-container:not(.nav-off) #main-menu > li:hover{z-index:1;}
	.main-menu-container:not(.nav-off) #main-menu > li:hover ul{
		opacity:1;
		visibility:visible;
	}
    .main-menu-container:not(.nav-off) #main-menu ul li{
        display:block;
        margin: 0;
        font-size: 14px;
        line-height: 1.85;
    }
    .main-menu-container:not(.nav-off) #main-menu ul li a{
        display:block;
        padding:9px 20px 7px;
		text-align:center;
      background:rgba(255,255,255,0.85);
    }
  .main-menu-container:not(.nav-off) #main-menu ul li:first-child a{
  	padding-top:14px;
  }
  .main-menu-container:not(.nav-off) #main-menu ul li:last-child a{
  	padding-bottom:11px;
  }

}

/*--------------------------------- END HEADER ---------------------------------*/
/*--------------------------------- FOOTER ---------------------------------*/
#nendebcopy{
	display:none;
}
#footerwrap .widget{
    margin-bottom: 0;
}
#footerwrap .footer-nav{
	margin:0;
	text-align:center;
	line-height:1;
  padding:20px 0 10px;
}
#footerwrap .footer-nav li{
	display:inline;
  font-size:13px;
    margin:0;
	vertical-align:top;
}
#footerwrap .footer-nav li a{
    padding:0 7px 10px 3px;
    display:inline-block;
	position:relative;
}
#footerwrap .footer-nav li.menu-item-has-children > a{
	padding-right:0;
}
#footerwrap .footer-nav > li:not(:last-child):not(.menu-item-has-children) > a:after,
#footerwrap .footer-nav > li.menu-item-has-children li:not(:last-child) > a:after{
	content:'';
	display:block;
	position:absolute;
	top:0;bottom:11px;
	right:0;
	border-left:1px solid #181818;
}
#footerwrap .footer-nav ul{
	display:inline;
	line-height:1;
	margin:0;
}
#footerwrap .footer-nav ul li:first-child a:before{
	content:'[';
	display:inline-block;
	margin:0 5px 0 0;
}
#footerwrap .footer-nav ul li:last-child a:after{
	content:']';
	display:inline-block;
	margin:0 0 0 5px;
}
.copyright-container{
    padding:5px 3% 0;
    background:#cc0001;
    text-align:center;
}
.copyright-container > *{
    display:inline-block;
    vertical-align:middle;
    margin:0 7px 5px;
}
.copyright-container .copyright{
  color:#fff;
    margin-top:-2px;
  margin-bottom:1px;
}
.copyright-container span:not(.copyright){
	line-height:1;
}
body #pc-backtop{
	bottom:40px;
	right:40px;
	width:auto;height:auto;
}
#pc-backtop a img{
	width:auto;
}
body.tb_responsive_mode #footerwrap .f-con{
    position: fixed;
    bottom:0;
    width:100%;
}

/*--------------------------------- END FOOTER ---------------------------------*/
/*--------------------------------- CONTENT ---------------------------------*/
.sidebar1 #body #content{
	width:74.2%;
	max-width:100%;
  padding:0 0 20px;
}

/*--------------------------------- END CONTENT ---------------------------------*/
/*--------------------------------- SIDEBAR ---------------------------------*/
#body #sidebar{
	width:22.55%;
	max-width:100%;
	padding:0 0 20px;
}
#sidebar .widget{
	margin-bottom:40px;
}

#sidebar .widgettitle,
#sidebar .wp-block-archives__label{
	margin-bottom:25px;
}
#sidebar .list-categories .widgettitle{
	margin-bottom:5px;
}
#sidebar .list-categories ul li{
  line-height:1.85;
	width:100%;
	padding:0;
  border:none;
  border-bottom:1px dashed #939393;
}
#sidebar .list-categories ul li a{
	display:block;
  padding:14px 20px 12px 40px;
  background: url(../../uploads/icon_arrow.png)left 20px center no-repeat;
  font-weight:bold;
}
#sidebar .widget:first-child ul{
	flex-direction:column-reverse;
}

/*--------------------------------- END SIDEBAR ---------------------------------*/
.sidebar1 #layout{
	padding:60px 0 0;
}
body.archive .page-title{
	font-size:28px;
  line-height:1.4;
  font-family: "Times New Roman","游明朝", YuMincho, "ヒラギノ明朝 ProN W3″", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
  text-align:center;
  margin:-6px 0 17px;
}



body.archive .row_main,
#sidebar .list-categories,
body.post_category_gallery #sidebar .widget:last-child,
body.archive.post_category_gallery .post .post-date,
body.archive.post_category_gallery .post .post-meta,
body.archive.post_category_gallery .post .entry-content,
body.archive .post.post_cat_gallery .post-date,
body.archive .post.post_cat_gallery .post-meta,
body.archive .post.post_cat_gallery .entry-content{
	display:none;
}
body.post_category_gallery .row_main_gallery,
body.post_category_blog .row_main_blog,
body.post_category_gallery #sidebar .widget:first-child,
body.post_category_blog #sidebar .widget:nth-child(2){
	display:block;
}





/*--------------------------------------------------
- TITLE -
--------------------------------------------------*/
.module.tit_0 .module-title{margin-bottom: 0;}
.module.tit_5 .module-title{margin-bottom: 5px;}
.module.tit_10 .module-title{margin-bottom: 10px;}
.module.tit_15 .module-title{margin-bottom: 15px;}
.module.tit_20 .module-title{margin-bottom: 20px;}

#pagewrap .tit_fff .module-title,
#pagewrap .txt_fff .tb_text_wrap,
#pagewrap .m_fff *,
#pagewrap .tit_fff .fancy-heading{
	color:#fff;
}
#pagewrap .tit_fff:not(.fc_inline) .fancy-heading .sub-head{
	color:#000;
}

.module .module-title,
.module .fancy-heading,
#sidebar .widgettitle,
#sidebar .wp-block-archives__label,
body.single #pagewrap .post .post-title{
    font-size:14px;
    line-height:1.4;
    color:#181818;
  font-family: "Times New Roman","游明朝", YuMincho, "ヒラギノ明朝 ProN W3″", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
}
.module .fancy-heading{
	margin:0;
}

.module.tit_bc .module-title{
	font-size:25px;
  text-align:center;
}
.module.tit_line_mid{
	text-align:center;
	overflow:hidden;
}
.module.tit_line_mid .module-title{
  font-size:28px;
	display:inline-block;
  vertical-align:top;
  padding:2px 15px 0;
  position:relative;
}
.module.tit_line_mid .module-title:before,
.module.tit_line_mid .module-title:after{
	content:'';
  display:block;
  position:absolute;
  top:50%;
  right:100%;
  width:100vw;
  border-top:1px solid #181818;
}
.module.tit_line_mid .module-title:after{
	left:100%;right:auto;
}
.module.tit_line_mid.tit_fff .module-title:before,
.module.tit_line_mid.tit_fff .module-title:after,
.module.tit_line_mid.m_fff .module-titl:before,
.module.tit_line_mid.m_fff .module-title:after{
	border-color:#fff;
}
.module.tit_fc .main-head{
    font-size:25px;
}
.module.tit_fc .sub-head,
.module.fc_inline .sub-head{
    font-size:14px;
  color: #cc0001;
    padding:2px 0 0;
}
.module.fc_inline .tf_inline_b,
.module.fc_line .tf_inline_b{
	vertical-align:bottom;
}
.module.fc_inline .main-head{
    font-size:23px;
  padding:0 6px 0 0;
}
.module.fc_inline .sub-head{
    padding:0 0 3px;
}
.module.tit_line .module-title {
    font-size: 20px;
    border-bottom: 1px solid #cc0001;
    padding: 0 0 5px;
}
.module.tit_lc .module-title,
.module.tit_line_s .module-title {
    font-size: 18px;
    border-bottom: 1px solid #cc0001;
    padding: 0 0 4px;
}
.module.tit_lc .module-title{
	text-align:center;
}
.module.tit_c .module-title{
	font-size: 18px;
	text-align:center;
}
body.single #pagewrap .post .post-title,
.module.tit_box .module-title,
#sidebar .widgettitle,
#sidebar .wp-block-archives__label{
	font-size:20px;
  color:#fff;
  background:url(../../uploads/tit_deco.png)right bottom no-repeat,
    linear-gradient(to bottom,#cc0001,#870001);
  padding:11px 15px;
}
body.single #pagewrap .post .post-title{
		background: #cc0001;
}
#sidebar .widgettitle,
#sidebar .wp-block-archives__label{
  background:linear-gradient(to bottom,#cc0001,#870001);
}
.module.fc_line .fancy-heading {
    border-bottom: 1px solid #cc0001;
    padding: 0 0 4px;
}
.module.fc_line .main-head{
    font-size:23px;
  padding:0 15px 0 0;
}
.module.fc_line .sub-head{
  color:#18a7b1;
    padding:0 0 3px;
}

/*--------------------------------------------------
- TEXT -
--------------------------------------------------*/
.module p:last-child,
.module .ui.module-accordion{
    margin-bottom: 0;
}
.module-buttons a.ui.builder_button:hover{opacity:0.7;}
.module-buttons a span{
	margin:0;
	vertical-align:top;
	font-size: 100%;
}
.module ul{
  margin:0;
  overflow:hidden;
}
.module.anchor_load ul{
	text-align:center;
	line-height:1;
}
.module.anchor_load ul li{
	display:inline-block;
	vertical-align:top;
	line-height:1;
	margin:0 0 15px;
	border-right:1px solid #181818;
}
.module.anchor_load ul li:last-child{
	border:none;
}
.module.anchor_load ul li a{
	padding:0 15px;
}
#pagewrap .pagenav{
    padding: 0 0 30px;
	text-align:center;
}
body.archive:not(.post_category_gallery) #pagewrap .pagenav{
	padding-top:40px;
}
#pagewrap .pagenav a,
#pagewrap .pagenav span{
	padding: 14px 0 0;
	text-decoration: none;
	color:#18a7b1;
	min-width:44px;
	min-height:44px;
	border:1px solid #18a7b1;
	background:none;
	border-radius:0;
	margin:0 0 10px 10px;
}
#pagewrap .pagenav a:before,
#pagewrap .pagenav a:after{
	transition:all 0.2s linear;
}
#pagewrap .pagenav .current,
#pagewrap .pagenav a:hover{
	background:#18a7b1;
	color:#fff;
}
#pagewrap .pagenav a:hover:before,
#pagewrap .pagenav a:hover:after{
	border-top-color:#fff;
}
#pagewrap .pagenav a.firstp:hover:before,
#pagewrap .pagenav a.firstp:hover:after,
#pagewrap .pagenav a.prevp:hover:before{
	border-left-color:#fff;
}
#pagewrap .pagenav a.lastp:hover:before,
#pagewrap .pagenav a.lastp:hover:after,
#pagewrap .pagenav a.nextp:hover:before{
	border-right-color:#fff;
}

.module.btn_arrow .module-buttons-item{
    width:auto;
	max-width:100%;
	vertical-align: top;
}
#pagewrap .module.btn_arrow a.ui.builder_button,
#pagewrap .module.post_event .post-title a{
  background: url(../../uploads/icon_arrow.png)left top 5px no-repeat;
	padding:0 0 0 20px;
}
#pagewrap .module.btn_arrow a.ui.builder_button{
    display:block;
	font-size:14px;
    line-height:1.85;
  text-align:left;
}
#pagewrap .module.btn_arrow a.ui.builder_button:hover{
	opacity:1;
}
#pagewrap .module.btn_arrow a.ui.builder_button span{
  text-decoration:underline;
}
#pagewrap .module.btn_arrow a.ui.builder_button:hover span{
	text-decoration:none;
}
.beginners_greeting strong {
  display:inline-block;
  vertical-align:top;
    font-size: 20px;
    border-bottom: 2px solid #cc0001;
    padding: 0 0 0px;
}
#pagewrap .m_qa .ui.module-accordion>li{
	margin-bottom:20px;
}
#pagewrap .m_qa .ui.module-accordion>li:last-child{
	margin-bottom:0;
}
#pagewrap .m_qa .ui.module-accordion .accordion-title{
	font-size:18px;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3″", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
  margin-bottom:10px;
}
#pagewrap .m_qa .ui.module-accordion .accordion-title a{
	color:#fff;
  text-decoration:none;
  padding:16px 20px 14px 55px;
  background:#cc0001;
  position:relative;
}
.m_qa .ui.module-accordion .accordion-title a:hover{
	opacity:0.7;
}
.m_qa .ui.module-accordion .accordion-title a:before,
.m_qa.module-accordion .accordion-content > .tb_text_wrap:before{
	content:'Q.';
  display:block;
  position:absolute;
  top:13px;
  left:20px;
  font-size:23px;
  line-height:1;
}
.m_qa.module-accordion .accordion-content > .tb_text_wrap:before{
	content:'A.';
  color:#18a7b1;
  font-weight:bold;
  top:3px;
}
#pagewrap .m_qa.module-accordion .accordion-content{
	padding:0;
  line-height:1.85;
}
#pagewrap .m_qa.module-accordion .accordion-content > .tb_text_wrap{
	padding:4px 0 2px 55px;
  position:relative;
}
.module.m_anchor ul{
  line-height:1;
	text-align:center;
}
.module.m_anchor ul li{
	display:inline-block;
  vertical-align:top;
  border-right:1px solid #181818;
  margin:0 0 15px;
}
.module.m_anchor ul li:last-child{
	border:none;
}
.module.m_anchor ul li a{
	padding:0 15px;
}
.module.txt_bc{
	font-size:25px;
  line-height:1.4;
  font-family: "Times New Roman","游明朝", YuMincho, "ヒラギノ明朝 ProN W3″", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
}
.module.m_policy {
    height: 230px;
    overflow: auto;
    padding: 0 2.7% 0 0;
}

/*--------------------------------------------------
- IMAGE -
--------------------------------------------------*/
.module .image-wrap{
    display: block;
    line-height:1;
}
.module:not(.auto_fullwidth) .image-wrap img{
	width:auto;
	max-width:100%;
}
.module.img_right .image-wrap,
.module.img_r .image-wrap{
    text-align: right;
}
.module.module-image .image-content{padding:0;}
#pagewrap .gallery .module-gallery-grid{
	column-gap: 1.5%;
	row-gap:0;
}
.gallery,
#pagewrap .themify_builder_slider .slide-image{margin:0;}
#pagewrap .gallery .gallery-item{margin-bottom:10px;}
.module.module-gallery .gallery-icon{cursor:auto;}
.module.module-gallery .gallery-icon img{width:auto;}

.srow_top_blog .module.top_blog_btn{
	position:absolute;
  bottom:21px;
  right:0;
}

/*--------------------------------------------------
- MODULE - BACKGROUND - BORDER -
--------------------------------------------------*/
.module iframe{display:block;margin:0 auto;}
#pagewrap .module_column.first{margin-left:0;}
#pagewrap .module-layout-part .module_column{min-height:auto;}
.row_overflow{
	overflow:hidden;
}
body .module_row .row_inner{
	width:100%;
	max-width:100%;
}

.bg_red{background-color:#cc0001;}
.bp_deco_blue{
	background:url(../../uploads/deco_blue_01.png)left top no-repeat,
    url(../../uploads/deco_blue_02.png)left bottom no-repeat,
    url(../../uploads/deco_blue_03.png)right 40px bottom no-repeat,
    #18a7b1;
  padding-left:5.6%;
  padding-right:5.6%;
}
.bp_deco_red,
.bp_deco_r2{
	padding:30px;
}
#pagewrap .bp_deco_red {
    background:#cc0001 url(../../uploads/deco_red_01.png)left top no-repeat;
}
#pagewrap .bp_deco_r2 {
    background: url(../../uploads/deco_red_02.png)left top no-repeat, 
      url(../../uploads/deco_red_03.png)right 15px bottom 25px no-repeat, #cc0001;
}

#pagewrap .row_footer {
    background: #cc0001 url(../../uploads/footer_deco.png)center top no-repeat;
}
.row_top_about .sub_column{
  -webkit-align-items: unset; 
    -moz-align-items: unset; 
    -ms-align-items: unset; 
    align-items: unset;
  -webkit-align-content: unset; 
    -moz-align-content: unset; 
    -ms-align-content: unset; 
    align-content: unset;
	background-color:#fff;
  margin-bottom:30px;
}
.row_top_about .sub_column > .tb-column-inner{
	flex-direction: column;
}
.row_top_about .sub_column > .tb-column-inner > .module{
	width:100%;
}
.row_top_about .sub_column > .tb-column-inner > .module-text{
	flex:1;
}
.row_top_about .sub_column .module:not(.module-image){
	padding-left:20px;
  padding-right:20px;
}
.srow_top_blog .sub_column{
	padding:0 120px 0 0;
}
.row_main .tb-column{
	padding:80px 0;
}
.row_beginners_voice .sub_column {
    margin-bottom: 30px;
    background: #fff;
    padding: 20px 0 0;
}
.row_beginners_voice .sub_column .tb-column-inner{
	width:82%;
  margin:0 auto;
}
.row_about .row_inner{
  position:static;
  padding:0 20%;
}
.row_about .module_column{
	position:relative;
  z-index:1;
}
.row_about .row_inner:before,
.row_about .row_inner:after{
	content:'';
  display:block;
  position:absolute;
  left:0;
  right:0;
  margin:0 auto;
  max-width:100%;
}
.row_about .row_inner:before{
	width:1150px;height:280px;
  top:0;
  background:url(../../uploads/about_deco_left.png)left top no-repeat;
  background-size:21.48% auto;
}
.row_about .row_inner:after{
	width:1110px;height:310px;
  bottom:0;
  background:url(../../uploads/about_deco_right.png)right bottom no-repeat;
  background-size:19.19% auto;
}

/*--------------------------------------------------
- TABLE -
--------------------------------------------------*/
.module table{
	width:100%;
    border-collapse: collapse;
}
.module table tr td,
.module table tr th{
	display:table-cell;
	width:auto;
	border:1px solid #cc0001;
	padding:14px 20px 12px;
  vertical-align:top;
}
.module table tr th{
	text-align:left;
}
.module table tr th:first-child{
    width:125px;
}
.module .wpcf7 input[type=submit],
body.single #pagewrap .history-back-button{
	font-size:16px;
	line-height:1.4;
	color:#fff;
	background:#9f0e00;
	border-radius:0;
  padding:10px 20px 7px;
  width:250px;
  max-width:100%;
	margin:40px auto 10px;
	display:block;
	font-family: 'YuGothic', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', sans-serif;
	transition:all 0.2s linear;
}
.module .wpcf7 .wpcf7-spinner{
	display:block;
	margin:0 auto;
}
.module .wpcf7 form .wpcf7-response-output{
	margin:0 0 35px;
}
.module .wpcf7 input[type=submit]:focus{outline:none;}
.module .wpcf7 input[type=submit]:hover{opacity:0.7;}
.module .wpcf7-form > p{display:block;margin:0;}
.module .wpcf7-form .ajax-loader{display:block;margin:0 auto;}
.module .wpcf7-response-output{margin:0;}
.module .wpcf7-validation-errors{border-color:#333;margin-bottom:25px;}

#pagewrap .module .wpcf7 table{
	width:880px;
  max-width:100%;
  margin:0 auto;
}
#pagewrap .module .wpcf7 table tr th,
#pagewrap .module .wpcf7 table tr td{
	vertical-align:middle;
}
#pagewrap .module .wpcf7 table tr th{
	color:#fff;
  background:#9f0e00;
  font-size: 16px;
}
#pagewrap .module .wpcf7 table tr td{
	padding:10px 20px;
}
#pagewrap .module .wpcf7 table tr.h_time td{
	padding:10px 5px 0 20px;
}
.module .wpcf7 table tr th:first-child{
	width:220px;
}
.module .wpcf7 table tr td .wpcf7-form-control-wrap{
	display:block;
	margin:10px 0 0;
}
.module .wpcf7 table tr td .wpcf7-form-control-wrap:first-of-type{
	margin-top:0;
}
.module .wpcf7 table tr td .wpcf7-form-control-wrap > input,
.module .wpcf7 table tr td .wpcf7-form-control-wrap > select,
.module .wpcf7 table tr td .wpcf7-form-control-wrap > textarea,
#sidebar .widget select{
	display:block;
	width:100%;
	max-width:100%;
	border-radius:0;
	border:1px solid #ccc;
	outline:none;
	height:auto;
	padding:4px 10px 2px;
	background:#fff;
	color:#000;
	font-size:14px;
	line-height:1.85;
	font-weight:500;
}
.module .wpcf7 table tr td .wpcf7-form-control-wrap > select,
#sidebar .widget select{
	padding:6px 10px;
}
.module .wpcf7 table tr td .wpcf7-form-control-wrap > select{
  width:200px;
}
.module .wpcf7 table tr.h_date .wpcf7-form-control-wrap,
.module .wpcf7 table tr.p_o_n .wpcf7-form-control-wrap,
.module .wpcf7 table tr.h_time .wpcf7-form-control-wrap{
	display:inline-block;
  margin:0;
}
.module .wpcf7 table tr.h_date td .wpcf7-form-control-wrap > input,
.module .wpcf7 table tr.p_o_n td .wpcf7-form-control-wrap > input{
	width:160px;
  margin:0 10px 0 0;
}
.module .wpcf7 table tr.h_time td > p{
	display:inline-block;
  margin:0 15px 10px 0;
}
.module .wpcf7 table tr.h_time td .wpcf7-form-control-wrap > input{
	width:60px;
  margin:0 10px 0 0;
}
.module .wpcf7 tbody tr td .wpcf7-form-control-wrap > textarea{
	height:240px;
	min-height:240px;
	resize: vertical;
}

.module.table_price table tr td{
	border:none;
  padding:0 0 6px;
}
.module.table_price table tr:last-child td{
	padding:0;
}
.module.table_price table tr td:last-child{
	text-align:right;
  width:30%;
}
.module.table_info table tr th,
.module.table_info table tr td{
	border-width:0 0 1px;
  padding-left:0;
  padding-right:0;
}
.module.table_info table tr:first-child th,
.module.table_info table tr:first-child td{
	padding-top:0;
}

/*--------------------------------------------------
- POST -
--------------------------------------------------*/
.module .post-date,
.module .post-title,
body.archive .post .post-title{
    line-height: 1.85;
}
.module-post .post-title a{text-decoration: underline;}
.module-post .post-title a:hover{text-decoration: none;}
.module .entry-content > p:last-child,
.module .entry-content > img:last-child,
.module.post_news .builder-posts-wrap .post:last-of-type{
    margin-bottom:0;
}
.module .entry-content > img,
.module .entry-content > p > img,
.module .entry-content > a > img,
.module .entry-content > p > a > img,
body.single .post .entry-content > img,
body.single .post .entry-content > p > img,
body.single .post .entry-content > a > img,
body.single .post .entry-content > p > a > img{
	padding:6px 0 8px;
}
.module .entry-content > img{
	margin-bottom:1.2em;
}

.module.post_event .builder-posts-wrap .post{
    margin-bottom:32px;
}
.module.post_event .post-image{
	text-align:center;
  margin-bottom:9px;
}
#pagewrap .module.post_event .post-title{
  font-size:14px;
  margin-bottom:0;
}
.module.post_event .post-title a{
	display:inline-block;
  vertical-align:top;
}
.module.post_top{
	padding:20px;
  background:rgba(255,255,255,0.8);
}
.module.post_top .builder-posts-wrap{
    height:300px;
  overflow:auto;
  overflow-y:scroll;
  padding: 0 20px 0 0;
}
.module.post_top .builder-posts-wrap .post{
    padding:16px 0 5px;
    margin:0;
	border-bottom:1px dotted #1a1a1a;
}
.module.post_top .post-date{
    float:left;
    color:#11959e;
    font-weight:bold;
    margin:0 20px 0 0;
}
#pagewrap .module.post_top .post-title{
    font-size:16px;
  line-height:1.6;
  padding:0 0 4px;
    margin-bottom:0;
    overflow:hidden;
}
.module.post_top .entry-content{
	clear:both;
  padding:12px 0 0;
}
.module.post_limit .entry-content{
    overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2; /* number of lines to show */
	line-clamp: 2;
	-webkit-box-orient: vertical;
}





body.archive .post{
	margin-bottom:32px;
}
body.archive:not(.post_category_gallery) #pagewrap .post{
  float:none;
	width:100%;
  border-bottom: 1px dashed #ccc;
  padding:25px 0 15px;
  margin:0;
  overflow:hidden;
}
body.archive:not(.post_category_gallery) .post.post_cat_gallery{
	padding-top:30px;
}
body.archive:not(.post_category_gallery) .post:first-of-type{
	padding-top:0;
}
body.archive .post .post-content{
  overflow:hidden;
}
body.archive .post .post-image{
	text-align:center;
  margin:0 0 15px;
}
body.archive:not(.post_category_gallery) .post .post-image{
	float:left;
  width:163px;
  max-width:31.2%;
  margin-right:3.2%;
}
body.archive .post .post-title{
	font-size:14px;
  line-height:1.85;
  margin:0 0 6px;
}
body.post_category_blog .post:not(.post_cat_gallery) .post-title{
	margin-bottom:17px;
}
body.post_category_gallery .post .post-title{
	margin-bottom:0;
}
body.post_category_gallery #pagewrap .post .post-title a,
body #pagewrap .post.post_cat_gallery .post-title a,
body.archive .post .post-date{
	background: url(../../uploads/icon_arrow.png)left top 5px no-repeat;
    padding: 0 0 0 20px;
}
body.archive #pagewrap .post .post-title a{
	display:inline-block;
  vertical-align:top;
}
body.archive .post .post-date,
body.single .post .post-date{
  display:inline-block;
  vertical-align:middle;
  margin:0 10px 5px 0;
  font-weight:bold;
    color: #11959e;
}
body.single .post .post-date{
  display:block;
	line-height:1;
  margin:0 0 20px;
}
body.archive .post .post-meta{
  display:inline-block;
  vertical-align:middle;
	margin:0 0 -5px;
}
body.archive .post .post-category{
  display:block;
	padding:0;
}
body.archive #pagewrap .post .post-category a{
	display:inline-block;
  vertical-align:top;
    font-size: 12px;
  background: #11959e;
    color: #fff;
    text-decoration: none;
    padding: 2px 10px;
    border-radius: 3px;
    margin: 0 7px 10px 0;
  opacity: 0.7;
}
body.archive .post .entry-content{
	display: -webkit-box;
  overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 2; /* number of lines to show */
	line-clamp: 2;
	-webkit-box-orient: vertical;
  margin:0 0 7px;
}
body.archive .post .entry-content p{
	margin:0;
}



body.single .post{
	padding:60px 0 0;
	margin:0 0 30px;
}
body.single #pagewrap .post .post-title{
	margin-bottom:20px;
}
body.single #pagewrap .history-back-button{
	text-align:center;
	margin:0 auto 60px;
	text-decoration:none;
}
body.single .history-back-button:hover{
	opacity:0.7;
}

.cat-5 .entry-content h3 {
    font-size: 18px;
    font-family: "Times New Roman","游明朝", YuMincho, "ヒラギノ明朝 ProN W3″", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
    background: #cc0001;
    color: #fff;
    padding: 17px 20px 15px;
}




/************************************************
***************** Media Query *******************
*************************************************/
#pagewrap #menu-button,
body #pagewrap .sp-footer-icons-container a{
	color:#fff;
	background:#181818;
	border:none;
	text-decoration:none;
}
body #pagewrap .sp-footer-icons-container a{
	border-top:1px solid #fff;
}
body #pagewrap .sp-footer-icons-container a svg{
	fill:#fff;
}
#pagewrap #menu-button{
	width:50px;height:50px;
}
#pagewrap #menu-button .ham-lines span,
#pagewrap #menu-button .ham-lines::before,
#pagewrap #menu-button .ham-lines::after{
	background:#fff;
}
.single #pagewrap .post.cat-5 .post-date, .single #pagewrap .post.cat-5 .post-title {
    display: none;
}
#pagewrap .post.cat-5 .module-title{
		font-size: 18px;
    background: #cc0001;
    color: #fff;
		margin-bottom: 30px;
  	margin-top: 30px;
    padding: 17px 20px 15px;
}
body.single .post table tr td:first-child{
		background: #faeeee;
    font-weight: bold;
}
body.single .post table tr td {
    border: 1px solid #a5a0a0;
    padding: 14px 30px;
}
.home #pagewrap .module.post_event .cat-5 .post-title a{
		background: none;
		padding: 0;
}
.module .wpcf7 input[type=submit] {
    font-family: "Font Awesome 6 Free";
	font-weight: 900;
}
#pagewrap .post-meta .post-category:after{
		display: none;
}
.archive.post_category_gallery .post .post-image img {
    height: 170px;
    object-fit: cover;
}
.main-slider .slide-inner-wrap img {
    height: 650px;
	object-fit: cover;
	max-width: 1280px;
}


@media screen and (max-width: 1180px) {
	
	body #pc-backtop {
		display: none;
	}
	#footer .sp-footer-icons-container {
		display: flex;
	}
	
	#pagewrap #main-menu-container{
		background:#181818;
		position: fixed;
		z-index: 700;
		top: 0;
		left: 0;
		right: auto;
		bottom: auto;
		overflow-y: auto;
		display:block;
		width: 100vw;
		height: 100vh;
		transition: .3s linear;
		opacity:0;
		visibility:hidden;
	}
	#pagewrap #main-menu-container.is-active{
		opacity:1;
		visibility:visible;
	}
	#headerwrap #main-menu-container #main-menu{
		width:100%;
		max-width:100%;
		padding:60px 0 0;
    margin: 0;
	}
	#pagewrap #main-menu-container .main-menu{
		text-align:left;
	}
	#pagewrap #main-menu-container .main-menu>li{
		padding:0;
		margin:0;
		border-top: solid 1px #fff;
		float:none;
		display:block;
		text-align:left;
	}
	#pagewrap #main-menu-container .main-menu ul{
		margin:0 0 0 3em;
	}
	#pagewrap #main-menu-container .main-menu ul>li{
		display:block;
		margin:0;
		padding:0;
    border-left: solid 1px #fff;
    border-top: solid 1px #fff;
	}
	#pagewrap #main-menu-container .main-menu li a{
		display: block;
		padding: 15px 3%;
		text-decoration:none;
		color:#fff;
		width: 100%;
		background: none;
		text-indent: unset;
		white-space: normal;
		height: auto;
    font-size: 16px;
	}
  
  .header-brand-container{
  	padding-right:50px;
  }
  #header #site-logo{
  	max-width:42.8%;
  }
  .rb{
  	max-width:57.2%;
  }

}





@media screen and (max-width: 1024px) {
	
	.header-brand-container{
		padding-right:50px;
	}

}





@media screen and (max-width: 980px) {
	
	#pagewrap .module_row > .row_inner{
		max-width:100%;
	}
	
}





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

	#pagewrap .gallery .module-gallery-grid:not(.gallery-columns-1),
	body.single .gallery{
		--galN: 2;
	}
	#pagewrap #content .gallery .gallery-item:nth-of-type(odd){
		clear:left;
	}
	#pagewrap #content .gallery .gallery-item:nth-of-type(even){
		margin-right:0;
	}
	#pagewrap .module:not(.table_price) table tr th,
	#pagewrap .module:not(.table_price) table tr td{
		display:block;
		width:100%;
	}
	#pagewrap .module:not(.table_price) table tr th,
	#pagewrap .module:not(.table_price,.table_info) table tr:not(:last-child) td,
	#pagewrap .module:not(.table_price,.table_info) tr:last-child td:not(:last-child){
		border-bottom:none;
	}
  
  .header-brand-container{
  	-webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-left:50px;
  }
  #header #site-logo,
  .rb{
    display:block;
  	width:100%;
    max-width:100%;
    text-align:center;
  }
  #header #site-logo{
  	margin-bottom:30px;
  }
  .rb > *{
  	margin-left:0;
  }
  .module.table_info table tr th,
  .module.table_info table tr td:not(:last-child){
  	padding-bottom:6px;
  }
  .module.table_info table tr td{
  	padding-top:0;
  }
  body.single #pagewrap .post table tr td {
      display: table-cell;
      border: 1px solid #a5a0a0!important;
    	padding: 15px;
  }
  body.single #pagewrap .post table tr td:first-child{
  		text-align: center;
  }
	
}





@media screen and (max-width: 680px) {
	
	#pagewrap .module_column{
		width:100%;
		margin-left:0;
	}
    .module.img_right .image-wrap,
    .module.img_left .image-wrap,
	#pagewrap .sp_center{
        text-align: center;
    }
  
  .row_top_about .subrow_inner.tb_col_count_2,
  .row_top_about .subrow_inner.tb_col_count_3{
  	width:532px;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
  }
  .row_top_about .subrow_inner.tb_col_count_3{
/*   	width:343px; */
	  width: 100%;
  }
  .row_about .row_inner{
  	padding:0;
  }
  .row_about .row_inner:before, 
  .row_about .row_inner:after{
  	display:none;
  }
  .module.txt_bc,
  .module.tit_bc .module-title{
  	font-size: 20px;
  }
  .row_main .tb-column {
      padding: 40px 0;
  }
	.main-slider .slide-inner-wrap img {
		height: 190px;
		width: 100%;
	}
	#pagewrap .row_footer{
		background-position: left 28% top;
	}
	#pagewrap .module:not(.table_price) table tr th, 
	#pagewrap .module:not(.table_price) table tr td,
	#pagewrap .module .wpcf7 table{
		width: 100%!Important;
	}
	#pagewrap .gallery .module-gallery-grid{
		--galn: 2;
	}

}



#pagewrap .color-w a{
	color: #fff;
	text-decoration: none;
}