@charset "utf-8";
/*------------------------------------------------------------------------------

.	common.css

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


#map-canvas {
     width: 100%;
     height: 770px;
}

#name .name_serch {
	padding-bottom: 8em;
	background: url(../img/bg_shop.svg) repeat-x;
	background-size:35%;
	background-position: bottom;
}

#name input {
	padding: 0.5em 1em;
	min-width: 380px;
	border: 1px solid #223582;
}

th {
    width: 200px;
}

.result {
    margin-top: 45px;
}

body,
textarea,
select,
input {
	font-family: "Noto Sans JP",YuGothic,"游ゴシック","メイリオ",Meiryo,sans-serif,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,verdana,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
	font-weight: normal;
	font-size: 16px;
	word-wrap:break-word;
	line-height: 1.8;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
	color: #333;
}

a,
a:visited {
	outline: none;
	text-decoration: underline;
	color: #333;
}

a:hover {
	text-decoration: none;
	opacity: 0.4;
}

em {
	font-style: normal;
}

img {
	vertical-align: bottom;
}

ol,
ul {
	margin: 1em 0 1em 1em;
}

ul li {
	list-style: disc;
}

li {
	margin-bottom: 0.25em;
	line-height: 1.4;
}

li:last-child {
	margin-bottom: 0;
}



textarea {
	position: relative;
	width: 100%;
	padding: 5px;
	border: 1px solid #999;
	border-radius: 0;
	box-shadow: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.search input {
	width: 13px;
	box-shadow: normal;
	-webkit-appearance: normal;
	-moz-appearance: normal;
	appearance: normal;
}

.select_box {
	position: relative;
}

.select_box select{
	width: 100%;
}

.select_box::after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(90deg);
	right: 4%;
	color: #666;
	line-height: 0;
	font-size: 1.25em;
}

[type="submit"]::-moz-focus-inner,
[type="button"]::-moz-focus-inner {
    border :0;
}

input[type="button"],
input[type="submit"] {
	-webkit-appearance: none;
}

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

body,
textarea,
select,
input {
	font-size: 87.5%;
}

}

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

a[href^="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
}
	
input,select {
	font-size: 16px!important;
}

}

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

	Fonts

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

.arrow_button span::before,
.news_box .sub time::before,
.cross span::before,
.arrow span::before,
.toc .title::before {
	content: "\f105";
	display: block;
	font-family: 'FontAwesome';
	font-weight: normal;
}

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

#site_header .gnav a::before {
	content: "\f105";
	display: block;
	font-family: 'FontAwesome';
	font-weight: normal;
}

}


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

	move

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

.lazyload,
.lazyloading,
.lazyloaded {
	transition: all 0.4s;
}

.lazyload,
.lazyloading,
.lazyloaded {
	background-repeat: no-repeat;
}

.lazyload,
.lazyloading {
	opacity: 0;
}

.lazyloaded {
	opacity: 1;
}

a:hover,
#site_header .gnav em:hover {
	opacity: 0.6;
}

@media screen and (max-width: 768px){
	
a:hover,
.selected:hover {
	opacity: 1;
}

.selected:hover {
	cursor: default;
}

}


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

	column

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

#site_header,
.site_column {
	position: relative;
	margin: 0 auto;
	padding: 0 6%;
}

#contents,
.innner {
	position: relative;
}

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

}

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

}

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

}


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

	common

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

#site_header .icon,
.promotion .welcome,
.explanation .balloon h2,
#site_footer .icon {
	display: block;
	overflow: hidden;
	outline: none;
	text-indent: 100%;
	white-space: nowrap;
}

.search select {
	border-color: rgba(183,183,183,1);
	background-color: rgba(239,239,239,1);
}

.marker_yellow {
	display: inline-block;
	background-color: rgba(255,186,0,1);
}

.cross,
.arrow {
	position: relative;
}

.cross span,
.arrow span {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: -0.75em;
}

.cross span::before {
  content: "\f055";
  transform: rotate(45deg);
}

.arrow span::before {
  content: "\f105";
}

.selected .arrow span {
	left: -1em;
}

.selected .arrow span::before {
	content: "\f00c";
	font-size: 0.5em;
}

.nopost {
	margin: 1.5em 0;
}


/* button
------------------------------------------------------------------------------*/

.arrow_button {
	display: inline-block;
	margin-top: 1em;
	margin-right: auto;
	margin-left: auto;
	padding: 0.5em 2.75em;
	border-width: 2px;
	border-style: solid;
	border-radius: 6px;
	text-decoration: none;
	white-space: nowrap;
	text-align: center;
	line-height: 1.4;
}

