@charset "utf-8";



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

	Layout

----------------------------------------------- */
:root {
    --site_color:  #314649;
    --font_color:  #222;
    --link_color:  #438dbd;
}

html{
    font-size: 62.5%; /*10px*/
}


body {
	color: #222;
	line-height: 2.0;
	font-family: 'Noto Sans JP', "Hiragino Sans", Helvetica, Arial, sans-serif;
	font-feature-settings : "palt";
	font-size: 16px;
	background: #f7f7f7;
}

a:link, a:visited {
	color: #666;
	text-decoration: none;
}

a:hover, a:active {
	color: #999;
}

p {
	margin: 0 0 1.0em;
}

li {
	list-style-type: none;
}

input,textarea {
  border: 1px solid #ccc;
	border-radius: 0;
}

p iframe {
  max-width: 700px;
}

.txt404 {
	padding: 1.0em 0;
	font-weight: 600;
	font-size: 2.0rem;
}

#page_sub .post table {
	margin-bottom: 3em;
}

#page_sub .post table th,
#page_sub .post table td {
	border: 1px solid #ccc;
}

#page_sub .post table th img,
#page_sub .post table td img {
	max-width: 100%;
	height: auto;
}

#page_sub .post blockquote {
	font-size: 16px;
	border: 1px solid #f0f0f0;
	background: #fafafa;
	padding: 20px;
	margin: 30px 30px 60px;
}

#page_sub .post blockquote p {
	font-size: 16px;
	margin: 0;
}

#page_sub .post blockquote img,
#page_sub .post li img {
	max-width: 100% !important;
	margin: 20px 0;
}

#page_sub .post ul,
#page_sub .post ol {
	background: #f8f9ff;
	border: 1px dashed #4865b2;
	margin: 30px 30px 60px;
	padding: 30px;
}

#page_sub .post li {
	margin-bottom: 5px;
	color: #222;
	text-align: left;
}

#page_sub .post li:last-child {
	margin-bottom: 0 !important;
}


/* SP */
@media only screen
    and (max-width: 667px) {
body {
	width: 100%;
	margin: 0;
	padding: 0;
}

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

h2,h3,h4,h5,h6 {
	margin: 0 0 0.5em;
	line-height: 1.1;
}

ul {
	margin: 0 0 2em;
	padding: 0;
	list-style-position: inside;
}

#wrapper {
	margin: 0;
	position: relative;
}

#container {
	width: 98%;
	margin: 1.0em auto 3.0em;
}

.right-content-side,
.right-content-main {
	width: 100%;
}

.left-content-main,
.left-content-side {
	width: 100%;
}

#page_sub .post ul {
	padding: 25px;
}
} /* SP ここまで */


/* PC */
@media only screen
    and (min-width: 668px) {

a img:hover {
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}

#container {
	width: 100%;
	margin: 50px 0;
}

#content {
	width: 1140px;
	margin: 0 auto;
}

.left-content-side {
	position: relative;
	float: left;
	width: 360px;
	margin-right: 10px;
}

.right-content-main {
	float: right;
	width: 760px;
	box-sizing: border-box;
}

.right-content-side {
	position: relative;
	float: right;
	width: 360px;
	margin-left: 10px;
}

.left-content-main {
	float: left;
	width: 760px;
	box-sizing: border-box;
}

.home-content img,
.m_common_info img,
.main-cont img {
	max-width: 700px;
}
} /* PC ここまで */



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

	汎用スタイル

----------------------------------------------- */
/* clearfix */
.cf:before, .cf:after {
    content: '';
    display: table;
}
.cf:after {
    clear: both;
}
.cf {
    zoom: 1;
}
/* clearfixここまで */

.cb {
	clear: both;
	margin: 0px;
	padding: 0px;
	height: 0px;
	width: 0px;
	line-height: 0px;
}

.clear {
	clear: both;
}

.fleft {
	float: left;
}
　
.fright {
	float: right;
}

.alignleft {
	display: block;
	float: left;
	padding: 10px;
}

.alignright {
	display: block;
	float: right;
	padding: 10px;
}

.aligncenter {
	display: block;
	text-align: center;
	margin: 0 auto;
}

#page-top {
	position: fixed;
	bottom: 20em;
	right: 0;
}

.bold {
	font-weight: 600;
}

.taC {
	text-align: center;
}

.lh1 {
	line-height: 1.0;
}

.txtred-01 {
	color: #e60012 !important;
	font-weight: 600;
}

.txtpink-01 {
	color: #ef748b !important;
	font-weight: 600;
}

.txtbro-01 {
	color: #927147 !important;
	font-weight: 600;
}

.txt-bg-01 {
	background: #f8ffc3;
}

.txt-bg-02 {
	margin: 0 0 10px;
	padding: 20px;
	background: #faf3ed;
	border-radius: 6px;
}

.txt-bg-02 ul {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
}

.txt12rem {	font-size: 12px; }
.txt13rem {	font-size: 13px; }
.txt14rem {	font-size: 14px; }
.txt18rem {	font-size: 18px; }
.txt20rem {	font-size: 20px; }
.txt22rem {	font-size: 22px; }
.txt24rem {	font-size: 24px; }
.txt26rem {	font-size: 26px; }

.txt_anc_01 a {
	padding-right: 20px;
	background: url(../img/ar_01.png) no-repeat right center;
	background-size: 10px 16px;
	color: #f77801;
	line-height: 1.0;
}

.txt_anc_01 a:link,
.txt_anc_01 a:visited {
	text-decoration: underline;
}

.txt_anc_01 a:hover,
.txt_anc_01 a:active {
	text-decoration: none;
}

.hover_line:hover{
	text-decoration: underline;
}

.mb0 { margin-bottom: 0 !important; }
.mb05 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 {	margin-bottom: 20px !important; }
.mb25 {	margin-bottom: 25px !important; }
.mb30 {	margin-bottom: 30px !important; }
.mb40 {	margin-bottom: 40px !important; }
.mb50 {	margin-bottom: 50px !important; }
.mb50 {	margin-bottom: 50px !important; }
.mb60 {	margin-bottom: 60px !important; }
.mb70 {	margin-bottom: 70px !important; }
.mb80 {	margin-bottom: 80px !important; }
.mb90 {	margin-bottom: 90px !important; }
.mt05 {	margin-top: 5px !important; }
.mt10 {	margin-top: 10px !important; }
.mt15 {	margin-top: 15px !important; }
.mt20 {	margin-top: 20px !important; }
.mt25 {	margin-top: 25px !important; }
.mt30 {	margin-top: 30px !important; }
.mt40 {	margin-top: 40px !important; }
.mb02em { margin-bottom: .2em !important; }
.mb04em {	margin-bottom: .4em !important; }
.mb1em {	margin-bottom: 1.0em !important; }
.mt1em { margin-top: 1.0em !important; }
.mt2em { margin-top: 2.0em !important; }
.mr10 { margin-right: 10px !important; }
.mr20 { margin-right: 20px !important; }
.pb10 {	padding-bottom: 10px !important; }
.pb20 {	padding-bottom: 20px !important; }
.pb30 {	padding-bottom: 30px !important; }
.pb40 {	padding-bottom: 40px !important; }
.pb50 {	padding-bottom: 50px !important; }
.pb60 {	padding-bottom: 60px !important; }
.pb08em {	padding-bottom: .8em !important; }
.pb1em {	padding-bottom: 1.0em !important; }
.p0 {	padding:0 !important; }
.m0 {	margin:0 !important; }
.p10 {	padding:10px !important; }

