/*
Theme Name: 3op theme02
Description: 3op用テンプレートテーマ02（2024）
Version: 0.0
Author: nanaPlus
Author URI: https://nana-plus.com/
Description:Q＆A・お客様の声あり-スマホ対応レスポンシブデザイン
*/

@charset "utf-8";
/* CSS Document */
* {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
	/* 16px*0.625=10px(=1rem) */
	height: 100%;
	background: #fff;
	scroll-behavior: smooth;
}
body {
	min-width: 320px;
	height: 100%;
	font-size: 16px;font-size: 1.6rem;
	font-feature-settings: "palt";
	margin: 0 auto;
	font-family:"Helvetica Neue", Arial,
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Sans",
	"メイリオ", Meiryo,  sans-serif;
	color: #111;
	line-height: normal;
	text-align: left;
}
/* reset */
ul, ol, dl, li, dt, dd, h1, h2, h3, h4, h5, h6, input, textarea, select, article, aside, section, buttn video {
	margin: 0px;
	padding: 0px;
}
ul, ol {list-style:none;}
img {
	border: none;
	color:#000;
	max-width: 100%;
	width: auto;
	height: auto;
}
fieldset {border: none}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input[type="button"], input[type="submit"], input[type="reset"], button {
	cursor: pointer
}
input[type="button"], input[type="submit"], input[type="reset"], button, input[type="search"], input[type="text"], input[type="email"], input[type="tel"], input[type="number"], textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
}
input, button, textarea {
	line-height: normal;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
 input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
 -webkit-appearance: none
}
 button::-moz-focus-inner, input::-moz-focus-inner {
 border: 0;
 padding: 0;
}
 input[type="hidden"], [hidden], .hidden {
 display: none
}
textarea {
	overflow: auto;
	resize: none;
}

/* tools */
.clear {
	clear: both;
	display: block;
	line-height: 0;
	height: 0;
	font-size: 0;
}
.clearfix:after,
.wrap:after,
.spanning:after,
.content:after,
.main:after,
aside:after,
article:after,
.text:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
	font-size: 0;
}



/* =================================== */
/* link */
/* =================================== */
a:link {
	text-decoration: none;
	color: #e88787;
}

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

a:hover {
	text-decoration: underline;
	color: #8c3a3a;
}

a:active {
	text-decoration: none;
	color: #e8a54e;
}

/* =================================== */
/*  h1-h6 */
/* =================================== */
h1{}
h2{}
.pageh2 {	
	margin:1em auto .5em;
	padding:;
	font-size:2.6rem;
	font-size:26px;
	color:#aa7794;/* Customize */
	display: block;
	width: 100%;
	background: linear-gradient(transparent 60%, #fdedf6  60%);
}
h3{}
h4{}
h5{}
h6{}


/* =================================== */
/*  layout */
/* =================================== */
#wrap {
	overflow:hidden;
	margin:0;
	padding:0;
}
.inn-fr {
	margin: 0 auto;
	display: block;
	padding:0 .3em;
	clear:both;
}
#maincontents {
	margin:0;
	padding: 0;
	display:block;
}
#contentstxt {
	overflow:hidden;
	padding:1em 0;
	width:100%;
	color:#333;
}
#pcontents {
	margin:0 auto;
	color:#333;
	font-size:14px; font-size:1.4rem;
	min-height:300px;
}
#pcontents p { line-height:180%;}

