/*!
Theme Name: uresalo
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: uresalo
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

uresalo is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
/* normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

body {
	margin: 0;
    word-break: break-all;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

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

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: sans-serif;
	font-size: 15px;
    line-height: 1.75;
}

h1, h2, h3, h4, h5, h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn, cite, em, i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code, kbd, tt, var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}

abbr, acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark, ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
}

*,
*:before,
*:after {
	/* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

body {
	background: #fff;
	/* Fallback for when there is no custom background color defined. */
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul, ol {
	margin: 0;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	height: auto;
	/* Make sure images are scaled correctly. */
	max-width: 100%;
	/* Adhere to container width. */
}

figure {
	margin: 1em 0;
	/* Extra wide images within figure tags don't overflow the content area. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	width: 270px;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    color: #ffffff;
    background: #666666;
    padding: 10px 40px;
    border-radius: 5px;
    border: 0;
    border-bottom: 1px solid #757575;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active, button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	width: 90%;
    font-size: 100%;
    padding: 0.5em;
    border: 1px solid #ccc;
    border-radius: 4px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
	color: royalblue;
}

a:visited {
	color: #003a7f;
}

a:hover, a:focus, a:active {
	color: midnightblue;
}

a:focus {
	outline: thin dotted;
}

a:hover, a:active {
	outline: 0;
}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
	clear: both;
	display: block;
	float: left;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	left: 100%;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	float: left;
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {
	.menu-toggle {
		display: none;
	}
	.main-navigation ul {
		display: block;
	}
}

.site-main .comment-navigation, .site-main
.posts-navigation, .site-main
.post-navigation {
	margin: 0 0 1.5em;
	overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float: left;
	width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
	/* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 0 1.5em;
	/* Make sure select elements fit in widgets. */
}

.widget select {
	max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.hentry {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	/* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-caption {
	display: block;
}


/*--------------------------------------------------------------
# ここからオリジナル追加
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## スマホヘッダー
--------------------------------------------------------------*/
.clerfix {
    clear: both;
}
.headmenu01 {

    float: left;
    background: #fff;
    height: 80px;
    text-align: center;
    padding-top: 12px;
}
.headmenu01 img {
    max-height: 76px;
}

.headmenu02 {
    width: 25%;
    float: left;

}
.inner {
  width: 980px;
  margin: 0 auto;
  position: relative;
}

.inner:after {
  content:"";
  clear: both;
  display: block;
}

/*--------header-----------*/

#top-head {
  top: -100px;
  position: absolute;
  width: 100%;
  margin: 100px auto 0;
  padding: 30px 0 0;
  line-height: 1;
  z-index: 999;
}

#top-head a,
#top-head {
    color: #003a7f;
    text-decoration: none;
}

#top-head .inner {
    position: relative;
}
#top-head .logo {
    float: left;
    position: relative;
    font-size: 36px;
    height: 50px;
}

#top-head .logo a {
  position: absolute;
  width: 100%;
  height: 50px;
}

#global-nav ul {
    list-style: none;
    position: absolute;
    top: 20px;
    right: 0;
    font-size: 14px;
}
#global-nav ul li {
    float: left;
    padding:0 30px;
    border-left: 1px solid #000;
}
#global-nav ul li a {
    padding: 5px 5px;
    position: relative;
    display: inline-block;
}

#global-nav ul li a:hover {
 opacity: 0.8;
}

nav span{
    background:#666;
    height:2px;
    display:block;
    position:relative;
    width:50px;
    left:0;
}






/*------------タブレット用------------------*/

@media screen and (max-width: 768px) {
  .head-inner {
    display: none;
  }
.topinner {
    margin-right: 3% !important;
    margin-left: 3% !important;
}
.breadcrumbs {
    margin-right: 3% !important;
    margin-left: 3% !important;
}
.page-content, .entry-content, .entry-summary {
    margin: 1.5em 7% 0 7%;
}
  .slick-next {
    right: 0;
  }

  #top-head,
  .inner {
      width: 100%;
      padding: 0;
  }
  #top-head {
  background-color: #fff;
      height: 70px;
      top: 0px;
      margin-top: 0;
  }

  #mobile-head {
background: #fff;
    width: 100%;
    height: 72px;
    z-index: 999;
    position: relative;
  }
  #top-head.fixed .logo,
  #top-head .logo {
      position: absolute;
      left: 13px;
      height: 50px;
      top: 15px;
      color: #333;
      font-size: 26px;
  }
  #global-nav {
      position: absolute;
      /* 開いてないときは画面外に配置 */
      top: -491px;
      background: #92BFD4;
      width: 100%;
      text-align: center;
      padding: 0;
      -webkit-transition: .5s ease-in-out;
      -moz-transition: .5s ease-in-out;
      transition: .5s ease-in-out;
  }
  #global-nav ul {
      list-style: none;
      position: static;
      right: 0;
      bottom: 0;
      font-size: 12px;
      margin: 0px;
    padding: 0 0 50px 0;
  }
  #global-nav ul li {
      width: 50%;
      float: left;
      position: static;
      padding: 4px 0px 4px 10px;
      text-align: left;
      color: #fff;
      border-bottom: 1px dotted #fff;
      height: 60px;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
      align-items: center; /* 縦方向中央揃え */
      -webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
      justify-content: center; /* 横方向中央揃え */
      font-size: 15px;
  }
  #top-head #global-nav ul li a,
  #top-head.fixed #global-nav ul li a {
      width: 100%;
      display: block;
      color: #fff;
      padding: 8px 0;
  }

  /* #nav-toggle 切り替えアニメーション */
  .open #nav-toggle span:nth-child(1) {
      top: 11px;
      -webkit-transform: rotate(315deg);
      -moz-transform: rotate(315deg);
      transform: rotate(315deg);
  }
  .open #nav-toggle span:nth-child(2) {
      width: 0;
      left: 50%;
  }
  .open #nav-toggle span:nth-child(3) {
      top: 11px;
      -webkit-transform: rotate(-315deg);
      -moz-transform: rotate(-315deg);
      transform: rotate(-315deg);
  }
  /* #global-nav スライドアニメーション */
  .open #global-nav {
      /* #global-nav top + #mobile-head height */
      -moz-transform: translateY(556px);
      -webkit-transform: translateY(556px);
      transform: translateY(556px);
    z-index: 99;
    height: 100%;
    width: 100%;
    position: fixed;
    overflow-y: scroll;
    padding-bottom: 100px;
  }
#nav-toggle {
    display: block;
    position: absolute;
    right: 34px;
    top: 15px;
    width: 50px;
    height: 36px;
    cursor: pointer;
    z-index: 101;
}
.tgtxt {
    text-align: center;
    top: 33px;
}
  .inner h1 {
    border-top: 1px solid #fff;
    margin: 0;
    padding: 0;
}
.adress {
    font-size: 13px;
}
.voicetext1 {
    position: absolute;
    color: #000;
    top: 22%;
    left: 29%;
    font-size: 16px;
    width: 45%;
    text-align: left;
}
.voicetext2 {
position: absolute;
    color: #000;
    top: 53%;
    left: 30%;
    font-size: 16px;
    width: 45%;
    text-align: left;
}
.menu-btn {
    position: fixed;
    top: 32px;
    right: 39px;
    line-height: 50px;
    font-size: 12px;
    text-align: center;
    cursor: pointer;
    z-index: 1;
}
}




/*--------------------------------------------------------------
## スマホフッダー
--------------------------------------------------------------*/
#foot-menu {
  width: 100%;
  background-color: #92BFD4;
}
#foot-menu .inner ul {
  width: 50%;
    float: left;
    overflow: hidden;
    border-right: none;
    margin: 0px;
    padding: 5% 0px;
    list-style: none;
}
#foot-menu .inner ul li.list1, #foot-menu .inner ul li.list2 {
  border-top: none;
}
#foot-menu .inner ul li {
}
#foot-menu .inner ul li.list2 a, #foot-menu .inner ul li.list2 span {
  border-right: 1px solid #454545;
}
#foot-menu .inner ul li a {
  text-align: center;
    line-height: 1.75;
    padding: 0;
    font-size: 14px;
    color: #fff;
    text-decoration: none;
}
.site-info {
    text-align: center;
    padding: 10px 0;
    background-color: #666;
    color: #fff;
    border-top: 1px solid #fff;
    padding-bottom: 40px;
}
#nav-toggle img {
    max-height: 65px;
}
/*--------------------------------------------------------------
## トップページ
--------------------------------------------------------------*/

.topinner {
    max-width: 800px!important;
    padding: 0px!important;
    margin-right: auto;
    margin-left: auto;
}

.clearfix:after {
    content:" ";
    display:block;
    clear:both;
}

#content h1.entry-title {
font-weight: bold;
    font-size: 30px;
    color: #000;
    border-bottom: 1px solid;
}
.site-maininside h2 {
background: #000;
position: relative;
    border: none;
    font-size: 23px;
    padding: 1em 1.1em;
    margin-top: 2.1em;
    margin-bottom: 1em;
    border-radius: 3px;
    color: #fff;
    box-shadow: 0 0 45px rgba(0, 0, 0, 0.25) inset;
    line-height: 1.4em;
    font-weight: bold;
	}
.site-maininside h2:before, .site-maininside h2:after {
    content: '';
    display: block;
    width: 100%;
    position: absolute;
    border-top: 1px dashed;
}
.site-maininside h2:after {
    bottom: 3px;
    left: 0;
}
.site-maininside h2:before {
    top: 3px;
    left: 0;
}
h3 {   
    margin: 4% auto 2% auto;
    border-bottom: 3px solid #666 !important;
    border-top: none !important;
    padding-bottom: 3px;
}
.site-maininside h4 {
	border-bottom: 1px dotted #000;
	color: #92BFD4;
	font-size: 20px;
	line-height: 30px;
    padding: 10px 0;
	margin-top: 30px;
	margin-bottom: 20px;
	font-weight: bold;
	}