/* 汎用ボタン1 */
.btn_pink a {
	display: inline-block;
	background: #db5f87;
	padding: 7px 20px;
	border-radius: 7px;
	color: #fff;
	text-decoration: none;
	text-align: center;
}

.btn_pink a::after {
  content: url(../img/ar_01.png);
  position: relative;
  top: 2px;
  margin-left: 0.5em;
}

.btn_pink a:hover {
	filter: alpha(opacity=90);
	-moz-opacity: 0.9;
	opacity: 0.9;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-o-transition: 0.7s;
	transition: 0.7s;
}
/*  汎用ボタン1 ここまで */


/* SP */
@media only screen
    and (max-width: 667px) {

.sp-hide {
	display: none;
}

.sp-lsN {
	list-style: none;
}

.alignleft {
	float: none;
	margin: 0 auto;
	padding: 0 0 10px;
	text-align: center;
}

.alignright {
	float: none;
	display: block;
	margin: 0 auto;
	padding: 0 0 10px;
	text-align: center;
}

.aligncenter {
	display: block;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
} /* SP ここまで */


/* PC */
@media only screen
    and (min-width: 668px) {

.pc-hide {
	display: none;
}

} /* PC ここまで */



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

	Header

----------------------------------------------- */
/* SP */
@media only screen
    and (max-width: 667px) {
.header-wrapper {
	background: #fff;
}
}

/* PC */
@media only screen
    and (min-width: 668px) {
.header-wrapper {
	padding: 30px 0;
	/* border-top: 5px solid #efb2c4; */
	border-bottom: 1px solid #4b7b82;
	background: #fff; 
}

.header-contents {
	width: 1140px;
	margin: 0 auto;
	padding:  0;
}

.header-contents a img:hover {
	filter: alpha(opacity=100);
	-moz-opacity: 1.0;
	opacity: 1.0;
}

.header-contents p {
	line-height: 1.0;
}

.header-contents .logo-block {
	float: left;
	padding-top: 0;
}

.header-contents .desc-block {
	float: right;
	margin: 10px 0 0;
	padding: 0;
}
.header-contents .desc-block a{
	font-size:32px;
}

.header-contents .logo-block img {
	width: 361px;
}

.header-contents .desc-tel {
	width: 442px;
	margin: 0;
	padding: 12px 0 0;
}

.header-contents .desc-block img {
	vertical-align: top;
}

/* .header-contents .desc-mail {
	width: 80px;
	padding-left: 34px;
} */

/* .header-contents .desc-line {
	width: 80px;
	padding-left: 20px;
} */
} /* PC ここまで */



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

	Mainimage

----------------------------------------------- */
.mainimage, .mainimage p {
	margin: 0 auto;
	line-height: 1.0;
	font-size: 0;
}

/* SP */
@media only screen
    and (max-width: 667px) {
.mainimage {
	width: 100%;
}
} /* SP ここまで */


/* PC */
@media only screen
    and (min-width: 668px) {
.mainimage-outer {
	width: 100%;
	margin-bottom: 0;
}

.mainimage {
	width: 1225px;
}
} /* PC ここまで */



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

	PC_Globalnavi

----------------------------------------------- */
/* PC */
@media only screen
    and (min-width: 668px) {

.pc-gnav-block {
	margin: 0;
}

.gnav {
	width: 100%;
	padding: 20px 0;
	background-color: #314649;
}

.mainnav {
	display: -webkit-flex;
  display: flex;
	-webkit-justify-content: space-around;
  justify-content:         space-around;
	-webkit-align-items: stretch;
  align-items:         stretch;
	width: 1140px;
	margin: 0 auto;
	box-sizing: border-box;
}

.mainnav li {
	-webkit-flex-grow: 1;
  flex-grow:         1;
	line-height: 1.0;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 600;
}

.mainnav li:last-child {
	border-right: none;
}

.mainnav li a {
	position: relative;
	display: block;
	height: 40px;
	padding: 0 0 5px;
	color: #fff;
	line-height: 40px;
}

.mainnav li a:hover, .mainnav li a:active {
	color: #fff;
}

.mainnav li a::after {
  border-bottom: solid 3px #fdbb66;
	position: absolute;
  bottom: 0;
	left: 25%;
  content: "";
  display: block;
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
  width: 0;
}

.mainnav li a:hover::after {
  width: 50%;
}
} /* PC ここまで */



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

	Sidebar SP/PC

----------------------------------------------- */
#sp-sidebar .free-block,
.right-content-side .free-block,
.left-content-side .free-block {
	margin: 3.0em 0 0;
}

#sp-sidebar .free-block .free-block-item {
	width: 360px;
	margin: 0 auto 1.0em;
	line-height: 1.0;
}

#sp-sidebar .contents {
	margin: 5px auto 20px;
	padding: 10px;
	background-color: #fff;
	border: 1px solid #e4e4e4;
	width: 95%;
}

#side-bar-area .contents {
	width: 330px;
	padding: 15px;
	background-color:#fff;
	border: 1px solid #e4e4e4;
	margin: 0 auto 20px;
}

#side-bar-area .contents h2 {
    padding: 20px 0;
    font-size: 20px;
    font-weight: bold;
    color: #333;
    text-align: center;
    line-height: 1.6;
}

#side-bar-area .contents h2:after {
    content: "";
    display: block;
    width: 20%;
    margin: 20px auto;
    border: 1px solid var(--site_color);
}

.side-note {
	width: 100%;
	margin: 0 auto 1.0em;
}

.blog-menu-block:nth-child(n+2) li {
	color: #999;
}

.blog-menu-block:nth-child(n+2) .wpp-views {
	padding-left: .5em;
	font-size: 1.2rem;
}

.bnr-bloc {
	width: 100%;
}