.arrow_button.black {border-color: #000; color: #000;}
.arrow_button.white {border-color: #FFF; color: #FFF;}

.arrow_button.black span::before {border-left-color: #333;}
.arrow_button.white span::before {border-left-color: #FFF;}

.arrow_button span {
	position: relative;
	padding-left: 1em;
}

.arrow_button span::before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	font-size: 1.25em;
}

.arrow_button.next span::before {
	transform: translateY(-50%) rotate(90deg);
}

.loading.arrow_button.next {
	padding-right: 0;
	padding-left: 0;
	background-color: #333;
	animation: move infinite 1s;
}

.loading.arrow_button.next span {
	padding-left: 0;
}

.loading.arrow_button.next span::before {
	display: none;
}

@keyframes move {

0% { opacity: 0;}
50% {opacity: 1;}
100% {opacity: 0;}

}

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

.arrow_button {
	padding-right: 1.8em;
	padding-left: 1.8em;
}

}

/* tab
------------------------------------------------------------------------------*/

.tab {
	position: relative;
	display: flex;
	justify-content: flex-end;
	margin: 0;
	border-bottom: 4px solid #FFF;
	font-weight: 700;
}

.tab li {
	width: 18%;
	margin-left: 1.5%;
	margin-bottom: 0;
	padding: 0.5em 0;
	border-width: 4px;
	border-style: solid;
	border-color: transparent;
	border-radius: 6px 6px 0 0;
	text-align: center;
}

.tab .selected {
	position: relative;
	padding-top: 0.75em;
	padding-bottom: 0;
	border-color: #FFF;
	z-index: 10;
}

.tab li:first-of-type {
	margin-left: 0;
}

.tab::after,
.tab .selected::after {
	position: absolute;
	content: "";	
	left: 0;
	display: block;
	width: 100%;
	z-index: 2;
}

.tab::after {
	height: 6px;
	bottom: 0;
}

.tab li:hover {
	cursor: pointer;
	background-color: #FFF;
	color: #333;
	transition: all 0.2s;
}

.tab .selected:hover {
	background-color: inherit;
	color: inherit;
	cursor: default;
}

.tab .selected::after {
	height: 10px;
	bottom: -8px;
}

.tab_box {
	margin: 0;
}

.tab_box .content {
	display: none;
}

.tab_box .selected {
	display: block;
}

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

.tab li {
	width: 24%;
	font-size: 0.75em;
}

}


/* useful
------------------------------------------------------------------------------*/

.useful {
	background-color: #FFF;
}

.useful h2 {
	padding-top: 1.25em;
	text-align: center;
	font-weight: 700;
	font-size: 3em;
}

.useful .header img {
	position: absolute;
	top: -2px;
	width: 4.25%;
}

.useful .header img:first-of-type {
	left: 20%;
}

.useful .header img:last-child {
	right: 20%;
}

.useful .arrow_button {
	position: absolute;
	top: 8em;
	left: 50%;
	transform: translateX(-50%);
	padding-right: 2.5%;
	padding-left: 2.5%;
}

.useful .post_lists {
	margin-top: 7em;
}

.post_lists {
	display: flex;
	flex-wrap: wrap;
}

.post_lists .post {
	position: relative;
	display: block;
	width: 23.5%;
	margin-right: 2%;
	margin-bottom: 2em;
	padding: 1.25em 1.25em 2.5em;
	background-color: #EEE;
	border-radius: 10px;
	text-decoration: none;
}

.post_lists .post .thumb {
	position: relative;
	display: block;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
	background-color: #FFF;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	border-radius: 8px;
}

.post_lists .post time {
	display: block;
	margin-top: 1em;
}

.post_lists .post .text {
	line-height: 1.5;
	font-weight: 500;
}

.post_lists .post .cat {
	position: absolute;
	bottom: 10%;
	left: -0.8em;
	font-weight: 700;
}

.post_lists .post:nth-child(4n) {
	margin-right: 0;
}

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

.post_lists .post .cat {
	font-size: 0.75em;
}

}

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

.useful h2 {
	font-size: 1.5em;
}

.useful .header img {
	top: -10px;
	width: 4%;
}

.useful .header img:first-of-type {
	left: 10%;
}

.useful .header img:last-child {
	right: 10%;
}

.useful .arrow_button {
	position: relative;
	display: block;
	top: auto;
	left: auto;
	transform: none;
	width: 40%;
	margin-top: 1em;
}

.useful .post_lists {
	margin-top: 3em;
}

.post_lists .post .text,
.post_lists .post time{
	font-size: 87.5%;
}

.post_lists .post {
	border-radius: 6px;
}

.post_lists .post .thumb {
	border-radius: 4px;
}

.post_lists .post .cat {
	font-size: 0.65em;
}

}

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

.useful .header img {
	top: -3%;
	width: 6%;
}

.post_lists .post {
	width: 48%;
	margin-right: 4%;
	margin-bottom: 1em;
}

.post_lists .post:nth-child(2n) {
	margin-right: 0;
}

.post_lists .post .cat {
	font-size: 0.5em;
}



}

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

.useful .header img {
	top: -2%;
	width: 8%;
}
	