.site-maininside h5 {
	border-left: 10px solid #000;
	color: #000;
	font-size: 18px;
	line-height: 27px;
	padding: 10px 20px;
	margin-top: 30px;
	margin-bottom: 20px;
	font-weight: bold;
	}
.site-maininside h6 {
	border-bottom: 1px dotted #333333;
	color: #333333;
	font-size: 16px;
	line-height: 26px;
	padding: 10px 0px;
	margin-top: 30px;
	margin-bottom: 20px;
	font-weight: bold;
	}
.site-maininside {
    margin: 0;
}

.fl_ri {
float: right;
}
h2.entry-title {
padding: 2% 0;
    font-size: 30px;
    color: #5799BD;
    background: url(images/titleback.jpg) repeat-x;
    text-align: center;
}

footer#colophon {
    padding-top: 0px;
}
div#staff {
    margin: 0 2%;
}
.reservation_btn {
    margin: 10px 0;
}
.social_btn img {
    max-width: 23%;
}
.reservation_btn img {
    max-width: 48%;
}
.staffichiran {
    width: 29%;
    margin: 10px 2%;
    float: left;
    min-height: 550px;
}
.stiimg img {
    width: 100%;
    height: 400px;
    object-fit: cover;
}
.stnameb {
    font-size: 20px;
}
.stnameb a {
    text-decoration: none;
    color: #404040;
}
.stnameb a:hover {
    text-decoration: underline;
}
.insidetext h2 {
    position: absolute;
    color: #cd0102;
    top: 32%;
    left: 2%;
    font-size: 30px;
}
.insidetext {
    position: relative;
}
.insidetext img {
    width: 100%;
}
.wp-pagenavi {
    text-align: center;
    padding-top: 5%;
}
h2 {
    text-align: center;
    margin-top: 50px;
    margin-bottom: 50px;
}
ul.topmenu {
    list-style: none;
    margin: 0 0 5% 0;
    padding: 0;
}
ul.topmenu li {
    width: 49%;
    float: left;
    margin-right: 1%;
    margin-bottom: 6%;
}
.menutitle {
color: #5B001E;
font-weight: bold;
text-align: center;
}
.topmenu p {
    margin: 0;
    height: 40px;
}
.topvoice {
position: relative;
text-align: center;    
}
.top_bot {
    width: 46%;
    float: left;
    margin: 3% 2%;
}
.top_botb {
    width: 46%;
    float: left;
    margin: 3% 2%;
}
.pageup {
    background: url(images/pageup_back.jpg) repeat-x;
    margin: 0;
    padding: 0;
    height: 98px;
    text-align: center;
}
.title img {
    height: auto;
    max-width: 100%;
}
.topimg {
    text-align: center;
    padding-top: 90px;
        line-height: 0;
        background-color: #e1ded7;
}
.topimg img {
width: 100%;
}

.taxonomies-news-category p a {
    color: #fff;
    text-decoration: none;
}
#taxonomies {
    margin-bottom: 5%;
}
.taxonomies-news-category p {
    border-radius: 10px;
    background-color: #92bfd4;
    width: 31%;
    color: #fff;
    padding: 1.5%;
    margin-right: 2%;
    margin-left: 0;
    float: left;
    margin-bottom: 1%;
    margin-top: 1%;
}
.footmap {
	text-align: center;
	margin: 5% 0 10% 0;
}
.footlogo {
	text-align: center;
}
.footlogo img {
    margin-bottom: 2%;
}
li.prev {
    float: right;
    list-style: none;
    width: 47%;
    text-align: right;
    font-size: 14px;
        background-color: #CCC;
    padding: 10px;
    line-height: 20px;
}
li.next {
    float: left;
    list-style: none;
    width: 47%;
    font-size: 14px;
        background-color: #CCC;
    padding: 10px;
    line-height: 20px;
}
ul#pagination {
    padding: 0;
    margin: 0;
}
.blogcpbn {
    border-top: 1px dotted #CCC;
    padding-top: 20px;
}
.messe_photo {
    float: left;
    margin-right: 2%;
}
.messe_sign {
    float: right;
    margin-top: 2%;
}
.ow_title {
font-size: 30px;
margin: 2% 0;
}
.ow_photo {
    float: left;
    margin-right: 2%;
}
.ow_text {
}
.me_text {
font-size: 20px;
text-align: center;
}
.yo_bn img {
  width: 100%;
  }
.black {
      color: #fff;
      background: #000;
}
.required {
    color: #f00;
}  

  
/*--------------------------------------------------------------
## PCヘッダー
--------------------------------------------------------------*/
@media screen and (min-width:768px) {
// 通常のデスクトップに適用したいスタイル //
  .head-inner {
    display: none;
  }

  .slick-next {
    right: 0;
  }

  #top-head,
  .inner {
      width: 100%;
      padding: 0;
      background-color: #fff;
  }
  #top-head {
      top: 0;
      margin-top: 0;
      height: 90px;\
    background-color: #fff;
    z-index: unset;
  }


  #mobile-head {
float: right;
        width: 384px;
        padding-top: 9px;
        height: auto;
        z-index: 999;
        position: relative;
}
  #top-head.fixed .logo,
  #top-head .logo {
      position: absolute;
      left: 13px;
      height: 50px;
      top: 15px;
      color: #333;
      font-size: 26px;
  }
  #global-nav {
      position: absolute;
      /* 開いてないときは画面外に配置 */
      top: -548px;
      background: #92BFD4;
      width: 100%;
      text-align: center;
      padding: 0;
      -webkit-transition: .5s ease-in-out;
      -moz-transition: .5s ease-in-out;
      transition: .5s ease-in-out;
  }
  #global-nav ul {
      list-style: none;
      position: static;
      right: 0;
      bottom: 0;
      font-size: 12px;
      margin: 0px;
    padding: 0 0 50px 0;
  }
  #global-nav ul li {
width: 50%;
      float: left;
      position: static;
      padding: 4px 0px 4px 10px;
      text-align: left;
      color: #fff;
      border-bottom: 1px dotted #fff;
      height: 60px;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
      align-items: center; /* 縦方向中央揃え */
      -webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
      justify-content: center; /* 横方向中央揃え */
      font-size: 15px;
  }
  #top-head #global-nav ul li a,
  #top-head.fixed #global-nav ul li a {
      width: 100%;
      display: block;
      color: #fff;
      padding: 10px 0;
  }

  /* #nav-toggle 切り替えアニメーション */
  .open #nav-toggle span:nth-child(1) {
      top: 11px;
      -webkit-transform: rotate(315deg);
      -moz-transform: rotate(315deg);
      transform: rotate(315deg);
  }
  .open #nav-toggle span:nth-child(2) {
      width: 0;
      left: 50%;
  }
  .open #nav-toggle span:nth-child(3) {
      top: 11px;
      -webkit-transform: rotate(-315deg);
      -moz-transform: rotate(-315deg);
      transform: rotate(-315deg);
  }
  /* #global-nav スライドアニメーション */
  .open #global-nav {
      /* #global-nav top + #mobile-head height */
      -moz-transform: translateY(628px);
      -webkit-transform: translateY(628px);
      transform: translateY(628px);
    z-index: 99;
    height: 100%;
    width: 100%;
    position: fixed;
    overflow-y: scroll;
    padding-bottom: 100px;
  }
  #top-head .title {
float: left;
        margin: 0;
        padding: 0;
        width: 500px;
        clear: none;
        background-color: #fff;
        text-align: center;
}
  #top-head title img {
    max-height: 76px;
}
.title p {
    margin: 28px 0 0 5%;
    color: #000;
    font-size: 21px;
    line-height: 1;
    float: left;
}
#nav-toggle img {
    max-height: 76px;
}
#foot-menu .inner ul li {
    border-left: none;
}
.foottext p {
    font-size: 25px;
        margin: 0;
}
.footinfo {
text-align: center;
}
.inquiry {
    width: 500px;
}
.foottext {

}
.adress {
    font-size: 20px;
}
ul.topmenu li {
    width: 48%;
    float: left;
    margin-right: 2%;
    margin-bottom: 3%;
}
.voicetext1 {
position: absolute;
    color: #000;
    top: 26%;
    left: 29%;
    font-size: 14px;
    width: 46%;
    text-align: left;
}
.voicetext2 {
position: absolute;
    color: #000;
    top: 53%;
    left: 30%;
    font-size: 14px;
    width: 46%;
    text-align: left;
}
.footbtn {
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 20px;
    margin-top: 20px;
    text-align: center;
}
.menu-btn {
position: fixed;
    top: 32px;
    right: 24px;
    line-height: 50px;
    font-size: 12px;
    text-align: center;
    cursor: pointer;
    z-index: 1;
}
ul.gallerylist img {
    width: 18%;
    margin: 1%;
    float: left;
    height: 250px;
    object-fit: cover;
}
#foot-menu .inner {
  padding: 0 14% 0 14%;
    margin: 0;
    opacity: 1;
}
.bnline img {
    width: 47%;
    margin: 1%;
    float: left;
}
.bnline2 {
    margin-top: 10%;
}
}


/*------------スマホ用------------------*/
@media screen and (max-width: 480px) {
.bnline2 {
    margin-top: 10%;
}
.bnline {
    margin-top: 0;
}
  .topimg {
    padding-top: 70px;
        line-height: 0;
        margin-bottom: 25px;
}
.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 3% 0 3%;
}
.entry-content-a {
	margin: 1.5em 0 0 0;
}
.headmenu01 img {

}
.headmenu01 {
padding-top: 4px;
    width: 60px;
    float: left;
    background: #fff;
    height: 65px;
    text-align: center;
}