.bnr-bloc p {
	width: 92%;
	margin: 0 auto 30px;
}


/* PC */
@media only screen
    and (min-width: 668px) {
.bnr-bloc p {
	width: 100%;
}
}


/******人気記事*******/
.popular {
    width: 100%;
    margin: 0 auto;
}
.popular .p_post {
    margin-bottom: 40px;
}
.popular a.side_thum {
    width: 100%;
    height: 150px;
    display: block;
    overflow: hidden;
}
.side_thum img {
    width: 98%;
    height: 145px;
    object-fit: cover;
    border: 2px solid #ccc;
}

.popular a h4 {
    font-size: 14px;
    margin-top: 15px;
    color: #555;
    text-align: center;
    font-weight: 200;
}




/******人気記事 ここまで*******/

/* ekiten */
#sp-sidebar .ekiten-block-01 {
	margin-top: 2.5em;
}

#sp-sidebar .ekiten-block-02 div {
	box-sizing: content-box;
}

#sp-sidebar .ekiten-block-02 iframe {
	width: 230px !important;
}

#sp-sidebar .ekiten-block-02 .logo {
	width: 120px !important;
}

/* ekiten ここまで */

/* wp-calendar */
.calendar_wrap {
	margin: 0 0 30px;
}

#wp-calendar {
	width: 100%;
	margin: 0 auto;
}

#wp-calendar tbody {
	background: #fff;
}

#wp-calendar tr,
#wp-calendar th,
#wp-calendar td {
	border: none;
	line-height: 3.5;
}

#wp-calendar th {
	color: #333;
	background-color: #ccc;
}

#wp-calendar td {
	text-align: center;
	padding: 0;
}

#wp-calendar caption {
	margin-bottom: 10px;
	line-height: 1.0;
	font-weight: bold;
	text-align: center;
}

#wp-calendar #today {
	background-color: #ffcbd1;
}

#wp-calendar a {
	display: block;
	width: 100%;
	color: #333;
	text-decoration: none;
	background-color: #e8e8e8;
}

#wp-calendar a:hover{
	color: #666;
	text-decoration: none;
}

.wpp-list .wpp-thumbnail {
	width: 20px !important;
	max-width: 20px !important;
	height: 20px !important;
	max-height: 20px !important;
	margin: 0 .5em 0 0;
	padding: 0;
	line-height: 1.0;
	vertical-align: middle;
}

.wp-calendar-nav {
	display: table;
	width: 100%;
	margin: 0 auto;
}

.wp-calendar-nav span {
	display: table-cell;
	width: 33%;
	margin: 0;
	padding: 0;
	line-height: 2.2;
	font-weight: normal;
	font-size: 1.3rem;
	text-align: center;
}

.wp-calendar-nav span a {
	display: block;
	color: #333;
	text-decoration: none;
	background-color: #e8e8e8;
}

.wp-calendar-nav span a:hover{
	color: #666;
	text-decoration: none;
}
/* wp-calendar ここまで */


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

	SP Sidebar（追従ヘッダーナビ、ドロワーメニュー）

----------------------------------------------- */
/* SP */
@media only screen
    and (max-width: 667px) {
    
#main_sp {
	margin-top: 65px;
}
/* ヘッダーナビ */
#sp-headernav .main-navbar {
	position: relative;
  background-color: #fff;
  z-index: 10;
	-moz-box-shadow: 0 2px 2px rgba(0,0,0,.1);
	-webkit-box-shadow: 0 2px 2px rgba(0,0,0,.1);
	box-shadow: 0 2px 2px rgba(0,0,0,.1);
}

#sp-headernav .main-navbar-fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: 65px;
    z-index:99;
}

#sp-headernav .main-navbar-content {
	box-sizing: border-box;
    padding: 5px 10px;
    display:flex;
}

#sp-headernav .main-navbar-content p,
#sp-headernav .main-navbar-content li {
	margin: 0;
	padding: 0;
	line-height: 1.0;
}

#sp-headernav .logo-block {
	width: 70%;
	padding-top: 10px !important;
}

#sp-headernav .logo-block a{
	font-size:32px;
}
#sp-headernav .logo-block img {
	margin-top: 0.1em;
	width: 180px;
	max-width: 280px;
}

#sp-headernav .menu-block {
	float: right;
}

#sp-headernav .menu-block li {
	display: inline-block;
	width: 45px;
}

#sp-headernav .menu-block li:last-child {
	margin-right: 60px;
}


/* ドロワーメニュー */


#sp_menu .main-sidebar-right {
  right: 0;
  text-align: right;
}

#sp_menu .main-sidebar-left {
  left: 0;
  text-align: left;
}

#closeBtn {
	position: absolute;
	right: 20px;
	width: 24px;
	margin: 20px 0;
	padding: 0;
	cursor: pointer;
}


/*********************************************cssスマホプルダウン*********************************************/
#container {
    top: 65px;
}

/****メニュー全体****/
#sp_menu{
	position: absolute;
	top: 0;
	left: 0;
	width:100%;
	max-width:100%;
	height: 100%;
	pointer-events: none;
}

/****メニュー開閉ボタン****/

#sp_menu div.menu_btn{
	width: 45px;
	height: 45px;
	overflow: hidden;
	position: fixed;
	right: 0;
	top: 0;
	margin:10px;
	z-index: 99;
}

#sp_menu div.menu_btn img {
	max-width:100%;
}

#sp_menu .menuopen{
	color: rgba(255,255,255,1);
	font-size: 20px;
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right:0;
	pointer-events: auto;
	-webkit-overflow-scrolling: touch;
}

#sp_menu .menuclose{
	color: rgba(255,255,255,1);
	font-size: 20px;
	display: none;
	width: 60%;
	height: 60%;
	position: absolute;
	top: 15%;
	right: 15%;
	pointer-events: auto;
}

/****メニュー一覧****/
#sp_menu .side_width{
	width:360px;
	background-color: #fff;
	position: relative;

	z-index: 10;
}

#nav_back{
	height:100%;
	width:100%;
	position: absolute;
	display: none;
	pointer-events: auto;
	top: 0;
	right: 0;
	z-index:9;
}

#nav_back a{
	display:block;
	width:100%;
	height:100%;
}
#sp_menu .side_nav{
	width: 100%;
	position: absolute;
	/*top: 65px;*/
	margin:0;
	display: none;
	z-index:10;
	animation: slideIn .3s;
}
/* CSSアニメーションの設定 */
@keyframes slideIn {
  0% {
    opacity: 0;
    transform: translateX(64px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

#sp_menu .side_nav li{

	pointer-events: auto;
}
#sp_menu #side{
	pointer-events: auto;
}

/****メニューオープン時****/
#sp_menu:target .menuopen{
	display: none;
}