.useful .post_lists {
	margin-top: 1.5em;
}

.post_lists .post {
	padding: 1em;
}

#name input {
    min-width: 100%;
}

}

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

#name input {
    min-width: 75%;
}

}


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

	header

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

/* site_header
------------------------------------------------------------------------------*/

#site_header {
	width: 100%;
	padding-bottom: 2%;
}

#site_header .inner {
	position: relative;
	padding-top: 2%;
}

#site_header ul {
	margin: 0;
}

#site_header .open_menu,
#site_header .menu_group .thumb,
#site_header .menu_group .close {
	display: none;
}

#site_header .logo a {
	position: relative;
	display: inline-block;
}

#site_header .logo span,
#site_header li a {
	display: block;
}

#site_header .logo .inner {
	display: inline-block;
	width: 144px;
	padding-top: 0;
}

#site_header .logo .icon {
	width: 100%;
	height: 0;
	padding-top: 53.341%;
	background-position: left top;
	background-size: cover;
}

#site_header .logo .tag_line {
	position: absolute;
	bottom: 0;
	left: 160px;
	width: 15em;
	line-height: 1.6;
}

#site_header .logo .target {
	position: absolute;
	bottom: 55px;
	left: 160px;
	width: 16em;
	text-align: center;
	font-size: .85em;
	color: #FFF;
	border-radius: 3px;
}

#site_header .logo .target.to {
	background-color: rgba(255,125,0,1);
}

#site_header .logo .target.become {
	background-color: rgba(133,188,69,1);
}

#site_header .logo .target.customer {
	background-color: rgba(29,32,135,1);
}

#site_header .gnav {
	position: absolute;
	bottom: 0;
	right: 0;
	display: flex;
	justify-content: flex-end;
}

#site_header .gnav li {
	margin-left: 2.5em;
	list-style: none;
}

#site_header .gnav li::first-of-type {
	margin-left: 0;
}

#site_header .gnav li a {
	text-decoration: none;
	font-weight: 700;
	font-size: 1.125em;
}

#site_header .gnav .selected {
	color: rgba(0,130,255,1);
	cursor: default;
	opacity: 1;
}

#site_header .pmenu {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}

#site_header .pmenu li {
	margin-bottom: 0;
	list-style: none;
}

#site_header .pmenu li a {
	display: block;
	padding: 0.5em 1.5em 0.5em 2em;
	text-decoration: none;
	text-align: center;
	font-weight: 700;
	font-size: 1.15em;
	color: #FFF;
}

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

#site_header .gnav li {
	margin-left: 1.5em;
}

#site_header .gnav li a,
#site_header .pmenu li a {
	font-size: 1em;
}

}

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

#site_header .logo .tag_line {
	display: none;
}

#site_header .logo .target.customer,
#site_header .logo .target.to,
#site_header .logo .target.become {
    display: none;
    bottom: 15px;
    left: 250px;
}
}

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


#site_header {
	padding-top: 15px;
	padding-bottom: 15px;
}

#site_header .logo .tag_line {
	display: block;
	left: 80px;
	bottom: 5px;
	font-size: 0.8em;
}
    
#site_header .logo .target.customer,
#site_header .logo .target.to,
#site_header .logo .target.become {
	display: block;
}


#site_header .menu_group .close,
#site_header .menu_group .thumb {
	display: block;
}

#site_header .menu_group .close {
	display: block;
	width: 100%;
	margin: 1.5em auto 0;
	padding: 1.25em 0;
	background-color: rgba(0,0,0,0.1);
	border-radius: 8px;
	text-align: center;
	font-size: 0.8em;
	color: #FFF;
	z-index: 10;
}

#site_header .menu_group .close .cross {
	padding-right: 0.5em;
}

#site_header .menu_group .thumb {
	position: absolute;
	top: 15%;
	left: -20%;
	width: 35%;
	transform: rotate(20deg);
}

#site_header.active {
	padding-bottom: 7%;
}

#site_header .inner {
	position: relative;
	padding-top: 0;
}

#site_header .gnav,
#site_header .pmenu {
	position: relative;
	top: auto;
	right: auto;
	left: auto;
}

#site_header .gnav {
	display: block;
	margin-left: 20%;
}

#site_header .gnav li {
	margin-top: 0.75em;
	margin-left: 0;
}

#site_header .gnav a {
	position: relative;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 0.8em;
}

#site_header .gnav a::before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}

#site_header .gnav .selected {
	color: rgba(255,218,0,1)
}

#site_header .logo .inner {
	width: 72px;
	padding-top: 0;
}

#site_header .pmenu {
	margin-top: 3em;
	justify-content: center;
}

#site_header .pmenu li {
	margin-left: 1%;
}

#site_header .pmenu li a {
	padding-top: 1em;
	padding-bottom: 1em;
}

#site_header .pmenu li:first-of-type {
	margin-left: 0;
}

#site_header .menu_group {
	display: none;
}