#mobile-head {
float: right;
    background: #fff;
    width: 120px;
    height: 60px;
    z-index: 999;
    position: relative;
}
.title {
margin: 0;
        padding: 5px 0 0 5px;
        clear: none;
        background-color: #fff;
        height: 90px;
        text-align: center;
}
.title img {
    max-height: 80px;
}
.title p {
    margin: 8px 0 0 0;
    text-align: left;
    color: #000;
    font-size: 16px;
    line-height: 1.25;
}
/* トップページ設定 */
.voicebox {
    clear: both;
    margin: 5%;
}
.voicekobatsu {
    width: 100%;
    float: none;
    clear: both;
    margin-bottom: 10%;
}
ul.qalist li {
    background: url(images/q.jpg) no-repeat;
    line-height: 2;
    margin-bottom: 20px;
    margin-right: 0;
    width: 100%;
    float: none;
}
.sblogk {
    width: 100%;
    float: none;
    margin-right: 0;
        clear: both;
    margin-bottom: 5%;
}
#content {
    padding-top: 100px;
}
.foottext {
    text-align: center;
}
.adress {
    font-size: 15px;
}
.inquiry {
    width: 300px;
}
.voicekobatsu p {
    margin: 0;
}
.stvoiceiimg img {
    width: 40%;
    height: 150px;
    object-fit: cover;
    float: left;
    margin-right: 2%;
    margin-bottom: 5%;
}
.stvoice p {
    font-size: 10px;
}
.staff_l {
    width: 100%;
    margin-right: 0;
    float: none;
    padding-top: 0;
    text-align: center;
}
.staff_r {
    width: 100%;
    float: none;
}
.staffichiran {
    width: 46%;
    margin: 10px 2%;
    float: left;
}
.stiimg img {
    width: 100%;
    height: 190px;
    object-fit: cover;
}
.insidetext h2 {
    position: absolute;
    color: #cd0102;
    top: 20%;
    left: 2%;
    font-size: 18px;
    text-shadow: 0px 2px 2px #fff;
}
.staffblogimg {
    width: 35%;
    float: left;
    margin-right: 2%;
}
.staffblogimg img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    float: left;
    margin-right: 2%;
}
.sblogk p {
    font-size: 10px;
    margin-top: 0px;
}
.voicetext1 {
    position: absolute;
    color: #000;
    top: 23%;
    line-height: 1.2;
    left: 27%;
    font-size: 8px;
    width: 51%;
    text-align: left;
}
.voicetext2 {
    position: absolute;
    color: #000;
    top: 52%;
    line-height: 1.2;
    left: 28%;
    font-size: 8px;
    width: 51%;
    text-align: left;
}
.footbtn {
    width: auto;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 20px;
    margin-top: 20px;
    text-align: center;
}
.taxonomies-news-category p {
    border-radius: 10px;
    background-color: #92bfd4;
    width: 48%;
    color: #fff;
    padding: 1.5%;
    margin-right: 2%;
    margin-left: 0;
    float: left;
    margin-bottom: 1%;
    margin-top: 1%;
}
.fea_box p {
    font-size: 22px;
    font-weight: bold;
    margin: 0;
}

.messe_sign {
    float: none;
    text-align: center;
}
.yo_bn img {
    width: 220px;
}
.ow_photo {
    float: none;
    text-align: center;
    margin: 0;
}
.messe_photo {
    float: none;
    margin: 0;
    text-align: center;
}
.messe_sign img {
    width: 70%;
}
#nav-toggle {
    display: block;
    position: absolute;
    right: 11px;
    top: 12px;
    width: 40px;
    height: 36px;
    cursor: pointer;
    z-index: 101;
}
.tgtxt {
    top: 30px;
    text-align: center;
    font-size: 15px;
}
.menu-btn {
    position: fixed;
    top: 23px;
    right: 15px;
    line-height: 50px;
    font-size: 12px;
    text-align: center;
    cursor: pointer;
    z-index: 1;
}
ul.gallerylist img {
    width: 48%;
    margin: 1%;
    float: left;
    height: 215px;
    object-fit: cover;
}
#foot-menu .inner {
  padding: 0 3% 0 3%;
    margin: 0;
    opacity: 1;
}
}

/*-----------トグルボタンのCSS-------------*/
 

#nav-toggle div {
    position: relative;
}
#nav-toggle span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: #fff;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
.menu-btn span:after {
    content: attr(data-txt-menu);
}

/* 開閉用ボタンがクリックされた時のスタイル */
.open .menu-btn span:after {
    content: attr(data-txt-close);
}



/*-----------スマホフッター固定のCSS-------------*/
.footerFloatingMenu {
    display: block;
    width: 100%;
    position: fixed;
    left: 0px;
    bottom: 0px;
    z-index: 9999;
    text-align: center;
    padding: 0;
    margin: 0;
}
.footerFloatingMenu ul {
    list-style: none;
}

.footerFloatingMenu li a {
    display: block;
    min-width: inherit;
    padding: 10px 5px 5px;
}





/*------------PC用------------------*/
@media screen and (min-width:768px) {
.primage2 {
text-align: center;
margin-top: 5%;
}

.title img {
    max-height: 80px;
        margin-top: 5px;
}
.featuretitle {
	text-align: center;
        color: #666 !important;
        font-weight: bold;
        line-height: 1.4;
        font-size: 30px !important;
        margin: 5% 0 5% 0;
}
.txtbig {
	font-size: 60px;
}
.txtbig3 {
    font-size: 45px;
}
.redmoji {
    text-align: center;
    color: #FF3F3B;
    font-size: 38px;
    font-weight: bold;
}
p.hosoku {
    width: 800px;
    margin: 0 auto;
}
.txtbig2 {
    font-size: 28px;
}
.linebxb {
    max-width: 780px;
    border: 2px solid #00B900;
    margin-right: auto;
    margin-left: auto;
    padding: 3%;
}
.linebx {
    text-align: center;
    margin: 5% 0 0 0;
    height: 273px;
}
.information_bw h2 {
    font-size: 25px;
}
.interview img {
    float: left;
    margin: 0 2% 2% 0;
}
.comic img {
    max-width: 850px;
}
.req_table table th {
    background: #666666;
    color: #ffffff;
    width: 25%;
    text-align: center;
    vertical-align: middle;
}
}
/*------------スマホ用------------------*/
@media screen and (max-width: 480px) {
    .headmenu01 {
                padding-top: 10px;
        padding-right: 10px;
        width: 186px;
        float: right;
        background: #fff;
        text-align: center;
    }
    .title {
        float: left;
        margin: 0;
        padding: 16px 0 0 0;
        width: 45%;
        clear: none;
        background-color: #fff;
        height: 65px;
        text-align: center;
    }
        #mobile-head {
        float: right;
        width: 190px;
        height: 60px;
        z-index: 999;
        position: relative;
    }
.comic img {
    width: 100%;
    text-align: center;
}
.information_bw h2 {
    font-size: 22px;
}
.linebx {
    text-align: center;
    margin: 8% 0 0 0;
    padding: 0;
    background-color: #01b901;
    height: auto;
}
.linebxb {
    border: 2px solid #00B900;
    margin-right: auto;
    margin-left: auto;
    padding: 3%;
}
.txtbig2 {
    font-size: 25px;
}
.txtbig3 {
    font-size: 30px;
}
.note_wrap img {
    width: 70%;
}
.redmoji {
    text-align: center;
    margin-top: 3%;
    color: #FF3F3B;
    font-size: 25px;
    font-weight: bold;
}
.promisetitle {
    text-align: center;
    font-size: 25px;
    font-weight: bold;
}
.primage {
	text-align: center;
}
ul.gaitoulist li {
    font-size: 16px;
    margin-bottom: 5px;
}
.txtbig {
	font-size: 40px;
}
.featuretitle {
	text-align: center;
    color: #666!important;
    font-weight: bold;
    line-height: 1.5;
    font-size: 25px!important;
}
}
/*-----------サイト独自のCSS-------------*/
.primage4 {
text-align: center;
max-width: 650px;
margin: 2% auto;
}
.primage4 video {
    max-width: 100%;
}
.interview {
    margin-top: 3%;
}
.accordion_area {
    margin-top: 3%;
}
.information_bw {
    max-width: 700px;
    margin-right: auto;
    margin-left: auto;
}
.information_bw table {
    background-color: #FFFFFF;
    width: 100%;
}