#sp_menu:target .menuclose{
	display: block;
}
#sp_menu:target .nav_backs{
	display: block;
}
#sp_menu:target .side_nav{
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding-bottom: 40px;
}


/****メニュークローズ****/
#nav_back:target{
	display:none;
}

#nav_back:target .side_nav{
	display:none;
}

/*** メインエフェクト ***/
#main_sp{
	/*アニメーション*/
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}

#sp_menu:target ~ #main_sp{
	-webkit-filter:brightness(70%);
	-moz-filter:brightness(70%);
	-ms-filter:brightness(70%);
	filter:brightness(70%);
	position:fixed;
}

/****メニュー、見出し*****/

#side-bar-area .contact-block{
	padding-top: 85px;
}

#side-bar-area .contact-block h3 {
	margin: 1.0em 0 0;
	padding-bottom: 10px;
	border-bottom: 3px solid var(--site_color);
	color: var(--site_color);
	font-size: 2.0rem;
	font-weight: 600;
	text-align: center;
}


#side-bar-area .contact-block li{
	width: 100%;
	margin: 0;
	box-sizing: border-box;
	border-top: 1px dotted #7e7e7e;
	text-align: left;
}

#side-bar-area .contact-block li:first-child {
	border-top: none;
}

#side-bar-area .contact-block li a{
  display: block;
  padding: 15px 10px 15px 30px;
	color: #333;
	text-decoration: none;
	font-size: 1.4rem;
	background: none;
}

#side-bar-area .contact-block li a:hover{
	color: #333;
}
/* ドロワーメニューここまで */
} /* SPここまで */



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

	PC Sidebar

----------------------------------------------- */
.menu-left-fix,
.blog-sidebar {
	width: 100%;
	background: #fff;
	border-radius: 6px;
}

.widget_title {
	margin: 0;
	padding: 20px;
	background-color: var(--site_color);
	color: #fff;
	line-height: 1.0;
	font-size: 20px;
}

.menu-left-fix ul,
.blog-sidebar ul {
	padding: 0 ;
}

.blog-sidebar h3 {
	margin-top:40px;
}

.menu-left-fix ul li,
.blog-sidebar ul li {
	border-bottom: 1px solid #ccc;
	font-size: 15px;
	text-align: left;
}

.menu-left-fix ul li:last-child,
.blog-sidebar ul li:last-child {
	margin-bottom: 20px;
	border-bottom: none;
}

.blog-sidebar ul li a,
.menu-left-fix ul li a {
	display: block;
	padding: 15px 0 8px;
	font-size: 15px;
	color: #333;
	position: relative;
}

.blog-sidebar ul li a:before,
.menu-left-fix ul li a:before {
	content:"";
    left: 4px;
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    top: 2px;
    padding-right: 2px;
    width: 7px;
    height: 7px;
    border: 7px solid transparent;
    border-left: 7px solid #fdac43;
}

.menu-left-fix ul li a:hover,
.blog-sidebar ul li a:hover {
	text-decoration:underline;
}

.menu-left-fix ul li a:last-child,
.blog-sidebar ul li a:last-child {
	padding-bottom: 15px;
}
/*************************************
	子ページメニュー
************************************/
.menu-left-fix ul li ul,
.blog-sidebar ul li ul{
	margin-left: 15px;
}

.menu-left-fix ul li ul li,
.blog-sidebar ul li ul li{
	background: url(../img/cont_menu_list.png) no-repeat left 10px;
	border:none;
	margin-top: -5px;
}

.menu-left-fix ul li ul li:last-child,
.blog-sidebar ul li ul li:last-child{
	background: url(../img/cont_menu_list_last.png) no-repeat left 10px;
}

.blog-sidebar ul li ul li a,
.menu-left-fix ul li ul li a {
	padding: 3px 0 5px 15px !important;
}

.blog-sidebar ul li ul li a:before,
.menu-left-fix ul li ul li a:before {
	content:"";
	border:none;
	display: block;
	width: auto;
	height: auto;
}

.menu-left-fix ul li ul li a:last-child,
.blog-sidebar ul li ul li a:last-child {
	padding-bottom: 10px;
}


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

	フッター インフォメーション 共通（footer-info）

----------------------------------------------- */
.footer-info {
	background-color: #fff;
}

.footer-info_in {
	width: 1140px;
	margin: 0 auto;
	padding: 50px 0;
}

.footer-info_in p {
	color: #111;
}

.h_foot li {
	line-height: 1.0;
	font-size: 18px;
}

.h_foot li:first-child {
	margin-bottom: 20px;
}

.info_left {
	float: left;
	width: 45.6%;
}

.info_right {
	float: right;
	width: 45.6%;
}

#footer .title {
	background: url(../img/ico_ft_01.png) no-repeat left center;
	font-weight: 600;
	font-size: 18px;
	padding: 7px 5px 7px 20px;
	border-bottom: 1px dashed #ccc;
	margin-bottom: 10px;
}


/* SP */
@media only screen
    and (max-width: 667px) {
.footer-info {
	width: 100%;
	margin-bottom: 20px;
}

.footer-info img {
	width: auto;
}

.footer-info_in {
	width: 94.6%;
	margin: 0 auto;
	padding: 40px 0 15px;
	box-shadow: none;
}

.footer-info p {
	margin: 5px 0 !important;
}

.h_foot li {
	text-align: center;
}

.info_left {
	float: none;
	width: 100%;
}

.info_right {
	float: none;
	width: 100%;
	margin-top: 40px;
}

.info_left ul.h_foot{
	margin:0 0 1em;
}

.info_left p{
	text-align: center;
}

.footer-map {
	position: relative;
  width: 100%;
	margin-bottom: 1.0em;
  padding-top: 56.25%;
}

.footer-map iframe {
	position: absolute;
	top: 0;
  right: 0;
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
}
}


/* PC */
@media only screen
    and (min-width: 668px) {
.h_foot {
	margin-bottom: 15px;
}
}/* PC ここまで */



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

	フッター LINEインフォ 共通（line-info）

----------------------------------------------- */
.line-info {
	width: 100%;
	background: #f7f7f7;
}

.line-info-inner {
	width: 1140px;
	margin: 0 auto;
	padding-top: 15px;
}

.line-info-inner .left_box {
  float: left;
  width: 45.6%;
  margin-top: 10px;
  padding: 3px;
}

.line-info-inner .right_box {
	float: right;
	width: 45.6%;
	margin-top: 40px;
	padding: 30px 0 40px;
}