#site_header .menu_group a {
	color: #FFF;
}

#site_header .open_menu {
	position: absolute;
	display: block;
	top: 0;
	right: 0;
	padding: 10px;
}

#site_header .open_menu:hover {
	cursor: pointer;
}

#site_header .open_menu .bar {
	position: relative;
	width: 30px;
	height: 24px;
}

#site_header .open_menu .bar span {
	position: absolute;
	left: 0;
	display: block;
	width: 100%;
	height: 4px;
	border-radius: 4px;
}

#site_header .open_menu .bar span:nth-child(1),
#site_header .open_menu .bar span:nth-child(2),
#site_header .open_menu .bar span:nth-child(3) {
	transition: all 0.4s;
}

#site_header .open_menu .bar span:nth-child(1) {
	top: 0;
}

#site_header .open_menu .bar span:nth-child(2) {
	top: 50%;
	transform: translateY(-50%);
}

#site_header .open_menu .bar span:nth-child(3) {
	bottom: 0;
}

#site_header .open_menu.open .bar span:nth-child(1),
#site_header .open_menu.open .bar span:nth-child(3) {
	top: 50%;
}

#site_header .open_menu.open .bar span:nth-child(1) {
	transform: translateY(-50%) rotate(225deg);
}

#site_header .open_menu.open .bar span:nth-child(3) {
	transform: translateY(-50%) rotate(-225deg);
}

#site_header .open_menu.open .bar span:nth-child(2) {
	opacity: 0;
}

}

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

#site_header .pmenu li:first-of-type{
	display: block;
	width: 100%;
}

#site_header .pmenu li:nth-child(2) {
	margin-left: 0;
}

#site_header .pmenu li:nth-child(2),
#site_header .pmenu li:nth-child(3) {
	display: block;
	width: 49.5%;
	margin-top: 0.75%;
}

}

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

#site_header .pmenu li:nth-child(2) a,
#site_header .pmenu li:nth-child(3) a {
	text-align: left;
}

}

@media screen and (max-width: 560px){
#site_header .logo .target {
    position: absolute;
    bottom: 55px;
    left: 0px;
    width: 18em;
}
    #site_header .logo .tag_line {
    font-size: 0.5em;
}
    #site_header .logo .target.customer,
    #site_header .logo .target.to,
    #site_header .logo .target.become {
    position: absolute;
        top: 0px;
        bottom: inherit;
    left: 80px;
        font-size: 0.5em;
}

}


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

	main

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

#post {
	position: relative;
	overflow: hidden;
	padding-top: 2em;
	background-color: #FFF;
}

#post .site_column {
	width: 62%;
}

#page_header h1,
#page_header p {
	padding: 1.25em 0;
	text-align: center;
	font-weight: 700;
	line-height: 1.4;
	font-size: 3em;
}

#post .post_header {
	width: 18%;
	margin: 0 auto 2em;
}

#post .post_header .lamp {
	display: block;
	width: 40%;
	margin: -2em auto 0;
}

#post .post_header .lamp img {
	display: block;
	margin-top: 0;
	margin-bottom: 0;
}

#post .site_column .site_column {
	padding: 0;
	width: auto;
}

.child #post .site_column,
#site_footer .sub_menu .site_column {
	width: 75%;
}

.child #post .post_header {
	margin: 0;
}

.child #post .post_header .lamp {
	margin-right: 0;
	margin-bottom: 2em;
}

.child #post .post_header h1,
.child #post .post_header p {
	text-align: right;
	line-height: 1.4;
	font-weight: 700;
	font-size: 1.5em;
}

main .bar::after {
	display: block;
	content: "";
	width: 100%;
	height: 3px;
	margin: 0.5em auto 2em;
	background-color: #000;
}

.archive main .bar::after,
.category main .bar::after {
	width: 15%;
}

.child #post .post_header .date {
	display: block;
	font-weight: bold;
	text-align: right;
}

.child #post .post_header .day,
.child #post .post_header .unit,
.child #post .post_header .year {
	line-height: 1;
}

.child #post .post_header .day {
	font-size: 3.75em;
}

.child #post .post_header .unit {
	font-size: 1.25em;
}

.child #post .post_header .year {
	display: block;
	margin-top: -0.75em;
	font-size: 1.125em;
}

.child #post .site_column .site_column {
	display: block;
	margin: 0;
	width: 72%;
}

.child #post .site_column .inner {
	position: relative;
	display: flex;
	justify-content: space-between;
}

.child #post .content_header {
	margin: 2em 0 3em;
}

.child #post .content_header h1 {
	margin-top: 0.5em;
	font-size: 2.25em;
	font-weight: 700;
	line-height: 1.2;
	font-feature-settings: "palt";
}

#post  .category {
	display: flex;
	margin: 0;
}

#post  .category li {
	list-style: none;
}