.tableedge {
    border-top: 1px solid #CCCCCC;
    border-left: 1px solid #CCCCCC;
    border-collapse: separate;
}
.information_bw th {
    background-color: #cccccc1f;
    padding: 10px;
    border-right: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC;
    border-left: 1px solid #FFFFFF;
    border-top: 1px solid #FFFFFF;
    white-space: nowrap;
}
.information_bw td {
    padding: 10px 12px;
    border-right: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC;
    border-left: 1px solid #FFFFFF;
    border-top: 1px solid #FFFFFF;
    word-break: break-all;
}
p.voicetxt {
    max-width: 630px;
    margin: 2% auto;
}
p.biyousireki {
    text-align: center;
    color: #000;
    font-weight: bold;
    font-size: 25px;
    margin: 6% 0 0 0;
}
.primage3 {
text-align: center;
margin-top: 3%;
}
.bosyuu {
padding: 2%;
    margin: 5% auto;
    background: url(images/backstripe.jpg);
    max-width: 650px;
    text-align: center;
}
.note_wrap{
  background: #FFFFF0;
    padding: 1em 1em;
    width: 100%;
    max-width: 650px;
    margin: 30px auto;
    box-shadow: 1px 1px 5px 1px rgb(0 0 0 / 30%);
}
.note{
  background-image:
    linear-gradient(
      180deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0) 97%,
      #ddd 97%,
      #ddd 100%
    );
  background-size:100% 2em;
  line-height:2;
}
.note p{
  margin-bottom:2em;
      margin-top: 0;
}
.yellow {
	background:linear-gradient(transparent 60%, #feff99 60%);
}
ul.gaitoulist {
    margin: 0;
    padding: 0;
}
ul.gaitoulist li {
  list-style-type: none!important;/*ポチ消す*/

}
ul.gaitoulist li:before{ 
  display:inline-block; 
  vertical-align: middle;
  /*以下白丸つくる*/
  content:'';
  width:1em;
  height: 1em;
  background: #d8d1d1;
  margin-right: 8px;
}
.gaitoubox {
    border: double 5px #000;
    background-color: #fff;
    padding: 5%;
    margin: 3% auto 0 auto;
    max-width: 750px;
}
.topmar {
    margin-top: 5%;
    margin-bottom: 5%;
}
.backblue {
background: url(images/backstripe.jpg) ;
    padding: 5% 0;
}
.topcen {
 text-align: center;
}

.toppagemenu {
margin: 5% 0;
}
.foottext p {
    font-size: 25px;
    margin-bottom: 2%;
}
.stvoice {
    border-bottom: 1px dotted #000;
}
.bosyuu2 {
    padding: 2%;
    margin: 5% auto;
    background: url(images/backstripe.jpg);
    max-width: 700px;
    text-align: center;
}

/*-----------PCのみ改行→<br class="pc">・<br class="sp">スマホのみ改行→-------------*/
@media screen and (min-width: 680px){   
  .pc { display:block; }
  .sp { display:none; }
}
@media screen and (max-width: 680px){   
  .pc { display:none; }
  .sp { display:block; }
}
/*-----------枠線消し-------------*/
a img {
outline:none;
}
a{
	outline: none;
}
a:focus{
	outline: none;
}
/*-----------フッターline/telボタン-------------*/
.l_fixed {
    position: fixed;
    z-index: 70;
}
.b_fixed {
    position: fixed;
    z-index: 70;
}
@media screen and (max-width: 480px) {
.l_fixed {
right: 10px;
    bottom: 30px;
    width: 90px;
    height: 90px;
}
.b_fixed {
right: 10px;
    bottom: 40px;
    width: 90px;
    height: 90px;
}
}
@media screen and (min-width:768px) {
.l_fixed {
right: 10px;
    bottom: 20px;
    width: 90px;
    height: 90px;
}
.b_fixed {
right: 10px;
    bottom: 20px;
    width: 90px;
    height: 90px;
}
}
/*==================================================
ふわっと出てくる
===================================*/


/* fadeUp */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeUpTrigger{
    opacity: 0;
}
/*=========
accordion
=========*/
.accordion_one {
    margin-bottom: 3%;
}
.accordion_area {}
.accordion_area .accordion_one .ac_header {
  background-color: #ffffff;
  border: 1px solid #ccc;
  padding: 0.5rem 3.5rem 0.5rem 1rem;
  position: relative;
  z-index: +1;
  cursor: pointer;
  transition: .2s;
}
.accordion_area .accordion_one .ac_header:not(.open):hover {
  background-color: #f1f8ff;
}
.accordion_area .accordion_one:nth-child(odd) .ac_header {
  background-color: #f5f5f5;
}
.accordion_area .accordion_one:nth-child(odd) .ac_header:not(.open):hover {
  background-color: #f1f8ff;
}
.accordion_area .accordion_one .ac_header .i_box {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 20px;
  height: 20px;
  margin-top: -10px;
}
.accordion_area .accordion_one .ac_header .i_box:before, .accordion_area .accordion_one .ac_header .i_box:after {
  position: absolute;
  content: "";
  margin: auto;
  box-sizing: border-box;
  vertical-align: middle;
}
.accordion_area .accordion_one .ac_header .i_box:before {
  border-top: 2px solid #014897;
  width: 20px;
  height: 0;
  top: 0;
  bottom: 0;
  right: 0;
}
.accordion_area .accordion_one .ac_header .i_box:after {
  border-left: 2px solid #014897;
  width: 0;
  height: 20px;
  top: 0;
  bottom: 0;
  right: 9px;
  transition: .3s;
}
.accordion_area .accordion_one .ac_header.open .i_box:after {
  height: 0;
}
.accordion_area .accordion_one .ac_inner {
  display: none;
  padding: 0.5rem 1rem 0.5rem 1rem;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  box-sizing: border-box;
  background: #fff;
}
 
/*=========
faq
=========*/
 
.p-faq__headinner {
  display: block;
  padding-left: 35px;
  position: relative;
  line-height: 1.5;
}
.p-faq__headinner::before {
    position: absolute;
    left: 0px;
    content: "Q．";
    color: rgb(9, 53, 127);
    font-size: 20px;
    font-weight: bold;
}
.p-faq__headinner p.p-faq__q-txt {
  font-size: 20px;
}
.p-faq__bodyinner {
  display: block;
  padding-left: 35px;
  position: relative;
  line-height: 1.5;
}
.p-faq__bodyinner::before {
    position: absolute;
    left: 0px;
    content: "A．";
    color: rgb(222, 0, 0);
    font-size: 20px;
    font-weight: bold;
}
.p-faq__bodyinner p.p-faq__a-txt {
  font-size: 20px;
}

.mangalink {
max-width: 800px;
margin: 0 auto;
}

/*------------PC用------------------*/
@media screen and (min-width:768px) {
h4 {
    margin: 3% auto 1% auto;
    max-width: 800px;
   padding: 0 0px 5px 0;
        border-bottom: 1px dotted #000;
        position: relative;
}

h2 {
    color: #000 !important;
        text-align: center;
        font-size: 35px !important;
}

.primage2 {
text-align: center;
margin-top: 5%;
}

.title2 img {
    float: left;
    max-height: 80px;
    margin-top: 3px;
    margin-left: 10px;
}
.featuretitle2 {
	text-align: center;
    color: #000;
    font-weight: bold;
    line-height: 1.4;
    font-size: 40px;
}
.txtbig {
	font-size: 50px;
}
.redmoji {
    text-align: center;
    color: #FF3F3B;
    font-size: 38px;
    font-weight: bold;
}

p.hosoku {
    width: 720px;
    margin: 0 auto;
}
.txtbig2 {
    font-size: 24px;
    font-weight: bold;
    color: #000;
    border-bottom: 1px solid #000;
        max-width: 800px;
    margin: 2% auto;
}
.linebxb {
    max-width: 780px;
    border: 2px solid #00B900;
    margin-right: auto;
    margin-left: auto;
    padding: 3%;
}
.linebx {
    text-align: center;
    margin: 5% 0 0 0;
    height: 273px;
}
.information_bw h2 {
    font-size: 25px;
}
.interview img {
    float: left;
    margin: 0 2% 2% 0;
}
.comic img {
    max-width: 850px;
}
p.kaiketu {
    margin: 0;
    text-align: center;
}
.exam {
    width: 460px;
    margin: 0 auto;
    font-weight: bold;
}
table.saraly {
    font-size: 17px;
    font-weight: bold;
}
.pktitleb {
    color: #000;
    font-size: 25px;
    text-align: center;
    font-weight: bold;
}
.pktitlec {
    color: #000;
    font-size: 25px;
    font-weight: bold;
    width: 800px;
    margin: 0 auto;
}
p.chus {
    width: 500px;
    margin: 0 auto 2% auto;
}
.partex {
    width: 800px;
    margin: 2% auto;
    background-color: #f5f3f1;
    padding: 2%;
}
.partex2 {
    margin: 5% auto;
        background-color: #f5f3f1;
        padding: 2%;
        font-weight: bold;
}
table.saraly {
    margin: 0 auto 0 auto;
    width: 245px;
    font-weight: bold;
}
table.saraly2 {
    margin: 0 auto 0 auto;
    width: 250px;
    font-weight: bold;
}
#top-head .title2 {
    float: left;
    margin: 0;
    padding: 0;
    width: 500px;
    clear: none;
    background-color: #fff;
    height: 80px;
    text-align: center;
}
.widenallow {
width: 700px;
margin: 2% auto;
}
.martb {
margin-top: 5%;
}
.recpt_bw td {
    padding: 10px;
    border-right: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC;
    border-left: 1px solid #FFFFFF;
    border-top: 1px solid #FFFFFF;
    word-break: break-all;
}
.recpt_bw th {
    background-color: #cccccc1f;
    padding: 10px;
    border-right: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC;
    border-left: 1px solid #FFFFFF;
    border-top: 1px solid #FFFFFF;
    white-space: nowrap;
}
ul.toplist {
    line-height: 1.5;
        font-size: 20px;
        background-color: #f5f3f1;
        max-width: 800px;
        text-align: left;
        margin: 3% auto 5% auto;
        padding: 3% 3% 3% 5%;
}
ul.toplist li {
    margin-bottom: 1%;
}
.meritbx {
        float: left;
        margin: 0 3% 0 0;
        width: 300px;
}
.rctitle3 {
        font-weight: bold;
        font-size: 27px;
        line-height: 1.5;
        color: #ac1b23;
}
.req_table table th, .req_table table td {
    padding: 2rem;
    border-bottom: 2px solid #ffffff;
}
.imgphoto {
    margin-top: 7%;
}
h2.section-title2 {
    color: #000 !important;
    text-align: center;
    font-size: 35px !important;
    margin-bottom: 0 !important;
}
p.midmoji {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-top: 1%;
}
}
/*------------スマホ用------------------*/
@media screen and (max-width: 480px) {
h2.section-title2 {
    letter-spacing: 1px !important;
    font-size: 25px !important;
    line-height: 1.3;
    color: #000 !important;
    text-align: center;
    margin-bottom: 1% !important;
}
p.midmoji {
    font-size: 17px;
    font-weight: bold;
    text-align: center;
}
.imgphoto {
    margin-top: 15%;
}
.req_table table th, .req_table table td {
        display: block;
        width: 100%;
        padding: 1rem 1.5rem;
}
.req_table table th {
        color: #fff;
}
.req_table table th, .req_table table td {
        display: block;
        width: 100%;
        padding: 1rem 1.5rem;
        background: #666666;
}
.meritbx {
        float: left;
        width: 46%;
        margin: 0 3% 0 0;
}
.rctitle3 {
        font-weight: bold;
        font-size: 19px;
        line-height: 1.5;
        color: #ac1b23;
        margin: 0 0 2% 0;
}
p.hosoku {
    font-size: 18px;
}
h4 {
   padding: 0 0px 5px 0;
        border-bottom: 1px dotted #000;
        position: relative;
}

.primage4 img {
    max-width: 200px;
}
.primage3 img {

}
ul.toplist li {
    margin-bottom: 1%;
}
ul.toplist {
            font-size: 18px;
        background-color: #f5f3f1;
        line-height: 1.5;
        text-align: left;
        margin: 4% auto 8% auto;
        padding: 3% 2% 3% 10%;
}

h2 {
letter-spacing: 1px !important;
        font-size: 25px !important;
        line-height: 1.3;
        color: #000 !important;
        text-align: center;
}

.pktitleb {
    color: #000;
    font-size: 18px;
    text-align: center;
    font-weight: bold;
}
.pktitlec {
    color: #000;
        font-size: 18px;
        margin: 2% 0;
        font-weight: bold;
}
.partex {
    margin: 0 auto 2% auto;
    background-color: #f5f3f1;
    padding: 4% 2% 1% 2%;
    font-size: 16px;
}

.partex2 {
    margin: 0 auto 8% auto;
    font-size: 16px;
    background-color: #f5f3f1;
    padding: 2%;
    font-weight: bold;
    padding: 4% 15% 1% 15%;
}
table.saraly {
    margin: 0 auto 5% auto;
    width: 100%;
    font-weight: bold;
    font-size: 16px;
}
table.saraly2 {
    margin: 0 auto 5% auto;
    width: 100%;
    font-weight: bold;
    font-size: 17px;
}
table.saraly tbody td,
table.saraly2 tbody td {
    height: 35px;
}
.exam {
    font-weight: bold;
    font-size: 17px;
}
.comic img {
    width: 100%;
    text-align: center;
}
.information_bw h2 {
    font-size: 22px;
}
.linebx {
    text-align: center;
    margin: 8% 0 0 0;
    padding: 0;
    background-color: #01b901;
    height: auto;
}
.linebxb {
    border: 2px solid #00B900;
    margin-right: auto;
    margin-left: auto;
    padding: 3%;
}
.txtbig2 {
    font-size: 20px;
        font-weight: bold;
    color: #000;
    border-bottom: 1px solid #000;
}

.txtbig {
	font-size: 32px;
}
.featuretitle2 {
	text-align: center;
    color: #000;
    font-weight: bold;
    line-height: 1.4;
    font-size: 30px;
}
}
/*-----------サイト独自のCSS-------------*/