#side {
	margin:0 auto;
	padding:.5em 1em;
	background: #f0f0f0;
}
/*  BG */
.bg01 {	background: url(images/bg.png) repeat ;}/* Customize mainbg */
.bg02 {	background: #fff;}/* Customize white */
.bg03 {	background: #fbf9f9;}/* Customize freearea01 */
.bg04 {	background: #f7f7f7;}/* Customize freearea02 */
.bg05 {	background: #fff6f6;}/* Customize blogarea */
.bg06 {	background: #ffe5e5;}/* Customize footerarea */

/* =================================== */
/*  header */
/* =================================== */
#header {
	width:100%;
	color:#fff;/* Customize */
}
.sticky {
	position: -webkit-sticky; 
	position: sticky;
	top: 0;	
}
#hleft{
	order:1;
}
#hright {
    display:block;
	order:2;
	width:100%;
	min-height:140px;
}

.hlogo {
	margin:0 0 0 2em;
	padding:0;
	font-size:26px;	font-size:2.6rem;
	font-weight:normal;
}
.hlogo img {width:280px;}
.hlogo span { color:#666; font-size:12px;font-size:1.2rem; display:block;}
.hsns ul {
	justify-content:flex-end;
}
.hsns ul { margin:1em auto .5em;}
.hsns li { margin:.1em .5em;}
.hsns li img { width:30px;}

.hcontact {
	margin:-5px auto .5em;
}


	
/* =================================== */
/*  global menu */
/* =================================== */
#globlmenu {
	margin:1em 0 0 0;
	padding:0;	
	flex-grow: 2;
	display:block;
	background:#fff; /* Customize */
	box-shadow: 0 2px 2px -1px rgba(196, 174, 174, 0.56);
	border-radius: 24px 0 0 24px;
	font-family: "メイリオ", Meiryo,  sans-serif;
	height:5rem; /* Customize 2行の場合は10rem　1行なら5rem */}

	@media screen and (min-width:900px) {
	#globlmenu {
	}
	 #snavi {display:none !important;}
	}
    
.gnavi {
	display:-webkit-box;
	display:-ms-flexbox;
    display: flex;
    height: 5rem;
    margin: 0 auto;
	padding:0 1em 0 2em;
}
.gnavi > li {/*親階層のみ幅を25%にする*/
    width: 100%;
}
/*全てのリスト・リンク共通*/
.gnavi li {
    list-style: none;
    position: relative;
	z-index:1000;
}
.gnavi li a {
    color: #444;/* Customize */
    display: block;
    line-height: 100%;
    text-align: center;
    text-decoration: none;
    min-height: 5rem;
    width: 100%;
	font-size:13px; font-size:1.3rem;/* Customize 1列の場合は14でも */
	padding:1.5em .5em .1em;
}
.gnavi li  {
    height: 5rem;
}

.gnavi li:first-of-type { 
}
/*子階層以降共通*/
.gnavi li li {
    height: 0;
    overflow: hidden;
    transition: .5s;
	text-align:left;
}
.gnavi li li a {
    border-top: 1px solid #fff2f2;/* Customize */
	padding:-20px 10px 10px 10px;/* Customize */
}
.gnavi li:hover > ul > li {
    min-height: 5rem;
    overflow: visible;
    background:#f3ff39 ; /* Customize */
	
}
.gnavi li ul li ul {
    left: 100%;
    position: absolute;
    top: 0;
    width: 100%;
}
/*一番右のメニュー*/
.gnavi > li:nth-child(5) ul li ul {/*5menuの場合　* Customize */
    left: -100%;
}
/*aの背景色を指定*/   
.gnavi li:hover a {/*親階層*/
	background: #fff;/* Customize */
	color:#ff8989;/* Customize */
}
.gnavi li li a {/*子階層*/
    background: #fffcf3;
}
.gnavi li li:hover a {
    background: #fff2f2;
}
.gnavi li ul li ul li a {/*孫階層*/
    background: #fffcf3;
}
.gnavi li ul li ul li:hover a {
    background: #fff2f2;
}
.gnavi li ul li ul li ul li a {/*ひ孫階層*/
    background: #fffcf3;
}
.gnavi li ul li ul li ul li:hover a {
    background: #fff2f2;
}
/*リストに「icon」を付ける*/
.gnavi > li > ul:before{/*子階層*/
    border: 5px solid transparent;
    border-top: 5px solid #ff8989;
    content: "";
    right: 1rem;
    position: absolute;
    top: 1rem;
    transform: translateY(-40%);
}
.gnavi li ul li ul:before {/*孫階層*/
    border: 5px solid transparent;
    border-left: 5px solid #ff8989;
    content: "";
    left: -20px;
    position: absolute;
    top: 1em;
    transform: translateY(-50%);
}
.gnavi li:nth-child(5) ul li ul:before {/*一番右のメニューの孫階層*/
    border: 5px solid transparent;
    border-right: 5px solid #ff8989;
    left: auto;
    right: -20px;
}


/* =================================== */
/*  hamburger menu 180315　*/
/* =================================== */
.snavi_tit {
	margin:1em;
	padding:0 0 0 1.5em;
	color:#e88787;
	font-weight:bold;
	letter-spacing:.2em;
}
#snavi {
  position: relative;
  margin:1em auto;
  top:0;
  max-width:90%;
  background:;/* Customize */
  border-bottom:1px solid #e88787; /* Customize */
  border-top:1px solid #e88787; /* Customize */
}