.cat {
	display: block;
	min-width: 6em;
	margin-right: 0.5em;
	padding: 0.25em 1em;
	text-decoration: none;
	text-align: center;
	font-size: 0.875em;
	color: #000;
}

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

.child #post .site_column,
#site_footer .sub_menu .site_column {
	width: 100%;
}

.child #post .post_header .day {
	font-size: 2.5em;
}

.child #post .post_header .unit {
	font-size: 1em;
}

.child #post .post_header .year {
	margin-top: -1.5em;
	font-size: 0.75em;
}

}

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

#page_header h1,
#page_header p {
	font-size: 2em;
}

.child #post .post_header h1,
.child #post .post_header p {
	font-size: 1.25em;
}

.child #post .content_header h1 {
	font-size: 2em;
}

.child #post .post_header .day {
	font-size: 1.5em;
}

}

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

#post .site_column:first-child {
	width: auto;
}

.child #post .site_column .inner {
	display: block;
}

.child #post .post_header,
.child #post .site_column .site_column {
	width: auto;
}

.child #post .post_header {
}

.child #post .post_header .lamp {
	width: 7%;
	margin-right: auto;
}

.child #post .post_header h1,
.child #post .post_header p,
.child #post .post_header .date {
	text-align: center;
}

.child #post .post_header h1::after,
.child #post .post_header p::after {
	width: 40%;
}

main .bar::after,
.archive main .bar::after,
.category main .bar::after {
	width: 40%;
}


}

/* この記事を書いた人
------------------------------------------------------------------------------*/

.child #post .prof {
    margin-top: 4em;
}

.child #post .prof_title {
    position: relative;
    font-size: 1.25em;
    padding-bottom: 10px;
    font-weight: bold;
    letter-spacing: 2px;
}

.child #post .prof_title:after, .child #post .prof_title:before {
    position: absolute;
    height: 100%;
    content: '';
    width: 100%;
}

.child #post .prof_title:before {
    bottom: 0px;
    left: 0px;
    border-bottom: 2px solid #FFDA00;
}

.child #post .prof_title:after {
    bottom: -3px;
    left: 0px;
    border-bottom: 2px solid #0082FF;
}

.child #post .prof_title img {
    display: inline-block;
    margin: 0 .5em 3px 0;
    width: 30px;
}

.child #post .prof_box {
    margin-top: 2em;
}

.child #post .prof_box .flex {
    display: flex;
    align-items: center;
}

.child #post .prof_box .prof_img {
    position: relative;
    max-width: 30%;
    min-height: 160px;
    text-align: center;
    font-weight: bold;
    color: #0082FF;
}

#post .prof_img p {
    width: 170px;
    margin: 15px 0 0;
    line-height: 1.2;
}

.child #post .prof_box .prof_content {
    padding-left: 2em;
}

.child #post .prof_title p,
.child #post .prof_box .prof_content p {
    margin: 0;
}

.child #post .prof_box img {
    margin: 0 auto;
    width: 120px;
}

.image-round {
    width: 170px;
    height: 170px;
    background: url(../img/human.jpg) no-repeat;
    background-position: center;
    background-size: 100%;
    border-radius: 50%;
}

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

    .child #post .prof_box .prof_img {
    width: 30%;
}
}



@media screen and (max-width: 1000px){
.child #post .prof_box .flex {
    display: block;
}
    
.child #post .prof_title {
    margin-bottom: 15px;
}
    
    
    .child #post .prof_box .prof_img {
        max-width: inherit;
    }
    
.child #post .prof_box .prof_img {
    margin: 0 auto 15px;
    width: 170px;
}
    
.child #post .prof_box .prof_content {
    width: 100%;
    padding: 0;
    border-left: none;
}
}


/* toc
------------------------------------------------------------------------------*/

.toc {
	padding-top: 5em;
	background-color: #FFF;
}

.toc .toc_title {
	display: block;
	margin: -2em auto 0;
	font-size: 1.5em;
	font-weight: 700;
	text-align: center;
}

.toc .site_column,
.child .toc .site_column {
	display: flex;
	flex-wrap: wrap;
}

.archive .toc > .site_column,
.category .toc > .site_column {
	display: block;
}

.toc li {
	width: 23.5%;
	margin-right: 2%;
	margin-bottom: 2em;
	list-style: none;
}

.toc li:nth-child(4n) {
	margin-right: 0;
}

.toc li a {
	display: block;
	padding: 1em;
	border: 2px solid #CCC;
	border-radius: 10px;
	text-decoration: none;
	font-size: 1.125em;
}

.toc .thumb {
	width: 100%;
	height: 0;
	padding-top: 56.25%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 8px;
}

.toc .title {
	display: block;
	width: 100%;
	margin-top: 1em;
	font-weight: 700;
	text-align: center;
}

.toc .title::before {
	display: inline-block;
	padding-right: 0.5em;
}

.toc .arrow_button {
	display: block;
	width: 15%;
}

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