.accordion_area {
    margin-top: 3%;
}

p.voicetxt {
    max-width: 800px;
    margin: 2% auto 10% auto;
}

.primage3,
.primage4 {
text-align: center;
margin-top: 5%;
}

.yellow {
	background:linear-gradient(transparent 60%, #feff99 60%);
}

.topmar {
    margin-top: 5%;
    margin-bottom: 5%;
}

.topcen {
 text-align: center;
}



/*-----------PCのみ改行→<br class="pc">・<br class="sp">スマホのみ改行→-------------*/
@media screen and (min-width: 680px){   
  .pc { display:block; }
  .sp { display:none; }
}
@media screen and (max-width: 680px){   
  .pc { display:none; }
  .sp { display:block; }
}
/*-----------枠線消し-------------*/
a img {
outline:none;
}
a{
	outline: none;
}
a:focus{
	outline: none;
}
/*-----------フッターline/telボタン-------------*/
.l_fixed {
    position: fixed;
    z-index: 70;
}
.b_fixed {
    position: fixed;
    z-index: 70;
}
@media screen and (max-width: 480px) {
.l_fixed {
right: 10px;
    bottom: 30px;
    width: 90px;
    height: 90px;
}
.b_fixed {
right: 10px;
    bottom: 40px;
    width: 90px;
    height: 90px;
}
}
@media screen and (min-width:768px) {
.l_fixed {
right: 10px;
    bottom: 20px;
    width: 90px;
    height: 90px;
}
.b_fixed {
right: 10px;
    bottom: 20px;
    width: 90px;
    height: 90px;
}
}
/*==================================================
ふわっと出てくる
===================================*/


/* fadeUp */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeUpTrigger{
    opacity: 0;
}
/*=========
accordion
=========*/
.accordion_one {
    margin-bottom: 3%;
}
.accordion_area {}
.accordion_area .accordion_one .ac_header {
  background-color: #ffffff;
  border: 1px solid #ccc;
  padding: 0.5rem 3.5rem 0.5rem 1rem;
  position: relative;
  z-index: +1;
  cursor: pointer;
  transition: .2s;
}
.accordion_area .accordion_one .ac_header:not(.open):hover {
  background-color: #f1f8ff;
}
.accordion_area .accordion_one:nth-child(odd) .ac_header {
  background-color: #f5f5f5;
}
.accordion_area .accordion_one:nth-child(odd) .ac_header:not(.open):hover {
  background-color: #f1f8ff;
}
.accordion_area .accordion_one .ac_header .i_box {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 20px;
  height: 20px;
  margin-top: -10px;
}
.accordion_area .accordion_one .ac_header .i_box:before, .accordion_area .accordion_one .ac_header .i_box:after {
  position: absolute;
  content: "";
  margin: auto;
  box-sizing: border-box;
  vertical-align: middle;
}
.accordion_area .accordion_one .ac_header .i_box:before {
  border-top: 2px solid #014897;
  width: 20px;
  height: 0;
  top: 0;
  bottom: 0;
  right: 0;
}
.accordion_area .accordion_one .ac_header .i_box:after {
  border-left: 2px solid #014897;
  width: 0;
  height: 20px;
  top: 0;
  bottom: 0;
  right: 9px;
  transition: .3s;
}
.accordion_area .accordion_one .ac_header.open .i_box:after {
  height: 0;
}
.accordion_area .accordion_one .ac_inner {
  display: none;
  padding: 0.5rem 1rem 0.5rem 1rem;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  box-sizing: border-box;
  background: #fff;
}
 
/*=========
faq
=========*/
 
.p-faq__headinner {
  display: block;
  padding-left: 35px;
  position: relative;
  line-height: 1.5;
}
.p-faq__headinner::before {
    position: absolute;
    left: 0px;
    content: "Q．";
    color: rgb(9, 53, 127);
    font-size: 20px;
    font-weight: bold;
}
.p-faq__headinner p.p-faq__q-txt {
  font-size: 20px;
}
.p-faq__bodyinner {
  display: block;
  padding-left: 35px;
  position: relative;
  line-height: 1.5;
}
.p-faq__bodyinner::before {
    position: absolute;
    left: 0px;
    content: "A．";
    color: rgb(222, 0, 0);
    font-size: 20px;
    font-weight: bold;
}
.p-faq__bodyinner p.p-faq__a-txt {
  font-size: 20px;
}

.mangalink {
max-width: 800px;
margin: 0 auto;
}
.txtsmll {
font-size: 23px;
}
p.kaiketu {
    margin: 0 0 2% 0;
}
span.bigt {
    font-size: 25px;
    font-weight: bold;
}


/*-----------1日の流れ-------------*/
@media screen and (max-width: 767px) {
    .section-history {
        margin-bottom:40px;
        margin-top: 40px
    }
}
.history {
    padding-bottom: 15px;
    padding-left: 55px;
    padding-top: 15px;
    position: relative
}

@media screen and (max-width: 767px) {
    .history {
        padding-left:35px
    }
}

.history:before {
    background-color: #000;
    content: "";
    height: 100%;
    left: 7.5px;
    position: absolute;
    top: 0;
    width: 1px
}

@media screen and (max-width: 767px) {
    .history:before {
        left:6.5px
    }
}

.heading-3-history {
    color: #000;
    font-size: 1.5rem;
    position: relative
}

@media screen and (max-width: 767px) {
    .heading-3-history {
        font-size:1.5rem
    }

    .heading-3-history:not(:first-child) {
        margin-top: 40px
    }
}

.heading-3-history:before {
    background-color: #000;
    border-radius: 100%;
    content: "";
    height: 15px;
    left: -54.5px;
    position: absolute;
    top: 17px;
    width: 15px
}

@media screen and (max-width: 767px) {
    .heading-3-history:before {
        left:-35.5px;
        top: 9px
    }
}


.cp_box2 {
  width: auto;
  margin: 30px auto;
}
.cp_box2 input {
  display: none;
}
/*続きを読むボタン*/
.cp_box2 label {
  font-weight: bold;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 80%;
  max-width: 330px;
  margin: 5% auto;
  padding: 0.3em 1em;
  cursor: pointer;
  transition: all 0.3s;
  text-align: center;
  color: #666;
  border: 2px solid #666;
  border-radius: 3px;
}
/*＋マーク*/
.cp_box2 label::after {
  position: absolute;
  content: '';
  right: 16px;
  width: 16px;
  height: 16px;
  background: #666;
  clip-path: polygon(0 40%, 40% 40%, 40% 0, 60% 0, 60% 40%, 100% 40%, 100% 60%, 60% 60%, 60% 100%, 40% 100%, 40% 60%, 0 60%);
}
.cp_box2 label:hover::after {
  color: #ffffff;
}
/*hover*/
.cp_box2 label:hover {
  transition: all 0.3s;
  color: #ffffff;
  background: #000000;
}
.cp_box2 label:hover::after {
  background: #ffffff;
}
/*-マーク*/
.cp_box2 input:checked ~ label::after {
  background: #da3c41;
  clip-path: polygon(0 40%, 100% 40%, 100% 60%, 0 60%);
}
/*hover*/
.cp_box2 input:checked ~ label:hover::after {
  background: #ffffff;
}
.cp_box2 div.cp_container2 {
  position: relative;
  z-index: 10;
  overflow: hidden;
  height: 0;
  margin-top: -1px;
}
.cp_box2 input:checked ~ div.cp_container2 {
  transition: height 0.5s ease-in-out;
}
/* 高さを設定 */
.cp_box2 input:checked ~ div.cp_container2 {
  height: auto;
}

span.small {
    font-size: 8px;
}
.ftboxx {
    max-width: 800px;
    margin: 8% auto 2% auto;
}
ul.kyochek {
    list-style: none;
    padding: 0;
        margin: 1em 0 1em 2em;
}

ul.kyochek li {
    position: relative;
        padding: 0;
}

ul.kyochek li::before {
    content: "";
    display: block;
    position: absolute;
    width: 1rem;
    height: 0.5rem;
    border-left: 2px solid red;
    border-bottom: 2px solid red;
    top: 0.8rem;
    left: -2rem;
    transform: rotate(-45deg);
}
ul.kyochek2 {
    margin: 5% 0;
    padding: 0 0 0 25px;
}

table.kyuyolank th,
table.kyuyolank td {
      padding: 13px;
      text-align: left;
      border-bottom: 1px solid #ddd;
    }

table.kyuyolank th {
      background-color: #f0f0f0;
      font-weight: bold;
    }

table.kyuyolank tr:last-child td {
      border-bottom: none;
    }
table.kyuyolank {
    margin: 3% 0;
}



.req_table table {
    width: 100%;
}


.req_table table td {
    background: #efefef;
}
.req_table ul {
    margin: 0;
    padding: 0 0 0 3%;
}
div#content.site-content {
    padding-top: 114px;
    max-width: 800px;
    margin: 2% auto;
}
.rettop {
    background-color: #666666;
    max-width: 300px;
    margin: 5% auto;
    text-align: center;
    border-radius: 50px;
    padding: 2%;
}
.rettop a {
    color: #fff;
    text-decoration: none;
}