/*checkbox none*/
#snavi input[type="checkbox"] {
	display:none;
}

/*icon space*/
#snavi_open {
  display: inline-block;
  width: 100%;
  height: 36px;
}

/*hamburger icon*/
#snavi_open span, #snavi_open span:before{
  padding:.1em 0 0 0em;
  position: absolute;
  height:36px;
  width: 100%;
  display: block;
  content: '　◀ Menu';
  cursor: pointer;
  color:#e88787;/* Customize */
}
#snavi_open span:before {
  bottom: -10px;
}
#snavi_open span:after {
  bottom: -20px;
}
/*close cover*/
#snavi_close {
  display: none;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #999;/* Customize */
  opacity: 0;
  transition: .3s ease-in-out;
}

/*inn*/
#snavi_menu {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 85%;
  max-width: 20em;
  height: 85%;
  background: #fff6f6;/* Customize */
  transition: .3s ease-in-out;
  -webkit-transform: translateX(-105%);
  transform: translateX(-105%);
}
#snavi_menu {	
	-webkit-overflow-scrolling:touch;
}
/*cehcked*/
#snavi_input:checked ~ #snavi_close {
  display: block;
  opacity: .5;
}
#snavi_input:checked ~ #snavi_menu {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
  box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
#snavi_menu ul {
	margin-left:1em;
	margin-right:.5em;
}
#snavi_menu ul li {
	padding:.5em 0;
	list-style: inside ;
	color:#777;
	border-bottom:#e88787 1px dashed;/* Customize */
	font-weight:bold;
}
#snavi_menu ul li a {
	color:#777;
	text-decoration:none;
}
#snavi_menu ul li ul li {
	list-style:none;
	font-weight:normal;
}
#snavi_menu ul li ul li span:before {content:"\0bb";}
#snavi_menu ul li ul li:last-child {border-bottom:none;}


/* =================================== */
/*  side  */
/* =================================== */
.sidebox {
	margin:1em auto 2em;
}
#side .widgebody {	margin:0 auto 2em ;	width:100%;	font-size:13px; font-size:1.3rem;}
#side .textwidget {	margin:0 auto;	width:100%;}
#side .widgebody p{margin:0 auto -2em;}
#side .widgebody a { text-decoration:none;}
#side .widgebody li {
	margin:0 0 .5em 0;
	list-style:inside square;
	border-bottom:1px dotted;
}
#side .sidebnrimg {
	width:80%;
	margin:0 auto;
}
.searchform label {
	display:none;
}
.searchform input {
	margin:.5em;
	padding:.5em;
}
.wp-block-tag-cloud a {
	display: inline-block;
	margin: .2em .2em 5px;
	padding: .3em .5em;
	text-decoration: none;
	color: #fff;/* Customize */
	border-radius: 6px;
	background-color: #3e383b;/* Customize */
	font-size: 12px !important;
	line-height:105%;
}
.wp-block-tag-cloud a:hover {
	transition: 0.3s;
	color: #444;
	background: #a5c9b8;/* Customize */
}
/* =================================== */
/*  footer  */
/* =================================== */
#footer {background:#ffe5e5;}
#footerbox {margin:0 auto; padding:2em .5em 0;}
.fmenu  {
	margin:1em auto;
	padding:0;
	border-bottom: solid 1px #fff;
	text-align:center;
}
.fmenu ul {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	flex-wrap: wrap;}
.fmenu li { margin:0 1em .5em; }

.finfo {}
.finfo ul {margin:2em auto;}
.finfo li { margin:0 1.5em .5em;　font-size:85%; color:#666;}
/* =================================== */
/*  copyright */
/* =================================== */
#copy {
	margin:2em 0 0 0;
	padding:0 0 .1em 0;
	display:block;
	font-size:10px;
	font-size:1.0rem;
	text-align: center;
}