.toc .toc_title {
	font-size: 1.25em;
}



}

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

.toc {
	padding-top: 3em;
}

#name .name_serch {
	padding-bottom: 5em;
}

.toc li {
	width: 32%;
	margin-bottom: 1.25em;
}

.toc li:nth-child(3n) {
	margin-right: 0;
}

.toc li:nth-child(4n) {
	margin-right: 2%;
}

.toc li a {
	height: 100%;
	padding: 0.85em;
	font-size: 0.875em;
}

.toc .title {
	margin-top: 0.85em;
}

.toc .arrow_button {
	width: 25%;
}

}
@media screen and (max-width: 1080px){
.toc li:nth-child(4n) {
	margin-right: 2%;
}
}

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

.toc li {
	width: 49%;
	margin-bottom: 0.5em;
}

.toc li:nth-child(2n) {
	margin-right: 0;
}

.toc li:nth-child(3n) {
	margin-right: inherit;
}
    
.toc li:nth-child(4n) {
	margin-right: 0;
}
    
.toc .arrow_button {
	width: 40%;
}

}


/* more
------------------------------------------------------------------------------*/

#more {
	display: block;
	width: 100%;
}


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

	footer

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

#site_footer::before {
	content: "";
	display: block;
	width: 100%;
	height: 3em;
	background-color: #FFF;
}


/* sub_menu
------------------------------------------------------------------------------*/

#site_footer .sub_menu {
	padding: 3em 0;
}

#site_footer .sub_menu .site_column {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
}

#site_footer .sub_menu .box {
	width: 47%;
}

#site_footer .sub_menu .box.self_under {
	width: 100%;
}

#site_footer .sub_menu .title {
	margin-bottom: 0.75em;
	font-size: 1.75em;
	color: #FFF;
}

#site_footer .sub_menu ul {
	display: flex;
	flex-wrap: wrap;
	margin-top: 0;
	margin-left: 0;
}

#site_footer .sub_menu li,
#site_footer .sub_menu .box.self_under li {
	margin-top: 0;
	margin-bottom: 1em;
	margin-left: 0;
	list-style: none;
}

#site_footer .sub_menu li {
	width: 48%;
	margin-right: 4%;
}

#site_footer .sub_menu .box.self_under li {
	width: 23.5%;
	margin-right: 2%;
}

#site_footer .sub_menu li:nth-child(2n),
#site_footer .sub_menu .self_under li:nth-child(4n) {
	margin-right: 0;
}

#site_footer .sub_menu a {
	display: block;
	margin-top: 0;
	padding-right: 1em;
	padding-left: 1em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

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

#site_footer .sub_menu .site_column {
	width: auto;
}

#site_footer .sub_menu .box.self_under li {
	width: 48%;
	margin-right: 4%;
}

#site_footer .sub_menu .self_under li:nth-child(2n) {
	margin-right: 0;
}

#site_footer .sub_menu .self_under li:nth-child(4n) {
	margin-right: inherit;
}

}

@media screen and (max-width: 1000px){
	
#site_footer .sub_menu {
	padding-top: 2em;
	padding-bottom: 2em;
}

#site_footer .sub_menu .site_column {
	display: block;
}

#site_footer .sub_menu .box {
	width: 100%;
}

#site_footer .sub_menu .title {
	font-size: 1.5em;
}

}

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

#site_footer .sub_menu .box.self_under li {
	width: 100%;
	margin-right: 0;
}

}

/* top
------------------------------------------------------------------------------*/

#site_footer .top {
	position: fixed;
	right: -2em;
	bottom: 4em;
	z-index: 20;
	width: 7%;
	transition: all 0.4s;
}

#site_footer .top a {
	display: block;
	padding-top: 100%;
}

#site_footer .top a:hover {
	opacity: 1;
}

#site_footer .top:hover {
	right: 0em;
}

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

#site_footer .top:hover,
#site_footer .top {
	right: -5px;
}

#site_footer .top {
	bottom: 2em;
	transition: none;
}

}

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

#site_footer .top {
	width: 13%;
}

}


/* about
------------------------------------------------------------------------------*/

#site_footer .about {
	display: block;
	padding: 3em 0;
	border-top-width: 5px;
	border-top-style: solid;
}

#site_footer .about .arrow_button {
	margin-top: 1em;
	font-weight: 500;
}

#site_footer .about .site_column>div {
	padding-top: 2em;
	padding-bottom: 2em;
}

#site_footer .about .site_column,
#site_footer .info {
	display: flex;
	justify-content: center;
}

#site_footer .title {
	font-weight: bold;
}

#site_footer .info {
	padding-right: 2.5em;
	border-right: 3px dotted rgba(255,255,255,1);
}

#site_footer .info .text {
	margin-left: 3em;
}

#site_footer .info .title {
	margin-bottom: 0.5em;
}

#site_footer .info p {
	line-height: 1.5;
}

#site_footer .logo {
	display: block;
	width: 130px;
}