.red {
    color: #ff0600;
}
/*------------PC用------------------*/
@media screen and (min-width:768px) {
.stphptp {
    float: right;
    margin-left: 2%;
}
.footerFloatingMenu .item1 a {
    color: #fff;
    background: #eaa24d;
    padding-top: 6px;
    text-decoration: none;
    right: 0px;
    top: 80px;
    width: 35px;
    height: 165px;
    position: fixed;
    z-index: 70;
    writing-mode: vertical-rl;
}
.footerFloatingMenu .item2 a {
    color: #fff;
    background: #78c278;
    padding-top: 6px;
    text-decoration: none;
    right: 0px;
    top: 245px;
    width: 35px;
    height: 165px;
    position: fixed;
    z-index: 70;
    writing-mode: vertical-rl;
}
.footerFloatingMenu .item3 a {
    color: #fff;
    background: #d88c8f;
    padding-top: 6px;
    text-decoration: none;
    right: 0px;
    top: 410px;
    width: 35px;
    height: 165px;
    position: fixed;
    z-index: 70;
    writing-mode: vertical-rl;
}
#main {
    background-color: #fff;
    width: 1000px;
    margin: 0 auto;
    padding: 1% 0 5% 0;
}
#topcontent {
    background-color: #fff;
}
p.cta-final {
    text-align: center;
    margin: 5% 0 3% 0;
    font-weight: bold;
}
.btn-primary {
  /* グラデーション背景 */
  background: linear-gradient(
    to bottom,
    #fffb8f 0%,
    #fdbf00 100%
  );
  /* 上部のハイライトライン */
  background-image:
    linear-gradient(rgba(255,255,255,0.5) 1px, transparent 1px),
    linear-gradient(to bottom, #fffb8f 0%, #fdbf00 100%);
  background-repeat: no-repeat;
  background-size: 100% 2px, 100% 100%;
  
  /* 枠線・角丸 */
  border: 1px solid #e5a000;
  border-radius: 6px;
  
  /* テキスト */
  color: #003a7f;
  font-size: 1.5rem;
  font-weight: bold;
  text-shadow: 0 1px 0 rgba(255,255,255,0.7);
  text-decoration: none;
  
  /* 内側余白 */
  padding: 12px 35px;
  
  /* ボックスシャドウで底面の陰影 */
  box-shadow: 0 2px 0 #c48f00;
  
  /* マウスオーバー時の変化 */
  transition: background 0.3s ease, box-shadow 0.2s ease;
}
}
/*------------スマホ用------------------*/
@media screen and (max-width: 480px) {
.btn-primary {
  /* グラデーション背景 */
  background: linear-gradient(
    to bottom,
    #fffb8f 0%,
    #fdbf00 100%
  );
  /* 上部のハイライトライン */
  background-image:
    linear-gradient(rgba(255,255,255,0.5) 1px, transparent 1px),
    linear-gradient(to bottom, #fffb8f 0%, #fdbf00 100%);
  background-repeat: no-repeat;
  background-size: 100% 2px, 100% 100%;
  
  /* 枠線・角丸 */
  border: 1px solid #e5a000;
  border-radius: 6px;
  
  /* テキスト */
  color: #003a7f;
  font-size: 1.2rem;
  font-weight: bold;
  text-shadow: 0 1px 0 rgba(255,255,255,0.7);
  text-decoration: none;
  
  /* 内側余白 */
  padding: 12px 12px;
  
  /* ボックスシャドウで底面の陰影 */
  box-shadow: 0 2px 0 #c48f00;
  
  /* マウスオーバー時の変化 */
  transition: background 0.3s ease, box-shadow 0.2s ease;
}
p.cta-final {
    text-align: center;
    margin: 5% 0 5% 0;
    font-weight: bold;
}
#main {
    background-color: #fff;
    margin: 0 4%;
}
.footerFloatingMenu {
    display: block;
    width: 100%;
    position: fixed;
    left: 0px;
    bottom: 0px;
    z-index: 9999;
    text-align: center;
    padding: 0;
    margin: 0;
    background-color: #fff;
}
.footerFloatingMenu li {
    display: inline-block;
    vertical-align: top;
    width: 33.3%;
    margin-bottom: 0;
    float: left;
    line-height: 1;
}
.footerFloatingMenu .item1 a {
    color: #fff;
    background: #eaa24d;
    border: 2px solid #fff;
    height: 55px;
    padding-top: 16px;
    text-decoration: none;
    border-radius: 10px;
}
.footerFloatingMenu .item3 a {
    color: #fff;
    background: #d88c8f;
    border: 2px solid #fff;
    height: 55px;
    padding-top: 16px;
    text-decoration: none;
    border-radius: 10px;
}
.footerFloatingMenu .item2 a {
    color: #fff;
    background: #78c278;
    border: 2px solid #fff;
    height: 55px;
    padding-top: 16px;
    text-decoration: none;
    border-radius: 10px;
}
.footerFloatingMenu li a {
    display: block;
    min-width: inherit;
    padding: 8px 5px 5px;
}
}






/* ブレイクアウトさせたい全幅セクション */
.lp-headline {
  position: relative;

  /* 横幅をビューポートいっぱいに */
  width: 100vw;

  /* 左端を画面中央→左端へ移動 */
  left: 50%;
  transform: translateX(-50%);

  /* お好みの上下余白 */
  padding: 80px 0;

  /* 背景色や背景画像を設定する場合 */

  background: url(images/biyouback.jpg); no-repeat center/cover;
  background-size: 100%;

  box-sizing: border-box;
  overflow: visible;
}

/* 中の文字やwrapper幅は既存サイト幅に戻す */
.lp-headline .wrapper {
  max-width: 1200px;  /* サイトのコンテンツ幅に合わせる */
  margin: 0 auto;
  padding: 0 20px;    /* レスポンシブ用に左右余白 */
}

/* 見出しデザイン例 */
.lp-headline h1 {
  font-size: 2.5rem;
  text-align: center;
  margin-bottom: 1rem;
  color: #fff;
}
.lp-headline p {
  text-align: center;
  font-size: 1.125rem;
  color: #fff;
}
#main .lp-headline {
  max-width: none !important;
  margin-top: 4%;
}
blockquote.story-quote {
    background-color: #f5f6f7;
    padding: 1% 3%;
    margin: 5% 0 0 0;
}
ul.transform-list {
    background-color: #f5f6f7;
    padding: 2% 2% 2% 6%;
    margin: 0 auto;
}
blockquote.testimonial-quote {

}
/* KEEP LP CTA ボタン */