/* SP */
@media only screen
    and (max-width: 667px) {
.line-info {
	width: 100%;
	height: auto;
}

.line-info-inner {
	width: 96%;
	margin: 0 auto;
}

.line-info-inner p, .line-info-inner ul {
	margin: 0;
}

.line-info-inner .left_box {
	width: 100%;
	float: none;
	margin: 0;
}

.line-info-inner .right_box {
	width: auto;
	float: none;
	margin: 10px auto;
	padding: 10px;
}
}


/* PC */
@media only screen
    and (min-width: 668px) {
.line-info-inner img {
	width: 100%;
}
}/* PC ここまで */



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

	Footer

----------------------------------------------- */
#footer {
	background: #fff;
}

.sns_icon{
	padding-left: 60px;
}

.copyright {
  color: #fff;
  text-align: center;
  background: var(--site_color);
}

.copyright img {
	width: 27px;
	height: 22px;
	vertical-align: middle;
}

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


/* SP */
@media only screen
    and (max-width: 667px) {  
#footer {
	width: 100%;
	height: auto;
}

.sns_icon {
	padding-left: 10px;
}

.copyright {
	padding: 10px 0;
	font-size: 12px;
	margin: 0;
} 

.copyright {
	padding: 10px 0 20px;
	font-size: 12px;
	margin: 0;
}

.sp-bg-map {
	text-align: center;
}

.sp-bg-map iframe {
	width: 100%;
	max-width: 100%;
}

.map-btn-block {
	margin-top: 15px;
}

.map-btn-block p {
	width: 46.6%;
}

.map-btn-block p:first-child {
	float: left;
}

.map-btn-block p:last-child {
	float: right;
}
} /* SP ここまで */


/* PC */
@media only screen
    and (min-width: 668px) {
.copyright {
	padding: 15px 0;
	font-size: 1.3rem;
	margin: 0;
}
}/* PC ここまで */



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

	フッター追従ボタン（お問い合わせ）

----------------------------------------------- */
/* SP */
@media only screen
    and (max-width: 667px) {
.ft_fixedbtn_sp {
	position: fixed;
  bottom: 0;
	left: 0;
	width: 100%;
	margin: 0;
	padding: 20px 0 0;
	background-color: #ffeac2;
  z-index: 10000;
	box-sizing: border-box;
	text-align: center;
}

.ft_fixedbtn_sp p {
	width: 94%;
	margin: 0 auto;
	line-height: 1.0;
}

.ft_fixedbtn_sp p img {
	vertical-align: top;
}

.ft_fixedbtn_tel {
	width: 18%;
	margin-right: 4%;
}

.ft_fixedbtn_time {
	width: 67%;
	margin-right: 4%;
	margin-bottom: 5%;
}

.close_ftbutton {
	width: 7%;
}
} 



/* SP */
@media only screen
    and (max-width: 667px) {
.foot_fix_bnr {
  position: fixed;
  bottom: 0px;
  left: 0px;
  z-index: 10000;
}

.foot_fix_bnr .l_bnr {
	float: left;
	width: 47%;
	padding-left: 5px;
}

.foot_fix_bnr .r_bnr {
	float: right;
	width: 47%;
	padding-right: 5px;
}

foot_fix_bnr .l_bnr img,
foot_fix_bnr .r_bnr img {
  width: 100%;
}
}



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

	Pagetopボタン

----------------------------------------------- */
#page-top img {
	width: 70px;
	height: 70px;
}

/* SP */
@media only screen
    and (max-width: 667px) {

#page-top {
	position: fixed;
	line-height: 1.0;
	bottom: 4.0em;
	right: 2.0em;
} /* SPここまで */
}


/* PC */
@media only screen
    and (min-width: 668px) {

#page-top {
	position: fixed;
	line-height: 1.0;
	bottom: 2.0em;
	right: 2.0em;
} /* PCここまで */
}



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

	PC用サイドバナー追従バナー

----------------------------------------------- */
/* PC */
@media only screen
    and (min-width: 668px) {
.js-fix-wrapper,
.js-fix-wrapper img {
	width: 250px;
}

.js-fix.is-fixed {
	position: fixed;
  top: 20px;
	z-index: 9999;
}

.js-fix.is-fixed:hover {
	filter: alpha(opacity=100);
	-moz-opacity: 1.0;
	opacity: 1.0;
}
} /* PCここまで */



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

	メインコンテンツ 共通

----------------------------------------------- */
h1 {
	width: 100%;
	margin-bottom: 0;
	padding: 10px 20px;
  background: #4b7b82;
  font-size: 40px;
  line-height: 2.0;
  font-weight: 600;
  color: #fff;
  text-align: center;  
	box-sizing: border-box;
}

#header h1 {
	width: auto;
	margin: 0;
	padding: 0;
	background: none;
	line-height: 1.0;
}

.left-content-main h2,
.right-content-main h2 {
	margin-bottom: 20px;
  padding: 15px 20px;
	border: 4px solid var(--site_color);
  background: #fff;
	color: var(--site_color);
	line-height: 1.5;
	font-weight: 600;
	font-size: 24px;
	text-align: left;	
}

.left-content-main h2 a:hover,
.right-content-main h2 a:hover {
	text-decoration: underline;
}

.left-content-main h3,
.right-content-main h3 {
	margin-bottom: 20px;
	padding: 20px 30px 18px;
	border-left: 9px solid var(--site_color);
	background: #f7f7f7;
	line-height: 1.4;
	color: var(--font_color);
	font-size: 22px;
	font-weight: 600;
	clear: both;
}

.left-content-main h4,
.right-content-main h4 {
	margin-bottom: 20px;
    padding: 0 15px 0;
    border-left: 9px solid var(--site_color);
    background: #fff;
    line-height: 2.0;
    font-weight: 600;
    font-size: 2rem;
    color: var(--font_color);
    letter-spacing: 1.6px;
}

.left-content-main h5,
.right-content-main h5 {
	margin-bottom: 15px;
    padding: 0;
    color: var(--font_color);
    line-height: 2.0;
    font-size: 20px;
    font-weight: 600;
}

.left-content-main h5:before,
.right-content-main h5:before{
	font-family: "Font Awesome 5 Free";
    content: '\f00c';
    font-weight: 900;
    padding-right: 6px;
    color: var(--site_color);
}

.left-content-main h6,
.right-content-main h6 {
	margin-bottom: 15px;
    padding: 0;
    color: var(--site_color);
    font-weight: 600;
    font-size: 1.8rem;
}

/* m_common_info */
.m_common_info {
	background-color: #fff;
	padding: 30px;
  margin: 40px 0 0;
}