#site_footer .logo .icon {
	height: 0;
	padding-top: 53%;
}

#site_footer .sns {
	padding-left: 2.5em;
}

#site_footer .sns .title {
	font-size: 1.25em;
}

#site_footer .sns ul {
	display: flex;
	margin: 1em 0 0;
}

#site_footer .sns li {
	list-style: none;
	margin-left: 2em
}

#site_footer .sns li:first-of-type {
	margin-left: 0;
}

#site_footer .sns a {
	position: relative;
	display: block;
	padding-left: 60px;
	text-decoration: none;
	font-weight: bold;
	font-size: 0.875em;
}

#site_footer .sns img {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	display: block;
	width: 50px;
}

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

#site_footer .about {
	padding-top: 1em;
	padding-bottom: 1em;
}

#site_footer .about .site_column,
#site_footer .info {
	display: block;
}

#site_footer .info {
	padding-right: 0;
	border-right: none;
	text-align: center;
}

#site_footer .info .text {
	margin-top: 1em;
	margin-left: 0;
}

#site_footer .logo {
	margin: 0 auto;
}

#site_footer .sns {
	padding-left: 0;
}

#site_footer .sns .title {
	text-align: center;
}

#site_footer .sns ul {
	justify-content: center;
}

}

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

#site_footer .logo {
	width: 30%;
}

#site_footer .info {
	border-bottom: 3px dotted #FFF;
}

#site_footer .sns a {
	padding-left: 35px;
	font-size: 70%;
}

#site_footer .sns img {
	width: 25px;
}

}

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

#site_footer .sns a {
	font-size: 60%;
}

}

/* links
------------------------------------------------------------------------------*/

#site_footer .links {
	padding: 2em 0 1em;
	text-align: center;
}

#site_footer .links .title {
	font-weight: bold;
	font-size: 1.25em;
}

#site_footer .links .banner {
	display: flex;
	justify-content: center;
}

#site_footer .links .banner li {
	margin: 0 0 1em 1.5%;
	list-style: none;
}

#site_footer .links .banner a {
	display: block;
}

#site_footer .links .banner li:first-of-type {
	margin-left: 0;
}

#site_footer .links .banner img {
	border-radius: 6px;
}



/* 店舗検索
------------------------------------------------------------------------------*/

#searchform h3,
#name h3 {
	color: #223582;
	font-size: 1.75em;
	font-weight: bold;
}

#searchform .region {
	padding-left: 60px;
	background: url(../img/pin.svg) no-repeat;
}

#searchform .specified {
	padding-left: 60px;
	margin-bottom: 20px;
	background: url(../img/check.svg) no-repeat;
}

#name .name_search {
	padding-left: 60px;
	margin-bottom: 1em;
	background: url(../img/search_shop.svg) no-repeat;
}

#name .group {
	display: inline-block;
	margin: auto;
}

#searchform select {
	margin: 20px 0 50px;
	padding: 5px 15px;
}

#searchform table {
	border-collapse:separate;
}

#searchform .conditions {
	position: relative;
	padding: 70px;
	border: 3px solid #223582;
	border-radius: 10px;
}

#searchform .conditions .clerk {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 40%;
	margin-top: calc(-23.2% - 3px);
}

#searchform .button_wrapper{
   text-align:center;
}

#searchform #submit,
#searchform #search .submit {
	padding: 10px 100px;
	margin-top: 40px;
	background: #223582;
	color: #FFF;
	border-radius: 5px;
	border-style: none;
	font-size: 23px;
	letter-spacing: 10px;
}

#searchform #search {
	display: inline-block;
}

#name #searchform #search {
	margin-top: 1em;
	display: block;
	text-align: center;
}

#searchform #search .submit {
    padding: 5px 1em;
	margin-top: 0;
	font-size: 1em;
	letter-spacing: 0;
}

.name_serch #searchform #search .submit {
    padding: 5px 2em;
}

@media screen and (max-width: 1200px){
	
#searchform .region,
#searchform .specified,
#name .name_search {
    padding-left: 40px;
}
	
#searchform h3,
#name h3 {
	font-size: 1.2em;
	}
	
#searchform #search .submit {
	margin-bottom: 50px;
}

#name #searchform  .submit {
	margin-bottom: 0;
}

#searchform select {
    margin: 20px 0 10px;
}

}

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

#searchform .conditions .clerk {
	width: 30%;
	margin-top: calc(-17.5% - 3px);
	
}

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

#name .name_serch {
	background-size: 100%;
}

#name .group {
	display: block;
	width: 100%;
}

#name #searchform  .submit {
	font-size: 1em;
}

#item1 #searchform #search {
    display: block;
}

#searchform select {
	padding: 5px 5px;
}

}

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

#searchform .conditions .clerk {
	width: 40%;
	margin-top: calc(-23.2% - 3px);
	
}

}