/* =================================== */
/*  pagetop */
/* =================================== */
/*リンクの形状*/
#page-top a{
  display: flex;
  justify-content:center;
  align-items:center;
  width: 60px;
  height: 60px;
  text-transform: uppercase; 
  text-decoration: none;
  transition:all 0.3s;
}
#page-top a:hover{}

/*リンクを右下に固定*/
#page-top {
  position: fixed;
  right: 10px;
  z-index: 2;
  /*はじめは非表示*/
  opacity: 0;
  transform: translateY(100px);
}

/*　上に上がる動き　*/
#page-top.UpMove{
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/*　下に下がる動き　*/
#page-top.DownMove{
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 1;
  transform: translateY(100px);
  }
}

/* =================================== */
/*  pan */
/* =================================== */
#breadcrumb {
	margin:0 auto;
	padding:.5em;
	font-size:12px; font-size:1.2rem;
	text-align:left;
	clear:both;
	background:#e88787;
}
#breadcrumb, #breadcrumb a, .breadcrumbs span { color:#fff; text-decoration:none;}
.breadcrumbs {min-height:13px; color:#fff;}
.breadcrumbs ul {
	display:flex;
	line-height:120%;
}


/* =================================== */
/*  page */
/* =================================== */
/* page title */
.pagetit {
	margin:1em auto 0;
	padding: 1em 0;
	font-size:3.0rem;
	font-size:30px;
	color:#676064;/* Customize */
	display: block;
	width: 100%;
	border-bottom:1px solid;
}


#pcontents ul {
	margin:1em auto;
}
#pcontents ul li {
	margin:0 0 1em 0;
	list-style:square inside;
}



