/*
 Theme Name:   nakadakk
 Theme URI:    https://teigaku-hp.com/
 Description:  会社タイプ
 Author:       Hikeou Design
 Author URI:   https://hikeout-design.com/
 Template:     generatepress
 Version:      0.1

 参考URL：https://docs.generatepress.com/


=====================================================
■目次
=====================================================
・配色指定
・基本/共通設定
・見出し
・ヘッダー & ナビゲーション
・トップページヒーロー
・固定ページヒーロー
・フッター & CTA
・パンくず
・バナー
・カード
・お知らせ
・サイドバー/ウィジェット
・テーブル
・コンタクトフォーム
・よくある質問
・ボタン
・404/検索結果
・その他機能
・IE対応
・IE対応
・追加

*/


/* ================================================
■ 配色指定
================================================ */
.font_blue{ color: #43a42d !important; }
.bg_blue{ background-color: #43a42d !important; }
.font_green{ color: #00b596 !important; }
.bg_green{ background-color: #00b596 !important; }

/* ================================================
■ 基本/共通設定
================================================ */
html{
  font-size: 62.5%;/*16px=1.6rem*/
}
body{
  font-family: "Montserrat","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  font-size: 1.6em;
  font-weight: 500;
  color: #333333;
  /* フォントサイズ自動調節 */
  -webkit-text-size-adjust: 100%;
  /* 改行設定 */
  word-wrap: break-word;
  overflow-wrap: break-word;
  /* カーニング */
  letter-spacing: .14rem;
  /* -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  -webkit-font-kerning: auto;
          font-kerning: auto; */
  /* 【width_100p対策】横幅100％で出てくる横スクロールを消去 */
  overflow-x: hidden;
}
*::before,
*::after {
  font-feature-settings:
    "locl" var(--locl, 1),
    "palt" var(--palt, 0);
}
h1, h2, h3, h4, h5, a.button_second,
header {
    font-weight: bold;
    --palt: 1;
}
a { color: #43a42d;}
a:visited { color: #43a42d; }
a:hover, a:focus, a:active {
    color: #43a42d;
}
/* ページ内リンクのずれを修正 */
a.anchor{
    display: block !important;
    padding-top: 80px !important;
    margin-top: -80px !important;
}
img {
    margin: 0;
    padding: 0;
    vertical-align: bottom;
}
img.img-fluid {
    width: 100%;
    max-width: 100%;
    height: auto;
}
video {
    width: 100%;
    height: auto;
}
ul,ol { list-style: none; }
ul.title span {
    background-color: #b9d31e;
    color: #fff;
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    border-radius: .2rem;
    padding: .5rem;
    margin-right: 1rem;
    display: inline-block;
    min-width: 8rem;
}
ul.title li {
  margin-bottom: .75rem;
}
ul.title li:before {
    content: none;
}
/* 親要素にclearfix追加でfloat高さ出す */
.clearfix:after{
 	content: "";
	clear: both;
	display: block;
}

strong {
  padding: 0.2rem;
  background: linear-gradient(transparent 90%, #fbf548 90%);
}
button, input, select, textarea {
  font-family: 'Roboto',"Noto Sans JP", "Hiragino Kaku Gothic ProN", 游ゴシック, YuGothic, Meiryo, "MS PGothic", sans-serif;
}
p {
    margin-bottom: 1rem;
    text-align:justify;
    text-justify:distribute-all-lines;
}
span.tag {
  color: #b9d31e;
  font-size: 1.4rem;
}
span.tag:before {
    font-family: "Font Awesome 5 Free";
    content: "\f02c";
    margin-right: .5rem;
    font-weight: bold;
    font-size: 1.2rem;
}
/* アイコン用のcircle */
i.circle {
    border: solid 2px;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    text-align: center;
    padding-top: .6rem;
    padding-left: .1rem;
    font-size: 1.4rem;
    vertical-align: middle;
    box-sizing: border-box;
}

/* パソコンで見れる */
.pc { display: inline-block !important; }
.sp { display: none !important; }

/* スマートフォンで見れる */
@media only screen and (max-width: 768px) {
.pc { display: none !important; }
.sp { display: inline-block !important; }
}


/* ================================================
■ 見出し
================================================ */
/* 初期値 */
h2 {
  position: relative;
  padding: 1.5rem;
  background-color: #fbfced;
  font-size: 2.1rem;
  border-left: solid 2px #43a42d;
}

/* アイコン */
h2.icon {
    text-align: center;
    font-size: 2.6rem;
    font-weight: bold;
    border-left: none;
    margin: 5rem 0 7rem;
    padding: 0;
    color: #43a42d;
    background-color: transparent;
}
h2.icon:before {
    content: '';
    display: block;
    margin: auto;
    background: url(./images/h2_icon.png) no-repeat center center;
    background-size: 5rem;
    width: 5rem;
    height: 5rem;
    position: relative;
    top: -2rem;
}

/* 左ボーダー(お知らせ、固定ページ) */
h2.page {
    background-color: transparent;
    border-bottom: solid 2px #43a42d;
    border-left: none;
    margin-bottom: 3rem;
    padding: 0 1.5rem 2.5rem;
    margin-top: 3rem;
}
h2.page:before {
    content: '';
    display: inline-block;
    background: url(./images/h2_icon.png) no-repeat;
    background-size: 5rem;
    width: 5rem;
    height: 5rem;
    position: relative;
    left: -1.5rem;
    top: 1.5rem;
}

/* アンダーライン */
h2.uline {
    text-align: center;
    font-size: 3.2rem;
    font-weight: bold;
    margin: 0 0 7rem;
    padding: 0;
    position: relative;
    border: none;
    background-color: transparent;
}
h2.uline::after {
    position: absolute;
    padding: .1rem;
    height: .2rem;
    width: 6rem;
    top: initial;
    left: 50%;
    bottom: -1.8rem;
    background-color: #43a42d;
    content: "";
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

/* カプセル */
h2.capsule {
    position: relative;
    text-align: center;
    background-color: transparent;
    font-size: 2.6rem;
    border-left: none;
    padding: 0;
    margin-bottom: 6rem;
}
h2.capsule:before,
h2.capsule:after {
  content: "";
  position: absolute;
  height: .3rem;
  width: 3rem;
  margin: auto;
  bottom: -2rem;
}
h2.capsule:before {
    left: 0;
    right: 3rem;
    background-color: #43a42d;
}
h2.capsule:after {
    right: 0;
    left: 3rem;
    background-color: #b9d31e;
}

/* その他 */
h2.entry-title{
  margin-bottom: 2rem;
}
h3 {
    font-weight: bold;
    color: #333;
    font-size: 2.1rem;
    display: inline-block;
    border-bottom: solid 2px #43a42d;
    padding-bottom: 1rem;
    margin-bottom: 2rem;
}
h3.suishin {
    display: block;
    color: #43a42d;
    margin: 3rem 0;
}
h4 {
    font-weight: bold;
    text-align: center;
    color: #43a42d;
    font-size: 1.8rem;
    margin-bottom: 1rem;
}
body.single h3 {
  font-weight: bold;
  position: relative;
  padding: 1rem 0 1rem 2rem;
  font-size: 2.1rem;
  margin-bottom: 2rem;
  border-left: solid 2px #43a42d;
}
/* 議事要素ナシ */
h3.uline::after,
h3.news::after,
.course h3::after {
    content: none;
}
h3 > span {
    font-size: 1.4rem;
    letter-spacing: normal;
}
h3.uline {
  font-weight: bold;
  position: static;
  padding: 0;
  margin: 4rem 1rem 1rem;
  border: none;
  font-size: 2.8rem;
  text-align: center;
  color: #43a42d;
}
h3.uline img{
  width: 3.5rem;
  height: 3.5rem;
  margin-right: .5rem;
  vertical-align: bottom;
}
h3.news{
    font-weight: bold;
    position: static;
    padding: 0;
    margin: 0 1rem 1rem;
    border: none;
    font-size: 2.8rem;
    text-align: center;
    color: #333;
}
h3.news img {
    display: inline-block;
    margin: 0 1rem 0 0;
    width: 4rem;
    height: 4rem;
    vertical-align: text-bottom;
}
h4 {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: .5rem;
}
/* ================================================
■ ヘッダー & ナビゲーション
================================================ */
/* キャプション */
.header_caption {
    background-color: #43a42d;
    color: #fff;
    font-size: 1.2rem;
    text-align: center;
}
.header_caption p {
  padding: .1rem .5rem;
  margin-bottom: 0;
}
.header_caption span{
    color: #fbf548;
    font-weight: bold;
}
/* コンテンツ全体 */
div.header_contents {
    padding: 1rem 2rem;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    width: 100%;
}

/* 【画像】ロゴ周り */
div.header_contents div.site-logo p {
  display: block;
  margin-bottom: .5rem;
  font-size: 1.2rem;
}
div.header_contents div.site-logo a {
  display: block;
}
div.header_contents div.site-logo img {
  height: 3rem;
  width: auto;
}

/* 【画テキスト】ロゴ周り */
.site-branding {
  padding-top: .75rem;
}
.site-branding p.main-title{
  line-height: 180%;
  font-size: 1.4rem;
}
.site-branding p.main-title a{
  font-size: 2.8rem;
  color: #43a42d;
}
.site-description {
    color: #666;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 100%;
    margin-bottom: .5rem;
}

/* 右コンテンツ */
div.header_contents ul{
  display: flex;
  flex-direction: row;
  margin: 0;
  padding: 0;
}
div.header_contents ul li {
  display: block;
  text-align: center;
  font-size: 1.2rem;
  margin-right: 1rem;
}
div.header_contents ul li:not(.header_tel){
  background-color: #3988d8;
  padding: .6rem 1rem;
  border-radius: .5rem;
  color: #fff;
}
div.header_contents ul li:not(.header_tel) span{
  display: block;
  color: #fbf548;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 2rem;
  margin-top: .5rem;
}

div.header_contents ul li.header_tel {
  margin-right: 0;
  margin-left: 1rem;
  display: block;
  font-weight: bold;
}
.header_tel a{
  font-size: 2.8rem;
}

.main-navigation {
    border-top: solid 1px #eaeaea;
}
.main-navigation .main-nav ul li a, .menu-toggle {
    color: #333333;
    font-size: 1.6rem;
    font-weight: bold !important;
}

/* ================================================
■ トップページヒーロー(page-hero-top)
================================================ */
/* page-hero上にあるコンテンツの高さ分マイナスにする */
.page-hero-top{
  height: calc(100vh - 150px);
}
.page-hero-top .inside-page-hero {
  display: flex;
  align-items: center;
  margin: auto;
  height: 100%;
}

.main_wrap {
  max-width: 120rem;
  margin: 0 auto;
  width: 100%;
}
.bg_dot {
    text-align: center;
    background: url(./images/dot_bg.png);
    background-attachment: fixed;
    overflow: hidden;
    padding: 6rem 0;
    width: 100%;
}

h1.main {
    font-size: 3.2rem;
    color: #fff;
    text-shadow: 0 0 10px #333333;
    line-height: 6rem;
    margin-bottom: 3rem;
}
h1.main span {
    color: #fff;
    padding: 1rem;
}
h1.main strong {
    font-size: 5rem;
    margin: 0 .75rem;
}
p.main_txt {
    font-size: 2.8rem;
    margin-bottom: 2.4rem;
    color: #fff;
    text-shadow: 0 0 10px #333333;
    font-weight: bold;
    line-height: 5rem;
    text-align: center;
}
/* ================================================
■ 固定ページヒーロー(page-hero-top)
================================================ */
.page-hero-page {
    height: 20rem;
    background: url(./images/page_bg_pc.jpg) no-repeat center center;
    background-size: cover;
    position: relative;
    overflow: hidden;
    cursor: default;
}
.page-hero-page h1{
  margin-bottom: 1rem;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: bold;
  color: #fff;
  text-shadow: 0 0 10px #333333;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.page-hero-page .mask {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* ドットのグレーと透過 */
    /* overflow: hidden;
    background-attachment: fixed;
    background: url(./images/dot_bg.png); */
    background: RGBA(17,40,11,0.2);
}


/* ================================================
■ フッター & CTA
================================================ */
/* CTA */
address {
    background: url(./images/footer_bg.jpg) no-repeat center center;
    background-size: cover;
    font-style: normal;
    font-size: 1.4rem;
    color: #fff;
    margin: 0;
    padding: 15rem 3rem 3rem;
    position: relative;
    z-index: 0;
    line-height: 200%;
}
address .box-wrapper{
  max-width: 90rem;
  margin: auto;
}
address .box-wrapper .cta{
  text-align: center;
  border-left: solid 1px #eaeaea;
}
address .mask {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-attachment: fixed;
    background: RGBA(255,255,255,0.3) !important;
    z-index: -1;
}
address .copy {
    font-size: 1.6rem;
}
address img.company_logo {
    width: 5rem;
    display: inline;
    margin-bottom: -1rem;
}
address .company_name {
    font-weight: bold;
    font-size: 2.3rem;
    margin: 1rem 0;
}
address .company_name,
address .copy,
address .company_address,
address .footer_tel,
address .caption{
	filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.9));
}
address .company_logo {
    max-width: 20rem;
}

address i.fas.fa-file-pdf {
    color: #ff4c3e;
}
address .pdf {
  background-color: #fff;
  padding: 0 1rem;
  text-align: center;
  border-radius: .3rem;
  display: inline-block;
  margin-top: 2rem;
  text-shadow: none;
}
address .pdf a{
  color: #333;
  font-weight: bold;
}
address .tel {
    color: #fff;
}
address .footer_tel i.circle {
	text-shadow: none;
}
address .iso {
    background-color: #e1eeff;
    font-weight: bold;
    color: #0052c0;
    text-align: center;
    display: inline-block;
    margin-top: 1rem;
    padding: .5rem 1.2rem;
    border-radius: .5rem;
}
address span.caption{
  margin-bottom: 2rem;
  font-size: 1.4rem;
  display: inline-block;
}
address .footer_tel a{
  color: #fff;
  text-decoration: none;
  font-size: 2.8rem;
  font-weight: bold;
}
address .tel_fax {
  display: flex;
}

/* フッターバー */
.site-info a,
.site-info a:visited {
    color: #ffffff;
    text-decoration: underline;
}
.footerbar_menu_wrap{
  font-size: 1.2rem;
}

/* フッターウィジェット */
.footer-widget-1 ul#menu-pc_header-2 {
    display: flex;
    justify-content: space-around;
    max-width: 100rem;
    width: 100%;
    margin: auto;
}
.footer-widget-1 .widget ul li {
    margin-bottom: 0;
}
.footer-widget-1 .widget ul li a{
    color: #333;
}

.footer-widget-1 .widget ul li:before {
    font-family: "Font Awesome 5 Free";
    content: "\f138";
    margin-right: .75rem;
    font-weight: bold;
    color: #43a42d;
    font-size: 1.4rem;
}
/* ================================================
■ パンくず
================================================ */
ul.breadcrumb {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 1.2rem;
    padding: 1rem;
    background-color: #e9f6ff;
}
ul.breadcrumb li {
    display: inline-block;
}
ul.breadcrumb li:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  font-size: 1rem;
  display: inline-block;
  position: relative;
  top: -.1rem;
  padding: 0 .6rem;
}
ul.breadcrumb li:last-child:after {
    content: "";
}


/* ================================================
■ バナー
================================================ */
.banner_wrapper {
  max-width: 80rem;
  margin: auto;
  padding: 0 2rem;
}

.banner_wrapper .box img{
  margin: 2rem 0;
}

a.banner:hover {
  opacity: .7;
  transition: .2s;
}

/* ================================================
カード
================================================ */
a.card_wrap{
  color: #333;
}
.card {
/*     height: 100%; */
    margin-bottom: 1rem;
    position: relative;
}
.card:hover{
    text-decoration: underline;
    opacity: .8;
}
img.card_image {
    width: 100%;
    object-fit: cover;
    display: block;
    max-width: 100%;
    height: auto;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out;
}
img.card_image:hover {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}
.card_date {
  padding: .2rem .5rem;
  margin: 0;
  font-size: 1.2rem;
  color: #fff;
  background-color: #333;
  display: inline-block;
  opacity: .8;
  position: absolute;
  z-index: 1;
}
.card_title {
    padding: .5rem 0 1rem;
    margin: 0;
}
.card .filter {
 filter:brightness(40%);
}

.btnmenu_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
	gap: 1rem;
}
.btnmenu_wrap a {
    display: block;
    width: 100%;
    max-width: 19rem;
    margin: auto;
    box-sizing: border-box;
}
.btnmenu_wrap a:hover {
    opacity: .8;
}
.btnmenu_wrap a.arrow {
    border: solid 2px;
    padding: 1.5rem 1rem;
    text-align: center;
    background: #43a42d;
    border: solid 2px #43a42d;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
}
.btnmenu_wrap a.arrow:before {
    font-size: 1.4rem;
    color: #fff;
}
a.youtube {
    border: solid 2px #333;
   	padding: 1.5rem 1rem;
}
a.youtube img {
    margin-bottom: 0;
    max-width: 10rem;
    display: block;
    margin: auto;
}
/* ================================================
■ お知らせ
================================================ */
/* テキストのみ */
.news_wrap {
    background-color: #f9f9f9;
    padding: 5rem 0 10rem;
    border-bottom: solid 1px #eee;
}

.news_contents {
    max-width: 100rem;
    width: 100%;
    margin: auto;
}

.news_contents a {
    display: block;
    text-decoration: none;
    padding: 2rem 1rem;
}
.news_contents a:hover{
    color: #000000;
    background-color: #fff;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.news_contents li:first-child {
  border-top: solid 1px #ccc;
}
.list-news {
    list-style: none;
    margin: 0;
    border-bottom: solid 1px #ccc;
    width: 100%;
    display: table;
}
li.list-news .news-date {
    padding: 1rem 0;
    width: auto;
    font-size: 1.4rem;
    color: #999999;
}

li.list-news .news-cat {
  text-align: center;
  color: #fff;
  font-size: 1.4rem;
  padding: .5rem;
  margin: 0 2rem;
  background: #3988d8;
  display: inline-block;
  width: 8rem;
}
li.list-news .news-txt {
    padding: 1rem 0;
    width: auto;
    color: #333;
}

/* アイキャッチ付き */
.news_eye_wrap a{
  color: #333;
}
.news_eye_wrap a:hover{
  text-decoration: none;
  color: #333;
}
.contents-box-wrap-three figure.eyecatch,
.contents-box-wrap-three-wide figure.eyecatch{
  height: auto;
  margin-bottom: 0;
  position: relative;
  overflow: hidden;
  border: solid 1px #ccc;
  box-sizing: border-box;
}
figure.eyecatch {
    position: relative;
    overflow: hidden;
    width: 100%;
    border: solid 1px #43a42d;
    box-sizing: border-box;
	margin-bottom: 0.8rem;
}

figure.eyecatch:after {
    position: absolute;
    content: '';
    display: inline-block;
    width: 4rem;
    height: 4rem;
    background-image: url(./images/link.png);
    background-size: contain;
    right: 0;
    bottom: 0;
}
figure.eyecatch:hover {
    border: solid 1px #ccc;
    box-sizing: border-box;
}
figure.eyecatch .date {
    text-align: center;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    background: #3988d8;
    color: #fff;
    font-size: 1.4rem;
    padding: .1rem .5rem;
    margin-bottom: 1rem;
    opacity: .9;
    -ms-filter: "alpha(opacity=90)";
}
figure.eyecatch img {
    margin-bottom: 0;
}
figure.eyecatch img.img-responsive:hover {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
span.cat {
    display: inline-block;
    background-color: #666;
    border-radius: .25rem;
    color: #fff;
    font-size: 1.4rem;
    padding: .25rem .5rem;
    margin: 0 1rem .5rem 0;
}
/* 投稿ページ */
header.page-header {
    display: none;
}
div.entry-meta {
  color: #666;
  background-color: #fbfced;
  padding: 1rem;
  margin: 0;
}
body.blog .post-image img {
  margin-bottom: 1rem;
}
body.blog div.entry-meta {
  margin-bottom: 8rem;
}
.entry-content img {
  margin-bottom: 1rem;
}
.entry-meta > .byline{
  display: none;
}
.entry-meta > .cat-links{
  display: none;
}
.nav-previous {
    float: left;
}
.nav-next {
    float: right;
}
.nav-next .next:before {
    content: none;
}
.nav-next .next::after {
    content: none;
}

footer.entry-meta {
   margin-bottom: 4rem;
   padding-top: 1rem;
}

.nav-links {
    text-align: center;
    margin-bottom: 5rem;
}
.nav-links a.page-numbers {
    border: solid 1px #43a42d;
    padding: .5rem 1rem;
    margin: 0 .3rem;
}
.nav-links span.current {
    border: solid 1px #43a42d;
    background-color: #43a42d;
    color: #fff;
    font-weight: bold;
    padding: .5rem 1rem;
    margin: 0 .3rem;
}

.nav-links > a.prev, .nav-links > a.next{
    border: none;
    padding: 0 .5rem;
    margin: 0;
}

/* ================================================
■ サイドバー/ウィジェット
================================================ */

h2.widget-title {
    margin: 0;
    font-size: 1.8rem;
    font-weight: bold;
    text-transform: none;
    text-align: left;
    border-left: none;
    padding: 1rem;
    border-bottom: solid 2px #43a42d;;
    background-color: transparent;
}
.widget ul li {
    list-style-type: none;
    position: relative;
    padding: 1.5rem 1rem;
    border-bottom: dotted 1px #ccc;
}
.widget ul.menu li:nth-child(n+5),
.widget ul.menu li:nth-child(3){
    padding: 1.5rem 0 1.5rem 3rem;
}
/* ================================================
■ テーブル
================================================ */
/* 基本設定 */
table, th, td {
  border-collapse: collapse;
  border: 1px solid #ccc;
  box-sizing: border-box;
  margin-bottom: 1rem;
  font-weight: 500;
}

/* 一般的なデザイン */
table.common {
    max-width: 80rem;
    margin: auto;
    background-color: #fff;
}
table.common tr th,
table.common tr td{
  padding: 2rem;
  text-align: left;
}
table.common th{
  width: 25%;
  vertical-align: top;
  background-color: #43a42d;
  font-weight: bold;
  color: #fff;
}
table.common td{
  text-align: left;
  width: 75%;
}
table.common td p{
  padding: 0;
  margin: 0;
  font-size: 1.4rem;
}

/* ================================================
■ コンタクトフォーム
================================================ */
input[type='text'], input[type='email'], input[type='tel'], input[type='url'], textarea{
width:100%;
padding:5px;
background-color: #f5fbff;
box-sizing:border-box;
-moz-box-sizing:border-box; /* Firefox */
-webkit-box-sizing:border-box; /* Chrome, Safari */
}
@supports(-webkit-appearance: none) or (-moz-appearance: none) {
  input[type='checkbox'],
  input[type='radio'] {
    -webkit-appearance: none;
    -moz-appearance: none;
  }
}
input[type='checkbox'], input[type='radio'] {
  background: #fff;
  border: .1rem solid #ccc;
  outline: none;
  display: inline-block;
  position: relative;
  top: .2rem;
  margin: 0;
  cursor: pointer;
  -webkit-transition: background .3s, border-color .3s, box-shadow .2s;
  transition: background .3s, border-color .3s, box-shadow .2s;
}
input[type='checkbox']{
    width: 1.6rem;
    height: 1.6rem;
    border: .1rem #ccc solid;
    border-radius: .3rem;
}
input[type='radio'] {
    padding: .4rem;
    border: .1rem #ccc solid;
    border-radius: 50%;
}
input[type='checkbox']:checked {
  background: #43a42d;
  border: .1rem solid #43a42d;
}
input[type='radio']:checked {
  background: #43a42d;
  border: .1rem solid #43a42d;
}
input[type='checkbox']:after {
    content: '';
    display: block;
    left: 0;
    top: 0;
    position: absolute;
    width: .3rem;
    height: .9rem;
    border: .2rem solid #fff;
    border-top: 0;
    border-left: 0;
    left: .5rem;
    top: 0px;
    transform: rotate(43deg);
    -webkit-transform: rotate(43deg);
}
input[type='radio']:after {
    content: '';
    display: block;
    width: .7rem;
    height: .7rem;
    border-radius: 50%;
    background-color: #fff;
}

/* contactform7 */
input[type='submit'].wpcf7-submit{
  display: block;
  padding: 1rem;
  margin: 3rem auto 0;
  width: 100%;
  max-width: 20rem;
  text-decoration: none;
  color: #fbf548;
  border-radius: 3px;
  background: #43a42d;
  border-bottom: solid 3px #00947b;
  font-weight: bold;
  font-size: 1.8rem;
  letter-spacing: .16rem;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  -webkit-font-kerning: auto;
          font-kerning: auto;
}

input[type='submit'].wpcf7-submit:hover{
  background: #ffe100;
  border-bottom: solid 3px #c1a000;
  color: #333;
}
input[type='submit'].wpcf7-submit:active {
    -webkit-transform: translateY(3px);
    transform: translateY(3px);
    border-bottom: none !important;
}
span.wpcf7-form-control > span.wpcf7-list-item {
    margin: 0 auto;
    width: auto;
    max-width: inherit;
    min-width: inherit;
    display: block;
}
span.wpcf7-list-item label {
    display: block;
    word-break: break-all;
    margin-right: 3rem;
}
div.wpcf7-response-output {
    margin: 1rem 0;
    padding: 2rem;
    text-align: center;
    font-weight: bold;
    font-size: 2rem;
    border: 2px solid #ff0000;
}
div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
    border: 3px solid #fcee21;
}
div.wpcf7-mail-sent-ok {
    border: 3px solid #43a42d;
}
div.wpcf7 .ajax-loader {
    display: block;
    margin: 2rem auto 1rem;
}
input::placeholder,textarea::placeholder {
  color: #bbb;
}
span.require {
    background-color: #e20000;
    border-radius: .3rem;
    color: #fff;
    font-size: 1.2rem;
    padding: .3rem;
    margin-right: 1rem;
    vertical-align: inherit;
}
/* ================================================
■ よくある質問
================================================ */
.faq *, .faq *:after, .faq *:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.faq {
	border-top: .1rem solid #ccc;
}
.faq .faq_tab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin-bottom: .1rem;
	color: #1b2538;
}
.faq .faq_tab input {
	position: absolute;
	opacity: 0;
}
/* 質問 */
.faq .faq_tab label {
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 150%;
  position: relative;
  display: block;
  margin: 0 0 0 0;
  padding: 2rem 4rem 2rem 2rem;
  cursor: pointer;
  border-bottom: .1rem solid #ccc;
}
.faq .faq_tab label:hover {
	color: #43a42d;
}
/* 答え */
.faq .faq_tab .tab_content {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.5s ease;
	        transition: max-height 0.5s ease;
	background: #f9f9f9;
}
/* 質問を開いた時の仕様 */
/* --アイコン */
.faq .faq_tab input:checked ~ label {
	color: #43a42d;
}
/* --答えの高さ */
.faq .faq_tab input:checked ~ .tab_content {
  max-height: 400rem;
  border-bottom: solid 1px #ccc;
}
.faq .faq_tab .tab_content p {
  padding: 2rem;
  margin: 0;
}
/* 質問をクリックした時のアイコンの動き */
.faq .faq_tab label::after {
  line-height: 1.6rem;
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	width: 3rem;
	margin-top: -1rem;
	-webkit-transition: all 0.5s ease;
	        transition: all 0.5s ease;
	text-align: center;
}
.faq .faq_tab input[type=checkbox] + label::after {
    font-family: "Font Awesome 5 Free";
    font-size: 1.6rem;
    content: "\f077";
    margin-right: 1.5rem;
}
.faq .faq_tab input[type=checkbox]:checked + label::after {
	-webkit-transform: rotateX(180deg);
	transform: rotateX(180deg);
}
/* ================================================
■ ボタン
================================================ */
a.button_first {
  font-size: 2.4rem;
  font-weight: bold;
  color: #fbf548;
  padding: 1.5rem 1rem;
  display: block;
  width: 100%;
  max-width: 30rem;
  margin: 1rem auto;
  text-align: center;
  transition: .2s;
}
a.button_first.round,
a.button_second.round  {
  border-radius: 50rem;
}
a.button_first:hover {
  opacity: .8;
}

a.button_first.blue{
  background: #026eb7;
  border-bottom: solid 3px #009aaf;
}
a.button_first.green{
  background: #00b596;
  border-bottom: solid 3px #337923;
}
a.button_first.orange{
  background: #f5bf1e;
  border-bottom: solid 3px #b2871b;
}
a.button_first.red{
  background: #e20000;
  border-bottom: solid 3px #a50000;
}

a.button_first.mail{
  background: #43a42d;
  /* メニューがpageheroの下にあるためzindexで階層上にしないとボタンクリックできない */
  position: relative;
  z-index: 1;
  font-size: 2rem;
}
a.button_first.mail:before {
  font-family: "Font Awesome 5 Free";
  font-size: 2rem;
  content: "\f0e0";
  margin-right: 1rem;
  font-weight: 500;
  position: relative;
  color: #fbf548;
}
a.button_first.tel{
  background: #026eb7;
  position: relative;
  z-index: 10;
}
a.button_first.tel:before {
  font-family: "Font Awesome 5 Free";
  font-size: 2rem;
  content: "\f879";
  top: -.2rem;
  font-weight: 600;
  margin-right: 1rem;
  position: relative;
  color: #fbf548;
}
a.button_first.insta {
  background: #fff;
  border: solid 2px #de2e72;
  color: #333;
  margin: 3rem auto;
  padding: .75rem 0;
  font-size: 2rem;
}
a.button_first.insta span{
  position: relative;
  top: -.5rem;
}
a.button_first.insta:before {
  content: '';
  display: inline-block;
  background: url(./images/icon_instra.png) no-repeat left center;
  background-size: 3rem;
  width: 3rem;
  height: 3rem;
  position: relative;
  top: .25rem;
  margin-right: 1rem;
}
a.button_first.insta:hover {
  border: solid 2px #de2e72;
  background-color: #de2e72;
  color: #fff;
}
a.button_second {
    text-align: center;
    display: block;
    width: 100%;
    max-width: 20rem;
    margin: 3rem auto 0;
    color: #fff;
    border: solid 1px #ff4c3e;
    background-color: #ff4c3e;
    position: relative;
    transition: .3s;
    z-index: 2;
    font-weight: bold;
    padding: 0;
}
a.button_second.round {
  margin: 2rem auto;
  padding: .25rem .5rem;
  max-width: 25rem;
}
a.button_second:hover {
  border: solid 1px #ff4c3e;
  background-color: #fff;
  color: #ff4c3e;
}
a.round:before {
  border-radius: 50rem;
  transition: 0s;
}
a.button_second:hover:before {
  transform-origin: left top;
  transform: scale(1, 1);
}
a.button_second span{
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 1rem 0;
}
a.button_second span:after {
  font-family: "Font Awesome 5 Free";
  font-size: 1.2rem;
  content: "\f061";
  right: -4rem;
  font-weight: bold;
  position: relative;
  top: -.2rem;
  color: #fff;
}
a.button_second span:hover:after {
  color: #ff4c3e;
}
/* ================================================
■ 404/検索結果
================================================ */
body.error404 .entry-title,
body.error404 p,
body.search .entry-title,
body.search p,
form.search-form {
    text-align: center;
    margin-bottom: 2rem;
}
/* ================================================
■ その他機能
================================================ */
/* ナンバリング */
h3.num {
  padding: 0;
  margin-bottom: 1.5rem;
  border: none;
}
h3.num span{
  color: #3988d8;
  font-size: 4rem;
  margin-right: 1rem;
}
h3.num span.small{
  font-size: 2.4rem;
  margin-right: .5rem;
}
/* 写真＆注釈 */
.service_caption {
    background-color: #3988d8;
    width: 90%;
    margin: auto;
    color: #fff;
    text-align: center;
    font-weight: bold;
    font-size: 2.1rem;
    padding: .75rem 0;
    position: relative;
    top: -2.3rem;
    border-radius: .3rem;
}
.service_caption span{
  font-size: 1.6rem;
}
 p.service_txt{
    padding: .75rem 0;
    position: relative;
    top: -1.5rem;
}

/* iframeレスポンシブ */
.iframe_responsive {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
margin-bottom: 1rem;
}
.iframe_responsive iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

/* ================================================
■ IE対応
================================================ */
@media all and (-ms-high-contrast:none) {
    .page-hero-top {
      height: 100vh;
      min-height: initial !important;
      min-height: auto !important;
    }
    .inside-page-hero{
      margin-top: -10%;
    }
    #menu-pc_header li:last-child a,
    #menu-pc_header-1 li:last-child a {
        margin-top: .75rem;
    }
}

/* ================================================
■ Smart Slider
================================================ */
/* contentのCSS classでクラス名を指定する */
.icon div .n2i {
  position: relative;
  top: -.1rem;
  margin-right: .5rem !important;
}
div#n2-ss-2item1 {
/*     background-color: rgba(255, 255, 255, 0.8); */
    padding: 10%;
}
div#n2-ss-2item1 span.title {
  color: #fff;
  filter: drop-shadow(0px 0px 5px rgba(67,164,45,1.0));
  font-weight: bold;
  font-size: 10rem;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  position:relative;
  display: block;
  margin-bottom: 2rem;
  box-sizing: border-box;
}
div#n2-ss-2item1 span.title::after{
  content: "";
  display: block;
  width: 10rem;
  height: .2rem;
  background-color: #43a42d;
  position: absolute;
  bottom: -3rem;
  left: 0;
  right: 0;
  margin: auto;
}
div#n2-ss-2item1 span.text {
  color: #fff;
  filter: drop-shadow(0px 0px 5px rgba(67,164,45,1.0));
  font-size: 3rem;
  font-family: "Montserrat","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  font-weight: bold;
}
/* ================================================
■ ここに追加を表示
================================================ */
p.top_message {
    text-align: center;
    font-weight: bold;
    font-size: 2.1rem;
    margin-bottom: 5rem;
}
img.pnf {
    border: solid 2px #f4f4f4;
    box-sizing: border-box;
    margin: auto;
    display: block;
    width: 100%;
    height: auto;
}
.box img.company {
  margin-bottom: 3rem;
}
.setsumei {
    font-size: 1.4rem;
    color: #666;
    margin: 2rem 0;
    display: block;
}
.daihyou {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: right;
  display: block;
}
.message {
    max-width: 80rem;
    width: 100%;
    margin: auto;
    font-weight: bold;
    font-size: 1.8rem;
}
.message p {
    font-weight: normal;
    font-size: 1.6rem;
    text-align: center;
    margin-top: 3rem;
}