/* mw_wp_form
------------------------------------------------------------------------------*/

#post .mw_wp_form dl dt,
#post .mw_wp_form dl dd {
	padding: 15px;
}

#post .mw_wp_form dl input[type="text"],
#post .mw_wp_form dl input[type="email"],
#post .mw_wp_form dl textarea {
	width: 100%;
	padding: .25em .5em;
	border: 1px solid rgba(0,0,0,.25);
	-webkit-appearance: none;
}

#post .mw_wp_form dl select {
	padding: 0.5em;
}

#post .mw_wp_form .required {
	position: absolute;
	top: 19px;
	right: 20px;
	padding: .5em .5em;
	border-radius: 4px;
	background-color: rgba(225,0,18,1);
	color: rgba(255,255,255,1);
	line-height: 1;
	font-size: .75em;
}

.check #post .mw_wp_form .required,
.check #post .mw_wp_form h2,
.check #post .mw_wp_form h2 + p,
.thankyou #post .mw_wp_form h2,
.thankyou #post .mw_wp_form h2 + p {
	display: none;
}

#post .mw_wp_form dl,
#post .mw_wp_form .privacy {
	font-size: 1.125em;
}

#post .mw_wp_form dl {
	display: flex;
	margin: 0;
	border-top: 1px solid rgba(0,130,255,1);
}

#post .mw_wp_form dl:first-of-type {
	margin-top: 40px;
}

.check#post .mw_wp_form dl:first-of-type {
	margin-top: 0;
}

#post .mw_wp_form dl:last-of-type {
	border-bottom: 1px solid rgba(0,130,255,1);
}

#post .mw_wp_form dl dt {
	position: relative;
	width: 450px;
	background-color: rgba(0,130,255,.07);
	font-weight: 600;
	line-height: 2;
}

#post .mw_wp_form dl dd {
	width: 610px;
	padding-right: 0;
}

#post .mw_wp_form .error {
	margin-bottom: .5em;
	padding: .25em .5em;
	background-color: rgba(225,0,18,.075);
	border-radius: 4px;
	color: rgba(225,0,18,1);
	font-size: .85em;
}

#post .mw_wp_form dl input.bd_year,
#post .mw_wp_form dl input.bd_month,
#post .mw_wp_form dl input.bd_day,
#post .mw_wp_form dl input.graduation_year {
	width: 3.5em;
}

#post .mw_wp_form .privacy {
	margin: 30px 0 20px;
	text-align: center;
}

#post .mw_wp_form .privacy br {
	display: none;
}

#post .mw_wp_form .privacy label {
	padding: 1em;
	border: 1px solid rgba(0,0,0,.125);
	border-radius: 4px;
	-webkit-appearance: none;
}

#post .mw_wp_form  .buttons,
#post .mw_wp_form .link_button {
	margin: 40px 0 0;
}

#post .mw_wp_form  .buttons input,
#post .mw_wp_form .link_button a {
	display: block;
	width: 10em;
	margin: 0 auto;
	padding: .5em 1em;
	border: none;
	background-color: rgba(255,245,0,1);
	border-radius: 4px;
	font-size: 1.125em;
	text-align: center;
	text-decoration: none;
	-webkit-appearance: none;
	transition: background-color .4s;
}

#post .mw_wp_form  .buttons input:hover,
#post .mw_wp_form .link_button a:hover {
	cursor: pointer;
	background-color: rgba(255,245,0,.2);
}

#post .mw_wp_form .link_button a {
	color: #333;
}

#post .mw_wp_form  .buttons {
	display: flex;
	justify-content: center;
}

#post .mw_wp_form #post .mw_wp_form_confirm .buttons input {
	margin: 0;
}

#post .mw_wp_form #post .mw_wp_form_confirm .buttons .back {
	margin-right: 20px;
	background-color: rgba(0,0,0,.125);
}

#post .mw_wp_form .ex {
	display: block;
	margin-top: .5em;
	color: #666;
	font-size: 80%;
}

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

#post .mw_wp_form .required {
	top: 24px;
}

#post .mw_wp_form dl input,
#post .mw_wp_form dl textarea {
	padding: .5em 1em;
}

#post .mw_wp_form dl dt {
	width: 40%;
	line-height: 2.4;
}

#post .mw_wp_form dl dd {
	width: 60%;
}

#post .mw_wp_form dl input[type='radio'] {
	margin-right: 0;
}

}

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

#post .mw_wp_form dl {
	flex-wrap: wrap;
}

#post .mw_wp_form dl dt,
#post .mw_wp_form dl dd {
	width: 100%;
}

#post .mw_wp_form dl dt {
	padding-top: 3vw;
	padding-bottom: 3vw;
}

#post .mw_wp_form dl dd {
	padding: 5vw 0;
}

}


/* copy
------------------------------------------------------------------------------*/

#site_footer .copy {
	padding: 2em 0;
	text-align: center;
	font-size: 0.875em;
}