.btn-primary:hover {
  /* ホバー時は少し明るく */
  background: linear-gradient(
    to bottom,
    #fff24c 0%,
    #fcb500 100%
  );
  box-shadow: 0 2px 0 #bf8500;
}
/* 赤いチェックマーク付きリスト + 薄ベージュ背景 */
.lp-check-list {
  list-style: none;
  margin: 0;
  padding: 1.5em;              /* 背景内の余白 */
  background-color: #f7f3eb;   /* 薄いベージュ */
  border-radius: 6px;          /* お好みで角丸 */
}

.lp-check-list li {
  position: relative;
  padding-left: 2.5em;
  margin-bottom: 0.75em;
  line-height: 1.4;
  color: #333;
}

.lp-check-list li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1.5rem;
  line-height: 1;
  color: #e60000;
}
/* features-list にドットを追加 */
.features-list {
  background-color: #f7f3eb;  /* 薄いベージュ */
  padding: 1em;
  border-radius: 6px;
  list-style: none;
  margin: 0;
}

/* 各 li にスペースと疑似要素を設定 */
.features-list li {
  position: relative;
  padding-left: 1.5em;    /* ドット分の余白 */
  margin-bottom: 0.75em;
  line-height: 1.4;
  color: #333;
}

/* 疑似要素で「・」を差し込む */
.features-list li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1.25em;      /* ドットのサイズ調整 */
  line-height: 1;
  color: #333;            /* ドットとテキストを同じ色に */
}

/* 最後の項目の下余白は不要なら削除 */
.features-list li:last-child {
  margin-bottom: 0;
}
/* 画像とボタンを重ねるコンテナ */
.header-image-container {
  position: relative;
  width: 100%;
  max-width: 1000px;       /* 必要なら上限を設定 */
  margin: 0 auto;
  overflow: hidden;
}

.header-image-container img {
  display: block;
  width: 100%;             /* 可変に */
  height: auto;
  margin: 0 auto;
}







/*------------スマホ用------------------*/
@media screen and (max-width: 480px) {
.stphptp img {
float: right;
        width: 50%;
        margin: 0 0 4% 4%;
}
.lp-headline {
padding: 10px;
}
ul.transform-list {
    background-color: #f5f6f7;
    padding: 4% 2% 4% 10%;
    margin-top: 5%;
}
.lp-headline h1 {
    font-size: 25px !important;
}
}

/*------------CTA------------------*/
/* 1. 改行タグの切り替え */
br.sp { display: none; }
@media (max-width: 768px) {
  br.sp { display: block; }
}

/* 2. ボタン基本スタイル調整 */
.header-image-cta {
position: absolute;
    bottom: 7%;
    left: 31%;
    transform: translateX(-50%);
    z-index: 10;
    font-size: 2rem;
    padding: 20px 50px;
    display: inline-block;
    white-space: normal;
    word-wrap: break-word;
    line-height: 1.25;
}

/* 3. スマホ用微調整 */
@media (max-width: 768px) {
  .header-image-cta {
bottom: 7%;
        left: 31%;
        transform: translateX(-50%);
        font-size: 0.8rem;
        padding: 6px 0px;
        line-height: 1.2;
        width: 43%;
        max-width: 240px;
  }
}



.clearfix {
    clear: both;
}
blockquote.testimonial-quote {
    margin: 0;
}

@media (max-width: 768px) {
  .header-overlay-bar {
    color: #fff;
        background-color: #00c2cb;
        font-size: 17px;
        padding: 3% 2% 3.5% 2%;
        line-height: 1.4;
        letter-spacing: -0.04em;
  }
}

/*------------PC用------------------*/
@media screen and (min-width:768px) {
div#toc_container {
    margin: auto;
    padding: 10px 80px;
}
.header-overlay-bar {
    color: #fff;
        background-color: #00c2cb;
        font-size: 20px;
        line-height: 1.4;
        padding: 2%;
}
}

.gaitou {
  line-height: 1.6;
  letter-spacing: 0.03em;
  text-align: center;
}