.m_common_info p,
.time_tbl th,
.time_tbl td {
	color: #111;
	font-size: 16px;
}

.m_common_info-head {
	margin: 0;
	padding: 0;
	line-height: 1.0;
	font-size: 0 !important;
}

.m_common_info-inner {
	margin-bottom: 50px;
	padding: 30px;
	background: #ffeed9;
	box-sizing: border-box;
}

.time_tbl {
	margin: 0 auto 5px;
	background: #fff;
	width: 100%;
}

.time_tbl th {
	padding: 4px 0;
	background: #4b7b82;
	text-align: center;
	font-weight: 600;
	vertical-align: middle;
	color: #fff;
}

.time_tbl th.left {
	max-width: 82px;
	padding: 0;
}

.time_tbl td {
	padding: 10px 0;
	text-align: center;
	color: #f08b08;
	font-weight: 600;
	font-family: sans-serif;
	vertical-align: top;
	line-height: 1.0;
}

.time_tbl td.left {
	max-width: 82px;
	color: #111;
	font-size: 15px;
}

.sankaku {
	color: #ef748b !important;
}

/* m_common_infoここまで */

/* float */
.imgleft, .imgright,
.imgleft img, .imgright img,
.left-column img, .right-column img {
	line-height: 1.0;
}
/* floatここまで */

/*-------------------------------------
	投稿記事　アーカイブ 記事一覧
---------------------------------------*/
.post p.day {
	margin-top: 20px;
	margin-bottom: 0 !important;
	color: #7b7b7b;
	font-size: 13px;
	text-align: center;
}

.post p.cat {
    text-align: center;
    margin-bottom: 30px;
}

.post p.cat a {
    color: #4773BA;
    font-size: 13px;
}

.post p.cat a:hover {
    text-decoration: underline;
}


a.post_thum {
    width: 100%;
    display: block;
    overflow: hidden;
    margin-bottom: 20px;
}

.post_thum img {
    max-width: 99%;
    width: 100%;
    height: 300px;
    object-fit: cover;
    display: block;
    margin: 0 auto 8px;
    border: 2px solid #ccc;
}

.post_summary {
    padding: 0 20px;
}

.read_more {
    text-align: center;
    margin-bottom: 60px;
}

.read_more a {
    padding: 15px 35px;
    border: 1px solid #ccc;
    text-align: center;
    font-size: 14px;
}

.blog_box {
    margin-bottom: 20px;
    clear: both;
    overflow: visible;
}

.left-content-main .post,
.right-content-main .post {
	border: 1px solid #e3e3e3;
	background-color: #fff;
	padding: 30px;
  margin-bottom: 20px;
}

/* 新着情報 */
.news_box {
	margin-bottom: 20px;
	padding-bottom: 20px;
	background-color: #fff;
}

.news_box_inner {
	margin: 0 auto;
	width: 90%;
	padding: 20px;
	border: 2px solid #ddd;
	border-radius: 8px;
}

.news_box_inner dl {
	margin: 0 0 10px;
	padding: 0 0 10px;
	border: none;
	border-bottom: 1px dashed #ddd;
}

.news_box_inner dl:last-child {
	margin: 0;
	padding: 0;
	border: none;
}

.news_box_inner dt, .news_box_inner dd {
	display: table-cell;
	margin: 0;
	padding: 0;
	border: none;
	font-size: 1.4rem;
}

.news_box_inner dt {
	padding-right: 20px;
	font-weight: bold;
}
/* 新着情報ここまで */

/*--------------------------------------------
	ページ送り 
---------------------------------------------*/
#next {
    float: right;
    width: 15%;
}

#back {
    float: left;
    width: 15%;
}

#next a {
    padding: 15px;
    text-align: center;
    border: 1px solid #ccc;
    background-color: #fff;
    display: block;
}

#back a {
    padding: 15px;
    text-align: center;
    border: 1px solid #ccc;
    background-color: #fff;
    display: block;
}

/*ページャースタイル*/
.page_next{
	margin-left:200px;
	text-align:center;
}
.pagenation {
	clear: both;
	position: relative;
	font-size: 17px;
	line-height: 1.7;
}

/*singleページャー*/

#pages .contents {
	padding: 30px;
	margin-bottom: 20px;
}

#pager .back {
    border: 1px solid #ccc;
    padding: 20px 10px;
    float: left;
    margin: 10px;
    width: 44.3%;
}

#pager .next {
    border: 1px solid #ccc;
    padding: 20px 10px;
    float: right;
    margin: 10px;
    width: 44.3%;
}

.back a, .next a {
    color: #7b7b7b;
    font-size: 13px;
}

#pager .back img,
#pager .next img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border: 2px solid #ccc;
}

.back h6 a, .next h6 a {
    color: #337ab7;
}

#pager .next p {
    clear: both;
    text-align: right;
    margin-top: 10px;
    margin-bottom: 10px;
}

#pager .back p {
    clear: both;
    text-align: left;
    margin-top: 10px;
    margin-bottom: 10px;
}


/*----------------------------------------
	関連記事　おすすめ記事（投稿記事の下）
-----------------------------------------*/
.under_box {
    margin: 0 -20px;
}

ul.post-categories,
#page_sub .post ul.post-categories {
	background:none;
	border:none;
	padding:0;
	margin:0;
}

.post .related {
    border: 1px solid #ccc;
    padding: 20px 10px;
    float: left;
    margin: 10px;
    width: 44.3%;
}

.post .related img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border: 2px solid #ccc;
}

.post .relation h5 {
    margin: .5em 0 0;
    padding: 0 !important;
    border: none !important;
    font-size: 13px;
    font-size: 1.3rem;
    background: 0 0;
}

.post .related h6 a {
    font-size: 16px;
    font-weight: 500;
    color: #337ab7;
}

.post .related ul {
    background: none;
    border: none;
    margin: 0;
    padding: 0;
}

.post .rela_cat a {
    background: #eee;
    font-size: 12px;
    padding: 5px 15px;
    float: right;
    margin: 2px;
}

.post .rela_cat a:hover {
	text-decoration: underline;
}

#bottom_navi a,
#bottom_navi span{
	font-size:14px;
}