/* =================================== */
/*  TOP  */
/* =================================== */
/* TOP image */
.topmainimg img {
	display: block;
	width: 100%;
	margin:3em auto;
	object-fit: cover; 
}
/* TOP concept */
.topconcept {color:#444;/* Customize */}
.topconcepttit {
	margin:0 auto ;
	padding:2em 0;
	text-align:left;
	letter-spacing:normal ;
	line-height:200%;
	font-weight:bold;
	font-size:26px; font-size:2.6rem;
	color:#000;
}
.topconcept p {
	margin:0 auto;
	padding:1em 1em 3em 1em;
	line-height:300%;
	text-align:;
}
/* TOP tit */
.topsectit {
	margin:0 auto 1em;
	padding:2em 1em 0;
	text-align:center;
	letter-spacing:.1em;
	font-weight:bold;
	font-size:26px; font-size:2.6rem;	
	color:#c6cdd2;/* Customize */
}
/* TOP 3box  */
.topblock {
	margin:1em auto;
}
.topblock a { text-decoration: none;}
.box01 {
	display:block;
	margin:1em auto;;
	width:100%;
}
.box01img {text-align:center;}
.box01img img {	
	  margin:0 auto;
      border-radius: 50%;
      width: 160px;
      height: 160px;
      object-fit: cover;
	  object-position: 0 0;
}

.box01tit {
	text-align:center;
	margin:.5em auto;
	padding:1em 0 0 0;
	font-size:110%;
	font-weight:bold;
	line-height:105%;
	min-height:5rem;
}
.box01txt {
	margin:.5em auto;
	color:#777;/* Customize gray */
	width:80%;
} 

/* TOP Blog  */
.blogbox {
	display:block;
	margin:1em auto 1em;
	padding:1em;
	background:#FFF;
	width:100%;
}
.stickybg { 
}
.blogboximg img {
	margin:0 auto 1em;
	width:90%;
	object-fit: cover;
	border: 1px solid #ddd;
}
.blogboxtit {
	text-align:left;
	margin:0 auto .5em;
	padding: .5em ;
	font-size:110%;
	font-weight:bold;
}
.blogboxdate {
	margin:.5em 0;
	padding:.1em .2em;
	text-align:left;
	font-size:13px;
	font-size:1.3rem;
}
.blogboxcate {
}
/* カテゴリー色分け */
.blogboxcate span  {max-width:156px; overflow:hidden;}
.blogboxcate span a { padding:.2em .4em;	margin:0 .5em 0 0; white-space:nowrap; }
.blogboxcate  .info a { background:#e8e8e8  !important;	color: #222 !important; font-size:90%; }/* Customize */
.blogboxcate  .mizu a { background:#ffdee6 !important;	color: #e0595c !important; font-size:90%; }/* Customize */
.blogboxcate  .cook a { background:#ffedd9  !important;	color: #e0595c !important; font-size:90%; }/* Customize */
.blogboxcate  .fuyouhin a { background:#e1ffe0 !important;	color: #e0595c !important; font-size:90%; }/* Customize */

.blogboxtxt {
	padding:0 .5em 1em;
	color:#666;
}

/* =================================== */
/*  free area 1  */
/* =================================== */
.freeareabox{ margin:0 auto ;padding:0 0 5em 0;}

/* =================================== */
/*  free area 2 voice  */
/* =================================== */
/*  fukidasi voice  */
.balloon01 {
  margin: 1.5em 0;
  overflow: hidden;
}

.balloon01 .balloonicon {
  float: right;
  width: 80px;
	margin-top: -50px;
}
.balloon01 .balloonicon img{
  width: 100%;
  height: auto;
}
.balloon01 .balloontxfr {
  width: 100%;
}
.balloontxt {
  display: inline-block;
  position: relative; 
  margin: 5px 105px 0 0;
  padding: 17px 13px;
  border-radius: 12px;
  background: #fefde9;
}
.balloontxt:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 18px; 
  right: -24px;
  border: 12px solid transparent;
  border-left: 12px solid #fefde9;
}
.balloontxt p {
  margin: 0;
  padding: 0;
	color:#222;
	font-size:95%;
}

/* =================================== */
/*  free area 3 QA  */
/* =================================== */
.dlqa {
	margin:3em auto 0em;
}
.dlqa dt {
	margin:0 0 .5em 0em;
	font-size:20px; font-size:2.0rem;
	font-weight:bold;
}
.dlqa dt::before {
	content:"Q";
	padding:0 .5em 0 0;
}
.dlqa dd {
	margin:0 0 3em 0em;  
	padding: 0 0 0 1em;
	font-size:12px; font-size:1.2rem;
}
.dlqa dd::before { 
	content:"A";
	padding:0 .5em 0 0;
}

/* =================================== */
/* single post*/
/* =================================== */
.postcat {
	margin:1em 0;
	text-align:right;
}
.postcat span {
	font-size:80%;
}
.entry {
	padding:1em;
	background:#fff;
	border-radius: 10px;
}
.entry a { margin:0 2px;}
/* tag*/
.posttag {
	margin:0 auto;
	padding:1em 0;
	display:block;
	clear:both;
	border-bottom:1px solid #ddd; /* Customize */
}
.posttag li {
	display:inline-block;
}
.posttag li a {
	margin:0 0 .5em 1em;
	padding:.2em .5em;
	border-radius: 6px;
	border:1px solid #D3D3D3; /* Customize */
	background:#F7F7F7; /* Customize */
	font-size:1.2rem; font-size:12px;
	color:#222; /* Customize */
	text-decoration:none;
	display:block;
}
.posttag li a:hover {
	transition: 0.3s;
	color: #444;
	background: #fff;/* Customize */
}

/* ページ送り pagenation */
div.pagenation {
	font-size: 1.4rem;
	overflow: hidden;
	margin:1em 1em 4em;
	border-top:1px solid #ccc;
	line-height:normal;
}
span.oldpage {
	float: left;
	margin:1em 0;
	padding:.5em 1em;
	width:38%;
	background-image:url(images/icon_arrow.svg);
	background-color:#fffadc;
	background-position: right top;
	background-repeat:no-repeat;
	 transform: rotateZ(180deg);
}
span.newpage {
	float: right;
	margin:1em 0;
	padding:.5em 1em;
	width:38%;
	background: url(images/icon_arrow.svg) no-repeat right bottom #fffadc;
	text-align: right;
}
.oldpage p { transform: rotateZ(-180deg) !important;}
.newpage p {transform:rotateZ(0deg) !important;}
.newpage p, .oldpage p  {  min-height:60px; margin:0 !important;}

/*  linkbox */
.linkbox{
    position:relative;
}
.linkbox a  {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* comment */
#comments {
	margin:2em auto;
}
/* comment tit */
.commformtit {
	font-weight:bold;
	background-size: 25px;
	background:url(images/icon_pen.svg) no-repeat 1px 50%;
	padding:0 0 0 30px;
}
/* comment post tit */
.commtit {
	margin:1em auto;
	padding:1em 0;
	border-bottom:1px solid;
	border-top:1px solid;
}
/* comment post area */
.commets-list {
	margin:1em auto;
	padding:0 1em 1em 1.5em;
	color:#777;
	list-style: decimal !important;
}
.comment_box {
}
.comment_box .cooment_name {
}
.comment_box .post_date {
}
.comment_box {
	font-size:90%;
}
.comment-form-comment textarea, .form-submit input, .comment-form-author input {
	border:1px solid #ccc;
	padding:.5em 1em;
	font-size:1.6rem;
	font-size:16px;
}



/* =================================== */
/*  contactform */
/* =================================== */
.contactform {
	margin:0 auto 0;
	padding:1em;
}

.cf_req { background:#ffccba ;color:#b94949; font-size:90%; margin:0 .5em; padding:0 .2em; font-weight:normal;}
.cfbox {margin:.1em auto 2em;}
.cfbox02 {margin:.1em auto 1em; padding:.5em .5em; background:#fff; border:1px solid #777;}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {width: 100%!important;}

.contactform input, .contactform textarea {
	border:1px solid #777;
	padding:.5em 1em;
	font-size:1.6rem;
	font-size:16px;
}

.select-byear, .select-bmonth { padding:0 0 1em 0;}

/*  グループ単位用タイトル：連絡先とか  */
.formgtit {
	margin:0;
	border-bottom:1px solid;
}
/*  チェックボックス  */
.cfbox .wpcf7-list-item { display:block; margin-bottom:.5em;}

/*  セレクトボックス  */
.contactform select { margin:0 .5em 0 0;  padding:.5em ; background: #fff; border:1px solid #777;}
.select-byear select, .select-bmonth select, .select-bdate select { width:75%; display:inline-block; margin-bottom:.8em !important;}
@media screen and (min-width:539px) {
	.select-byear select, .select-bmonth select, .select-bdate select { width: auto; }

}

/*  メール相談用  */
.cf_fr {
	margin:1em auto 2em;
}
.cf_fr p {	padding:.5em;
	
}
.cf_fr span {
	font-weight:nomal !important;	
}
.cf_tit {
	margin:1em 0 .5em; font-size:16px; font-size:1.6rem;border-bottom:1px solid;font-weight:bold;
}
	
/*  reCAPTCHA  */
.recap-fr {
	margin:1em auto;
	padding:.5em;
	border:1px solid #ddd;
	font-size:80%;
}
.grecaptcha-badge{
    margin-bottom: 60px;
}
/* =================================== */
/*  pagenavi */
/* =================================== */
.wp-pagenavi {
	clear: both;
	text-align:center;
}
.wp-pagenavi a, .wp-pagenavi span {
	color: #666;
	background-color: #FFF;
	border: solid 1px #222;/* Customize */
	margin: .5em .5em 1em !important;
	padding:.1em .5em !important;
	white-space: nowrap;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	text-align: center;
	text-decoration:none;
	display:inline-block!important;
}
.wp-pagenavi a:hover {
	color:#222;/* Customize */
	background-color:#fff09e;/* Customize */
	border-color:#222;/* Customize */
}
.wp-pagenavi span.current {
	color: #FFF;/* Customize */
	background-color: #666;/* Customize */
	border-color: #666;/* Customize */
	font-weight: bold;
}

/* =================================== */
/*  class  */
/* =================================== */
/* flex */
.flex {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	flex-wrap: wrap;
}
.flexpc {
	display:block;
}
/* flex option */
.around {justify-content:space-around;}
.flcenter { justify-content: center;}
.sbetween {  justify-content:space-between;}
.fwrap {  flex-wrap: wrap;	}
.flleft {justify-content:left;}
.flend {justify-content:flex-end;}

/* width */
.w60 { width:100%;}
.w80 { width:100%;}


/*  ichi */
.imgce {
	margin: 0 auto;
	text-align: center;
}

.m0a {margin:0 auto;}
.m10 {margin:1em auto;}
.mb10 {	margin-bottom: 1em !important;}
.mb20 {	margin-bottom: 2em !important;}
.mtb20 { margin:2em auto !important;}

.ptb20 { padding:2em 0 !important;}
.pb20 { padding-bottom:2em !important;}
.plr1 { padding:0 .1em !important;}

/*  width */
.w45 { width: 100%;}

/*  map */
.map {
	margin:1em auto;
	padding:0 0 2em 0;
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56.25%;/*比率をお好みで*/
}
.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/*  btn */
a.btn01 {/*  詳しく見る */
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 220px;
	margin: auto;
	padding: 1rem 4rem;
	background: #fcfcfb;
	position: relative;
	transition: 0.3s ease-in-out;
	border:1px solid;
	border-radius:8px;
}
a.btn01:hover {
    background: #fff1f1;
    color: #d75e58;
	border-radius:8px;
}
a.btn01:before, a.btn01:after {
  box-sizing: inherit;
  content: "";
  position: absolute;
  border: 1px solid transparent;
  width: 0;
  height: 0;
}
a.btn01:before {
  top: 0;
  left: 0;
}
a.btn01:after {
  bottom: 0;
  right: 0;
}
a.btn01:hover:before, a.btn01:hover:after {
  width: 100%;
  height: 100%;
	border-radius:8px;
}
a.btn01:hover:before {
  border-top-color: #f4b9b6;
  border-right-color: #f4b9b6;
  transition: width 0.15s ease-out, height 0.15s ease-out 0.15s;
}
a.btn01:hover:after {
  border-bottom-color: #f4b9b6;
  border-left-color: #f4b9b6;
  transition: border-color 0s ease-out 0.2s, width 0.15s ease-out 0.2s, height 0.15s ease-out 0.3s;
}

/*  link action */
.imglink02 {
	display: inline-block;
	cursor: pointer;
	transition: all 0.3s ease 0s;
	box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.15);
}
.imglink02:hover {
	box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.35);
	transform: translateY(-0.1875em);
}


/*------------------------------------------------------
 900px～　PC
------------------------------------------------------*/
@media screen and (min-width:900px) {
	.inn-fr {width:900px;margin:0 auto;padding:0;}
	#pcontents {padding:1em 0em 2em;}	
	#hright {width:60%;}
}

/*------------------------------------------------------
 769px～　Tablet　＆　PC 
------------------------------------------------------*/
@media screen and (min-width:768px) {
	
	#headerinn {display: -webkit-flex;display:flex;	justify-content: space-between;	align-items: center;}
	.hlogo {}
	.hlogo img {}

	.hcontact { margin:0 auto .5em; width:200px;}
	.snsbox01 {	margin:0 auto; width:30%;}
	.snsbox02 {	margin:0 auto; padding:1em; width:30%;}
	.snsbox03 {	margin:0 auto;width:30%;}
	
	#maincontents {-webkit-flex;display:flex; justify-content:space-between;}
	#contentstxt {width:75%;}
	#side { width:240px; padding:1em; margin:1em auto;}
	#side .sidebnrimg { width:90%; margin:0 auto;}
	.w60 { width:60%;}
	.w80 { width:80%;}
}
/*------------------------------------------------------
 540px～
------------------------------------------------------*/
@media screen and (min-width:539px) {
	#contentstxt {	width:75%;margin: 0 3em 0 0	}
	#footer { margin-bottom:0vh;}
	#footerbox {padding:2em 0 0;}
	.fmenu {padding:0 2em;}
	.scrolltop { right:5px; bottom:5px;} 

	.flexpc {display: -webkit-flex;display:flex;flex-wrap:wrap;}
	.w45 { width: 45%;}
	.box01 {max-width:33%;}
	.box01tit { line-height:normal; min-height:1rem;}	
	
	 .blogbox {
	padding:.5em;
	width:30%;
	min-width:200px;
	}
	 .blogboximg img {
	width:100%;
	height:200px;
	object-fit: cover;
	}
	 .blogboxtit {margin:.5em auto;	}
	 .blogboxcate span {margin:.5em auto;}
	.topconcepttit {text-align:center; letter-spacing: .1em}
	
}