.message2 {
    max-width: 80rem;
    width: 100%;
    margin: auto;
    font-weight: bold;
    font-size: 1.8rem;
    text-align: center;
}
.message2 p {
    font-weight: normal;
    font-size: 1.6rem;
    text-align: center;
    margin: 1rem 0 2rem;
}
.contact_tel {
    text-align: center;
    font-size: 3rem;
    font-weight: bold;
    max-width: 60rem;
    margin: 0 auto 5rem;
    border: solid 1px #43a42d;
    background-color: #fbfced;
    padding: 2rem;
    box-sizing: border-box;
}
.contact_tel span {
    text-align: center;
    font-size: 1.4rem;
    display: block;
}
a.arrow:before {
    font-family: "Font Awesome 5 Free";
    font-size: 1.2rem;
    content: "\f054";
    margin-right: .75rem;
    font-weight: bold;
    position: relative;
    top: -.2rem;
    color: #43a42d;
}
.nankouji_wrap h3 {
  margin-top: 8rem;
}
.nankouji_wrap h4 {
  margin-top: 4rem;
}

ul.list {
    margin: 0 0 2rem;
    padding-left: 2rem;
}
ul.list li:before {
    content: "";
    width: 3px;
    height: 3px;
    display: inline-block;
    background-color: #333;
    border-radius: 50%;
    position: relative;
    top: -5px;
    left: -15px;
    margin-right: -3px;
}


/* ================================================
■ cookie/クッキー
================================================ */
  .cookie-consent {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    bottom: 0;
    width: 100%;
    font-size: 12px;
    color: #fff;
    background: rgba(0,0,0,.7);
    padding: 1.2em;
    box-sizing: border-box;
    visibility: hidden;
    z-index: 100;
  }
  .cookie-consent.is-show {
    visibility: visible;
  }
  .cookie-consent a {
    color: #fff !important;
  }
  .cookie-agree {
    color: #fff;
    background: dodgerblue;
    padding: .5em 1.5em;
  }
  .cookie-agree:hover {
    cursor: pointer;
  }
  /* パッと消える */
  .cc-hide1 {
    display: none;
  }
  /* ゆっくり消える */
  .cc-hide2 {
    animation: hide 1s linear 0s;
    animation-fill-mode: forwards;
  }
  @keyframes hide {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      visibility: hidden;
    }
  }
  /* メディアクエリ */
  @media screen and (max-width: 600px) {
    .cookie-consent {
      flex-direction: column;
    }
    .cookie-text {
      margin-bottom: 1em;
    }
  }