/* SP */
@media only screen
    and (max-width: 667px) {
h1 {
	font-size: 26px;
}

.right-content-inner {
	padding: 0 3.125% 3.125%;
}

.left-content-main section,
.right-content-main section {
	margin-bottom: 120px;
}

.left-content-main h3,
.right-content-main h3 {
	font-size: 18px;
	padding: 10px 20px;

}

.left-content-main h4,
.right-content-main h4 {
	font-size: 1.8rem;
	font-weight: 600;
}

.left-content-main h5,
.right-content-main h5 {
	font-size: 1.6rem;
	font-weight: 600;
}

.left-content-main h6,
.right-content-main h6 {
	font-size: 1.8rem;
	font-weight: 600;
}


/* float */
.imgleft, .imgright,
.left-column p, .right-column p {
	width: 60%;
	margin: 0 auto 1.0em;
	padding: 0;
	text-align: center;
}

.left-column p img,
.right-column p img {
	width: 100%
}
/* floatここまで */

/* ムービー */
.movie {
  position: relative;
  margin-bottom: 3.0em;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* ムービーここまで */

/*--------------------------------------------
	sp 投稿記事　アーカイブ
---------------------------------------------*/
.left-content-main .post,
.right-content-main .post {
    padding: 15px;
    margin-bottom: 20px;
}

/*--------------------------------------------
	spページ送り 
---------------------------------------------*/
#next {
    float: right;
    width: 15%;
}

#back {
    float: left;
    width: 15%;
}

#next a {
    padding: 15px;
    text-align: center;
    border: 1px solid #ccc;
    background-color: #fff;
    display: block;
}

#back a {
    padding: 15px;
    text-align: center;
    border: 1px solid #ccc;
    background-color: #fff;
    display: block;
}

/*ページャースタイル*/
.page_next{
	margin-left:200px;
	text-align:center;
}
.pagenation {
	clear: both;
	position: relative;
	font-size: 17px;
	line-height: 1.7;
}

/*singleページャー*/

#pages .contents {
    padding: 15x;
    margin-bottom: 20px;
}

#pager .back {
    border: 1px solid #ccc;
    padding: 20px 10px;
    float: none;
    margin: 10px auto;
    width: 98%;
}

#pager .next {
    border: 1px solid #ccc;
    padding: 20px 10px;
    float: none;
    margin: 10px auto;
    width: 98%;
}

.back a, .next a {
    color: #7b7b7b;
    font-size: 13px;
}

#pager .back img,
#pager .next img {
    width: 100%;
    height: 150px;
    object-fit: cover;
}

.back h6 a, .next h6 a {
    color: #337ab7;
}

#pager .next p {
    clear: both;
    text-align: right;
    margin-top: 10px;
    margin-bottom: 10px;
}

#pager .back p {
    clear: both;
    text-align: left;
    margin-top: 10px;
    margin-bottom: 10px;
}


/*----------------------------------------
	sp関連記事　おすすめ記事（投稿記事の下）
-----------------------------------------*/
.under_box {
    margin: 0;
}

.post .related {
    float: none;
    margin: 10px auto;
    padding: 20px 10px;
    width: 98%;
}

.post .related h6 a {
    font-size: 13px;
}

#bottom_navi a,
#bottom_navi span{
	font-size:14px;
}

} /* SP ここまで */


/* PC */
@media only screen
    and (min-width: 668px) {

.left-content-main section,
.right-content-main section {
	margin-bottom: 150px;
}

/* float */
.imgleft {
	float: left;
	margin: 0 30px .5em 0;
	padding: 0;
}

.imgright {
	float: right;	
	margin: 0 0 .5em 30px;
	padding: 0;
}

.column-box .left-column {
	float: left;
	width: 216px;
}

.column-box .right-column {
	float: right;
	width: 374px;
}
/* floatここまで */

/* ムービー */
.movie {
	width: 700px;
	margin: 0 auto 40px;
	padding: 0;
	line-height: 1;
} 
/* ムービーここまで */
} /* PC ここまで */



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

	共通チェックリストレイアウト

----------------------------------------------- */
/* check-list v1 */
.check-list {
	margin: 0 0 20px !important;
	padding: 20px !important;
	border: none !important;
	border-radius: 6px;
	background: #f7f7f7 !important;
}

.check-list:last-child {
	margin-bottom: 0;
}

.check-list li {
	list-style-type: none;
	margin-bottom: .75em;
	padding-left: 32px;
	line-height: 2.0;
	font-weight: 600;
	background: url(../img/ico_check_01.png) no-repeat left .3em;
	background-size: 23px 16px;
}

.check-list li:last-child {
	margin-bottom: 0;
}


/* check-list v2 */
.check-list-2 {
	margin: 0 0 20px !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
}

.check-list-2 li {
	margin-bottom: 12px;
	padding: 8px 5px 10px 22px;
	border-bottom: 1px dashed #ccc;
	background: url(../img/ico_ft_01.png) no-repeat left 17px;
}

.check-list-2 li:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}


/* check-list v3 */
.check-list-3 {
	margin: 0 auto 20px;
	padding: 30px;
	border: 5px solid #ccc;
	background: #fff;
	box-sizing: border-box;
}

.check-list-3 ul {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
}

.check-list-3 li {
	list-style-type: none;
	margin-bottom: 1.0em !important;
	padding: 0 0 .75em 32px;
	border-bottom: 2px dotted #ccc;
	font-weight: 600;
	line-height: 1.5;
	background: url(../img/ico_check_01.png) no-repeat left .3em;
	background-size: 23px 16px;
}

.check-list-3 li:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.check-list-3 .img-bloc {
	margin: 0;
	padding: 0;
	line-height: 1.0;
}


/* SP */
@media only screen
    and (max-width: 667px) {
.check-list-3 .img-bloc {
	width: 50%;
	margin: 0 auto 20px;
}

.check-list-3 .img-bloc img {
	width: 100%;
}
}


/* PC */
@media only screen
    and (min-width: 668px) {
.check-list-3 {
	width: 700px;
}

.check-list-3 ul {
	float: left;
	width: 350px;
}

.check-list-3 .img-bloc {
	float: right;
	width: 178px;
}
}



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

	共通カラムブロック（2カラム）

----------------------------------------------- */
.two-column-bloc {
	width: 100%;
	margin: 0 0 40px;
	padding: 0;
}

.two-column-bloc .case {
	float: left;
	width: 48%;
	margin-right: 4%;
	margin-bottom: 4%;
	padding: 20px 20px 10px;
	border: 6px solid #ddd;
	box-sizing: border-box;
}

.two-column-bloc .case:nth-child(2n) {
	margin-right: 0;
}

.two-column-bloc .case img {
	width: 100%;
	margin-bottom: 2%;
}

.two-column-bloc .case-ttl {
	margin: 0 0 1.0em;
	color: #8a642d;
	line-height: 1.2;
	font-size: 2.4rem;
	font-weight: 600;
	font-family: "Hiragino Mincho ProN", serif;
}

.two-column-bloc .case p {
	text-align: center;
}

.two-column-bloc .case-img {
	line-height: 1.0;
}