.btn-career-consult {
  /* グラデーション背景＋ハイライトライン */
  background: linear-gradient(to bottom, #fffb8f 0%, #fdbf00 100%);
  background-image:
    linear-gradient(rgba(255,255,255,0.5) 1px, transparent 1px),
    linear-gradient(to bottom, #fffb8f 0%, #fdbf00 100%);
  background-repeat: no-repeat;
  background-size: 100% 2px, 100% 100%;

  /* 枠線・角丸 */
  border: 1px solid #e5a000;
  border-radius: 6px;

  /* テキスト */
  color: #800080; /* 紫（画像に近い色） */
  font-size: 1.2rem;
  font-weight: bold;
  text-shadow: 0 1px 0 rgba(255,255,255,0.7);
  text-decoration: none;
  text-align: center;

  /* 内側余白 */
  padding: 12px 24px;

  /* シャドウで立体感 */
  box-shadow: 0 2px 0 #c48f00;

  /* マウスオーバー・クリック用 */
  transition: background 0.3s ease, box-shadow 0.2s ease, top 0.1s ease;

  /* 表示整え */
  display: inline-block;
  white-space: nowrap;
  position: relative;
}

/* ホバー時（やや濃く） */
.btn-career-consult:hover {
  background: linear-gradient(to bottom, #fff176 0%, #fbc02d 100%);
  box-shadow: 0 3px 0 #b37f00;
  top: -1px;
}

/* クリック時の押し込み感 */
.btn-career-consult:active {
  top: 1px;
  box-shadow: 0 1px 0 #a87400;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .btn-career-consult {
    font-size: 0.88rem;
        padding: 7px 10px;
        line-height: 1.2;
        width: 100%;
        box-sizing: border-box;
  }
}



.imgphoto img {
    width: 100%;
}






/* ===== Recruit Sections (scoped: sr-) ===== */
:root{
  --sr-ink: #0f172a;
  --sr-sub: #334155;
  --sr-muted:#64748b;
  --sr-line:#e5e7eb;
  --sr-bg:   #ffffff;
}

#sr-recruit-sections{background:var(--sr-bg);}
.sr-wrap{max-width:1000px; margin:0 auto; padding:0;} /* ← スマホで左右マージンなし */

.sr-section{padding:0; border-top:1px solid var(--sr-line);}
.sr-section:first-child{border-top:none;}

.sr-lede{font-weight:700; color:var(--sr-ink); font-size:clamp(1.05rem, 1.2vw + .8rem, 1.25rem); margin:12px 0 6px; line-height:1.7;}
.sr-p{margin:10px 0; color:var(--sr-sub); line-height:1.9;}
.sr-strong{font-weight:800; color:var(--sr-ink);}

/* 見出し（#1〜#5共通） */
.sr-eyebrow{
  display:block;
  font-weight:bold;  /* ← 指定どおり bold */
  font-size:clamp(20px, 2.2vw + 0.5rem, 24px); /* ← スマホ20px、PC30px */
  line-height:1.6;
  letter-spacing:.01em;
  padding:.2rem 0 .9rem;
  margin-bottom:22px;
  position:relative;
      margin-top: 5%;
  border-bottom:6px solid var(--sr-ink); /* 1本目の太線 */
}
.sr-eyebrow::after{
  content:""; position:absolute; left:0; right:0; bottom:-8px;
  height:2px; background:var(--sr-ink); opacity:.35; /* 2本目の薄線 */
}
.sr-hash{
  display:inline-grid; place-items:center;
  width:2.2rem; height:2.2rem;
  border-radius:999px;
  background:var(--sr-ink); color:#fff; font-size:1rem; font-weight:900;
  margin-right:.35rem;
}


/* 箇条書き */
.sr-bullets{display:grid; gap:12px; margin:18px 0; padding:0;}
.sr-bullets li{list-style:none; position:relative; padding-left:1.35rem; color:var(--sr-sub);}
.sr-bullets li::before{
  content:""; position:absolute; left:0; top:.65em;
  width:.55rem; height:.55rem; border-radius:999px; background:var(--sr-ink);
}

/* ノート */
.sr-note{
  background:#f7f7f7; border:1px solid var(--sr-line);
  padding:16px; border-radius:12px; color:#1f2937; margin:16px 0;
}



/* =========================
   スタッフの声：ピル型ラベル（外側summary）
   ========================= */
.sr-voice__toggle > summary::-webkit-details-marker { display: none; }
.sr-voice__toggle > summary::marker { content: ""; }

/* 既存の▼/▲はオフ（このブロックのときのみ） */
.sr-voice__toggle > summary.sr-voice__label.is-pill::after { content: none !important; }

/* 行レイアウト：丸アイコン + ピル */
.sr-voice__toggle > summary.sr-voice__label.is-pill{
  display: inline-flex;
  align-items: center;
  gap: 0;
  cursor: pointer;
  outline: none;
  border-radius: 9999px;          /* ホバー時のフォーカスリング見栄え用 */
  padding: 0;                     /* ピルは内側spanに持たせる */
  margin-bottom: .4rem;           /* 既存より少しだけ間隔 */
}

/* 丸アイコン */
.sr-voice__avatar{
  --avatar-size: 68px;
  width: var(--avatar-size) !important;
  height: var(--avatar-size) !important;   /* ← 高さを必ず固定 */
  aspect-ratio: 1 / 1;                     /* 予防線：比率を正方形に */
  flex: 0 0 var(--avatar-size);            /* つぶれ防止 */
  max-width: none !important;              /* グローバルの max-width:100% を無効化 */
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  display: block;                           /* 余白のにじみ防止（任意） */
}
.sr-voice__avatar {
  object-position: center 3%; /* ← 中央より少し上。数値を変えると上下調整可能 */
}
/* ピル本体（淡いピンク） */
.sr-voice__chip{
  --chip-bg: #fdeaea;             /* 既存の #fdeaea に揃え */
  --chip-fg: #3C3C3C;
  --chip-pad-y: 7px;
  --chip-pad-x: 16px;

  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--chip-bg);
  color: var(--chip-fg);
  padding: var(--chip-pad-y) var(--chip-pad-x);
  border-radius: 12px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

/* マイク（emoji→必要ならSVGに変更可） */
.sr-voice__mic{ font-size: 18px; }

/* ▼カレット（開閉で回転） */
.sr-voice__caret{
  width: 18px;
  height: 18px;
  margin-left: 6px;
  transition: transform .2s ease;
  fill: none;
  stroke: #6B6B6B;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.sr-voice__toggle[open] .sr-voice__caret{ transform: rotate(180deg); }

/* キーボードフォーカス */
.sr-voice__toggle > summary.sr-voice__label.is-pill:focus-visible .sr-voice__chip{
  box-shadow: 0 0 0 3px rgba(253,234,234,.7);
}

/* スマホ調整：丸アイコンを少し小さく、文字サイズも一段下げ */
@media (max-width: 768px){
  .sr-voice__avatar{ --avatar-size: 56px; }
  .sr-voice__chip{ font-size: 14px; }
}



/* スタッフの声 */
.sr-voice{
  margin:22px 0; padding:18px 16px;
  border:1px solid var(--sr-line); border-radius:14px; background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.06);
}
.sr-voice__label{font-weight:800; color:var(--sr-muted); margin-bottom:.25rem;}
.sr-voice__name{font-weight:800; letter-spacing:.02em; margin-bottom:.4rem; color:var(--sr-ink);}
.sr-voice__quote{border-left:4px solid var(--sr-ink); padding-left:14px; color:var(--sr-sub);}
.staff-voice {
  display: flex;
  align-items: flex-start;
  margin: 2em 0;
  gap: 20px;
}

.staff-photo img {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  object-fit: cover;
}

.staff-text {
  flex: 1;
}

.staff-role {
  font-weight: bold;
  margin-bottom: 0.5em;
}

@media screen and (max-width: 768px) {
  .staff-voice {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .staff-photo img {
    width: 100px;
    height: 100px;
  }
}
.sr-voice {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  margin: 2em 0;
}

.sr-voice__text {
  flex: 1;
}

.sr-voice__photo img {
  width: 245px;   /* 写真の幅 */
  height: auto;
  border-radius: 0;   /* ← 丸トリミングを無効化（完全に四角） */
  object-fit: cover;
}

.sr-voice__label {
  font-weight: 700;
  color: var(--sr-muted, #555);
  margin-bottom: .3em;
}

.sr-voice__name {
  font-weight: 800;
  margin-bottom: .5em;
  color: var(--sr-ink, #222);
}

.sr-voice__quote {
  border-left: 4px solid var(--sr-ink, #222);
  padding-left: 14px;
  color: var(--sr-sub, #444);
  line-height: 1.6;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .sr-voice {
    flex-direction: column;
    align-items: center;
    text-align: left;
  }
  .sr-voice__photo img {
    width: 100%;
    max-width: 280px;
  }
}
/* === スマホだけ：タイトル・名前 → 写真 → テキスト の順に === */
@media screen and (max-width: 768px) {
  /* 既存の縦並び指定を上書き */
  .sr-voice {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
      "label"
      "name"
      "photo"
      "quote";
    gap: 12px;
    align-items: start;
    text-align: left; /* デザイン据え置き */
  }

  /* テキストラッパーの“箱”を消して中身を直接グリッドに参加させる */
  .sr-voice__text {
    display: contents;
  }

  .sr-voice__label { grid-area: label; }
  .sr-voice__name  { grid-area: name; }
  .sr-voice__quote { grid-area: quote; }

  .sr-voice__photo { 
    grid-area: photo;
    justify-self: start;   /* 写真の配置（必要に応じて center に） */
  }

  /* 写真は“四角”のまま */
  .sr-voice__photo img {
    width: 100%;
    max-width: 280px;  /* お好みで 240〜320px 程度に調整可 */
    height: auto;
    border-radius: 0;
    object-fit: cover;
  }
}
/* レスポンシブ対応（スマホ用） */
@media screen and (max-width: 768px) {
  .sr-voice {
    flex-direction: column;
    align-items: center;
    text-align: left;
    gap: 16px;
  }
  .sr-voice__text {
    order: 1;
    width: 100%;
  }
  .sr-voice__photo {
    order: 2;
    width: 100%;
    display: flex;
    justify-content: center; /* 横方向中央揃え */
  }
  .sr-voice__photo img {
    width: 100%;
    max-width: 280px;
    margin: 0 auto;          /* 画像自体を中央寄せ */
    display: block;
  }
}
/* === JS無しトグル：details/summary用 === */

/* デフォルトの三角マーカーを消す（Chrome/Safari系） */
.sr-voice__toggle > summary::-webkit-details-marker { display: none; }

/* クリックカーソル・太字など。既存指定を補強 */
.sr-voice__toggle > summary.sr-voice__label {
  list-style: none;
  cursor: pointer;
  outline: none;
    background-color: #fdeaea;   /* 薄い赤 */
  padding: 8px 12px;           /* 内側余白 */
  border-radius: 6px;          /* 角丸 */
  font-weight: 700;
  display: inline-block;  
}

/* 開閉アイコン：閉じている時=▼ / 開いている時=▲ */
.sr-voice__toggle > summary.sr-voice__label::after {
  content: "▼";
  font-size: .85em;
  margin-left: 6px;
}
.sr-voice__toggle[open] > summary.sr-voice__label::after {
  content: "▲";
}

/* detailsが閉じている時は本文を非表示（安全に上書き） */
.sr-voice__toggle:not([open]) .sr-voice__quote {
  display: none;
}

/* キーボード操作時のフォーカス見やすさ（お好みで） */
.sr-voice__toggle > summary.sr-voice__label:focus-visible {
  outline: 2px solid rgba(0,0,0,.25);
  outline-offset: 2px;
}
/* デフォルトのマーカーを消す */
.sr-voice__toggle > summary::-webkit-details-marker { display: none; }

/* ラベルのスタイル */
.sr-voice__label {
  font-weight: 700;
  cursor: pointer;
  margin-bottom: .5em;
}

/* 閉=▼ / 開=▲ */
.sr-voice__label::after {
  content: "▼";
  font-size: .85em;
  margin-left: 6px;
}
.sr-voice__toggle[open] > summary.sr-voice__label::after {
  content: "▲";
}

/* detailsが閉じている時は枠を非表示 */
.sr-voice__toggle:not([open]) .sr-voice {
  display: none;
}







.sr-table {
  width: 100%;
  border-collapse: separate; /* ← collapseをやめる */
  border-spacing: 0; /* ←余白を消す */
  margin: 2em 0;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
  border-radius: 8px;
  overflow: hidden;
  font-size: 15px;
  border: 1px solid #999; /* ← 濃いめの外枠に変更 */
}

.sr-table th, 
.sr-table td {
  padding: 14px 18px;
  border-bottom: 1px solid #e0e0e0;
  text-align: left;
  vertical-align: top;
}

.sr-table th {
  width: 22%;
  background: #f9fafb;
  font-weight: 700;
  color: #333;
}

.sr-table td {
  color: #444;
}

.sr-table ul {
  margin: 0;
  padding-left: 1.2em;
}

.sr-table tr:last-child th,
.sr-table tr:last-child td {
  border-bottom: none;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
  .sr-table th, 
  .sr-table td {
    display: block;
    width: 100%;
  }
  .sr-table th {
    background: #f1f5f9;
    border-bottom: none;
  }
  .sr-table td {
    padding-top: 0;
  }
}
/* ラッパー */
.sr-faq {
  margin: 48px 0;
}

/* 見出し（サイトの大きめ見出しに寄せる） */
.sr-faq__title {
  font-weight: 800;
  font-size: clamp(22px, 3.2vw, 30px);
  line-height: 1.35;
  padding-bottom: 10px;
  border-bottom: 3px double #222; /* 二重線でサイト調に */
  margin-bottom: 20px;
}

/* 各アイテム（カード調） */
.sr-faq__item {
  border: 1px solid #d9d9d9;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(15,23,42,.06);
  overflow: hidden;
  margin: 14px 0;
}

/* 質問行（summary） */
.sr-faq__q {
  list-style: none;
  cursor: pointer;
  padding: 18px 20px;
  font-weight: 700;
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* 開閉アイコン（CSSのみ） */
.sr-faq__q::after {
  content: "＋";
  margin-left: auto;
  font-weight: 800;
  transform: translateY(-1px);
  transition: transform .2s ease, opacity .2s ease;
  opacity: .7;
}

/* 開いた時はマイナスに */
.sr-faq__item[open] .sr-faq__q::after {
  content: "－";
  opacity: 1;
}

/* ホバー */
.sr-faq__q:hover {
  background: #fafafa;
}

/* 回答エリア */
.sr-faq__a {
  padding: 14px 20px 20px 20px;
  border-top: 1px dashed #e5e7eb; /* 区切りは破線で軽く */
  color: #444;
  line-height: 1.8;
}

/* 箇条書き（応募の例） */
.sr-faq__list {
  margin: 6px 0 10px 0;
  padding-left: 1.2em;
}
.sr-faq__list li {
  margin: 4px 0;
}

/* スマホ余白を詰める（ご要望に合わせて左右マージンなし） */
@media (max-width: 768px) {
  .sr-faq { margin: 36px 0; }
  .sr-faq__q { padding: 16px; }
  .sr-faq__a { padding: 12px 16px 16px; }
}





.sr-section img {
    width: 100%;
}