.two-column-bloc .case-img img {
	margin: 0;
	padding: 0;
	line-height: 1.0;
}

.two-column-bloc .txt-gentei {
	margin-bottom: 0;
	padding-top: 30px;
	background: url(../img/ar_02.png) no-repeat center top;	
	background-size: 21px auto;
	color: #ec1b51;
	font-weight: 600;
	font-size: 2.4rem;
}

.two-column-bloc .txt-gentei span {
  animation: flash 1s linear infinite;
  animation-iteration-count: 6;
}

@keyframes flash {
  0%,100% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}


/* SP */
@media only screen
    and (max-width: 667px) {
.two-column-bloc .case {
	float: none;
	width: 100%;
	margin-right: 0;
}
} /* SP ここまで */



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

	共通リストブロック

----------------------------------------------- */
.list-bloc {
	margin-bottom: 50px;
	border: none;
	box-sizing: border-box;
}

.list-bloc tr {
	border: none;
}

.list-bloc th, .list-bloc td {
	border: none;
	font-size: 1.4rem;
	text-align: left;
	vertical-align: middle;
	box-sizing: border-box;
}

.list-bloc th {
	padding: 1.0em 20px;
	background: #eee;
	font-weight: 600;
}

.list-bloc ul,
.list-bloc ol {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
}



/* SP */
@media only screen
    and (max-width: 667px) {
.list-bloc, .list-bloc tbody, .list-bloc tr, .list-bloc th, .list-bloc td {
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
}

.list-bloc th {
	padding: 1.0em 20px;
}

.list-bloc td {
	margin-bottom: 20px;
	padding: 1.0em 20px 0;
}
}/* SP ここまで */


/* PC */
@media only screen
    and (min-width: 668px) {
.list-bloc {
	width: 100%;
}

.list-bloc tr {
	border-bottom: 1px solid #fff;
}

.list-bloc th {
	min-width: 11.0em;
}

.list-bloc td {
	margin-bottom: 20px;
	padding: 1.0em 20px;
}
}/* PC ここまで */

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

	ブログ監修者プロフィール表示

----------------------------------------------- */
h4.supervision_title{
	margin:0;
	position: relative;
	left:3%;
	bottom: -45px;
	background-color: var(--site_color);
	width:170px;
	font-size:18px;
	color:#fff;
	font-weight:normal;
	text-align:center;
}
#supervision{
	width:85%;
	margin:0 auto;
	border:1px solid var(--site_color);
	padding:60px 20px 30px;
}
#supervision .prof_img img{
	border-radius:50%;
}
#supervision .prof_desc{
	padding:0 20px;
	line-height: 1.5;
	font-size: 14px;
}
#supervision span{
	font-size: 16px;
	color:#000;
}
/* SP */
@media only screen
    and (max-width: 667px) {
h4.supervision_title{
	bottom: -15px;
	font-size:16px;
	line-height: 1.6;
}
#supervision{
	width:97%;
	margin:0 auto;
	border:1px solid var(--site_color);
	padding:40px 20px 30px;
}
#supervision .prof_img{
	margin:0 auto 10px;
}
#supervision .prof_desc{
	padding:0 10px;
}

}/* SP ここまで */
/*---------------------------------------------
 * Flexbox
 *---------------------------------------------*/
.d-f {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.jc-sa {
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.jc-sb {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.jc-c {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.ai-c {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.ac-c {
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
}

.ac-sb {
    -ms-flex-line-pack: justify;
    align-content: space-between;
}

.fxw-w {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.fxw-wr {
    -ms-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse;
}
/* SP */
@media only screen
    and (max-width: 667px) {

    /* SP Flexbox util class */
    .sp-d-f {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    
    .sp-jc-sb {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    
    .sp-jc-se {
        -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
        justify-content: space-evenly;
    }
    
    .sp-jc-c {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    
    .sp-jc-fs {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
    
    .sp-jc-normal {
        -webkit-box-pack: normal;
        -ms-flex-pack: normal;
        justify-content: normal;
    }
    
    .sp-ai-c {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    
    .sp-ai-fs {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
    
    .sp-fxw-w {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    
    .sp-fxw-wr {
        -ms-flex-wrap: wrap-reverse;
        flex-wrap: wrap-reverse;
    }
}
/*****************************************
	SNSボタン
*****************************************/
#supervision ul{
	background:none !important;
	border:none !important;
	margin:0 !important;
}
.post ol {
    background: #f8f9ff;
    border: 1px dashed #4865b2;
    margin: 30px 30px 60px;
    padding: 30px;
}
.flowbtn7{
	border-radius:3px;
	position:relative;
	display:inline-block;
	width:70px;
	height:35px;
	font-size:20px;
	color:#fff!important;
	text-decoration:none;
	transition:.5s;			
}
.flowbtn7 i{
	position:absolute;
	top:50%;
	left:50%;
	-ms-transform:translate(-50%,-50%);
	-webkit-transform:translate(-50%,-50%);
	transform:translate(-50%,-50%);
}
ul.snsbtniti{
	padding:0!important;
	padding-top:15px !important;
}
.snsbtniti{
	display:flex;
	flex-flow:row wrap;
	/*justify-content:space-around;*/
}
.snsbtniti li{
	/*flex:0 0 33%;*/
	text-align:center !important;
	margin:2px !important;
	margin-bottom:0 !important;
}
.flowbtn7:hover{
	/*-webkit-transform:translateY(-5px);
	-ms-transform:translateY(-5px);
	transform:translateY(-5px);*/
	opacity: .7;
}
.fl_tw7{
	background:#2196f3;
}
.insta_btn7 .fa-instagram{
	font-size:25px;	
}
.insta_btn7{
	background:-webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
	background:linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
	overflow:hidden;	
}
.insta_btn7:before{
	content: '';
	position:absolute;
	top:27px;
	left:-12px;
	width:59px;
	height:40px;
	background:-webkit-radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
	background:radial-gradient(#ffdb2c 5%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
}
.fl_fb7{
	background:#3b5998;
}
.fl_yu7{
	background:#f33047;
	font-size:18px;
}
.fl_li7{
	background:#39b13e;
	font-size:24px;
}



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

	メインコンテンツ共通箇所

----------------------------------------------- */
.main-common {
	margin-top: 100px !important;
}

.main-common .right-content-inner {
	background-color: #fff;
}

.main-common img {
	max-width: 100%;
}

/* SP */
@media only screen
    and (max-width: 667px) {
.main-common .right-content-inner {
	padding: 3.125%;
}
}


/* PC */
@media only screen
    and (min-width: 668px) {
.main-common .right-content-inner {
	padding: 30px;
}
}