@charset "UTF-8";
/*
Template: liquid
Description: TMコミュニティー様会員企業様向け テンプレート
Author: 合同会社TMコミュニティー
Version: 1.1.9
*/

/* Basic
-------------------------------------------------------------- */
/** Noto Sans **/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');

html {
  font-size: 62.5%;
}
body {
  background: #fff;
  height: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: grayscale;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
　font-feature-settings: "palt";
}
body, button, input, select, textarea {
    font-family: 'Noto Sans JP', Arial, sans-serif;
    font-weight: normal;
	font-size: 1.6rem;
	font-feature-settings: "palt";
	line-height: 1.7;
	color: #444;
}
.container {
    width: 100% !important;
    max-width: 1230px !important;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Noto Sans JP', Arial, sans-serif;
    font-weight: bold;
    margin-bottom: 45px;
    margin-top: 0;
	line-height: 1.5;
    color: #444;
}

*,
*::before,
*::after {
	letter-spacing: 0 !important;
}
img {
	-webkit-backface-visibility: hidden;
    max-width: 100%;
    height: auto;
}

/*------------------------------
	Links
------------------------------*/
a {
	color: #00917d;
	text-decoration: none;
	outline: none;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) 0s;
}
a:hover {
    color: #ff6800;
    text-decoration: none;
    outline: none;
}
a:visited {
    color: #00917d;
    opacity: 1.0;
}
a:active, a:focus {
    color: #00917d;    
    outline: none;
    text-decoration: none;
}
a:hover img { opacity: 0.8;}
a,a img {
	-webkit-transition: 0.5s;
	transition: 0.5s;
}

/** スマホ電話番号リンク表示 **/
.tel_link a,
.tel_link a:hover,
.tel_link a:hover img
{
	color: #444;
	text-decoration: none;
	opacity: 1.0;
}
.tel_link:hover img {
	opacity: 1.0;
}

a.tel_link,
a.tel_link:hover
{
	color: #444;
	text-decoration: none;
	opacity: 1.0;
}
a.tel_link:hover img {
	opacity: 1.0;
}

iframe {
	max-width: 100%;
}

/** 画像枠付き表示 **/
img.border {
    display: inline-block;
    width: 100%;
    background: #fff;
    padding: 1px;
    border: 1px solid #ccc;
}
/** 画像角丸表示 **/
img.radius {
    border-radius: 10px;
}

p {
    margin-bottom: 20px;
}

blockquote {
    padding: 9px 18px;
    margin: 0 0 18px;
    border-left: 5px solid #f2f2f2;
}
blockquote:before {
    display: none;
}
blockquote > p:nth-last-of-type(1) {
    margin-bottom: 0;
}


/* Common
-------------------------------------------------------------- */
/*---------------------------------------------------------------
　ヘッダー
---------------------------------------------------------------*/
.header_inner {
	width: 100%;
    max-width: 1200px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    margin: 0 auto;
}
.header_logo {
    width: 80%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 20px 0 10px 15px;
    line-height: 1.0;
}
.header_nav { width: 100%; }
@media screen and (max-width: 767px),print {
    .header_logo {
	    -webkit-align-items: center;
	    align-items: center;
    }
}
.header_logo h1 {
    width: 100%;
    font-weight: normal;
    line-height: 1.0;
    margin: 0;
}
.header_logo a,
.header_logo a:hover {
    color: #000;
}
.header_logo img {
    width: 100%;
    max-width: 80px;
    display: inline-block;
    margin-right: 10px; 
}
.header_logo a:hover img { opacity: 1.0; }
.header_logo h1 { font-size: 1.1rem; }
@media screen and (min-width: 481px),print {
    .header_logo h1 { font-size: 1.4rem; }
    .header_logo img { margin-right: 15px; }
}
@media screen and (min-width: 576px),print {
    .header_logo h1 { font-size: 1.6rem; }
    .header_logo img {
        max-width: 125px;
        margin-right: 20px;
    }
}
@media screen and (min-width: 768px) ,print {
    .header_inner { height: 128px; }
    .header_logo { 
        width: 43%;
        height: 128px;
        padding: 0 0 0 15px;
    }
    .header_nav { width: 57%; }
}
@media screen and (min-width: 768px) ,print {
    .header_logo { 
	    -webkit-align-items: center;
	    align-items: center;
    }
}
@media screen and (min-width: 992px),print {
    .header_logo h1 {
        font-size: 2.0rem;
        position: relative;
        top: -2px;
    }
    .header_logo img {
        max-width: 138px;
        margin-right: 25px;
    }
}
@media screen and (min-width: 1200px),print {
    .header_logo { padding-left: 0; }
}


/*---------------------------------------------------------------
　グローバルナビ ／ ハンバーガーメニュー
---------------------------------------------------------------*/
.navbar {
    border-bottom: none;
    box-shadow: none;
}
.navbar-nav a {
    color: #444;
    font-weight: normal;
    font-size: 1.6rem;
}
.navbar-nav a:hover { opacity: 0.8; }
@media screen and (max-width: 767px),print {
    .navbar {
        position: fixed;
        top: 0;
        background: #fff;
	    -webkit-align-items: start;
	    align-items: start;
        width: 100%;
        z-index: 100;
    }
    .navbar.menu_open {
        padding-top: 35px;
        height: 100vh;
    }
    .navbar li { margin-bottom: 0; }
    .navbar .menu-item a {
        padding: 15px 15px 15px 25px;
        border-bottom: 1px solid rgba(119, 119, 119, 0.1);
    }
    .navbar .nav_contact.menu-item a { border-bottom: none; }
}
@media screen and (min-width: 768px),print {
    .navbar-expand-md {
        -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
        -ms-flex-pack: start;
		-webkit-justify-content: flex-end;
        justify-content: flex-end;
    }
    .navbar {
        height: 128px;
	    -webkit-align-items: center;
	    align-items: center;
    }
    ul.navbar-nav li {
        padding: 0;
        line-height: 1.0;
    }
    ul.navbar-nav li.nav_company a {
        border-left: 1px solid #444;
    }
    ul.navbar-nav li a {
        display: inline-block;
        padding: 0 25px;
    }
    ul.navbar-nav li.nav_home,
    ul.navbar-nav li.nav_contact {
        display: none !important;
    }
    body.home .navbar { display: none !important; }
}

/**
 * ハンバーガーメニュー
**/
button.navbar-toggler,
button.navbar-toggler:hover {
    position: fixed;
    top: 0;
    right: 0;
    display: block;
    width: 50px;
    height: 50px;
	background: url("images/menu_bt_close.png") no-repeat !important;
	background-size: 50px !important;
    z-index: 200;
}
button.navbar-toggler.collapsed {
	background: url("images/menu_bt.png") no-repeat !important;
	background-size: 50px !important;
}
.navbar-toggler {
    border-radius: 0;
}


/*---------------------------------------------------------------
　見出し
---------------------------------------------------------------*/


/*---------------------------------------------------------------
　コンテンツ
---------------------------------------------------------------*/
.container.wrapper {
    width: 100% !important;
    max-width: 1200px !important;
}
.area-contents { 
    background: #f9f8e7;
    padding: 0 10px 80px;
}
.wrapper { background: #fff; }
.page-wrapper {
    margin: 0 auto;
    padding: 20px 0;
}
.page-contents {
    max-width: 1200px;
    margin: 0 auto;
}
@media screen and (min-width: 576px),print {
    .area-contents { padding: 0 0 130px; }
    .page-wrapper { 
        padding: 80px 65px;
    }
}


/*---------------------------------------------------------------
　フッター
---------------------------------------------------------------*/
footer {
    background: #41cbaa;
    padding: 0;
    margin: 0;
}
.footer_menu {
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    margin: 0 auto;
}
.footer_logo {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    align-items: center;
    margin: 0 0 40px;
}
.footer_logo h2 {
    width: 100%;
    font-weight: normal;
    color: #fff;
    line-height: 1.0;
    margin: 0;
}
.footer_logo a,
.footer_logo a:hover {
    color: #fff;
}
.footer_logo img {
    width: 100%;
    max-width: 80px;
    display: inline-block;
    margin-right: 10px; 
}
.footer_logo a:hover img { opacity: 1.0; }
.footer_logo h2 { font-size: 1.1rem; }
@media screen and (min-width: 481px),print {
    .footer_logo h2 { font-size: 1.4rem; }
    .footer_logo img { margin-right: 15px; }
}
@media screen and (min-width: 576px),print {
    .footer_logo h2 { font-size: 1.6rem; }
    .footer_logo img {
        max-width: 125px;
        margin-right: 20px;
    }
}
ul#menu-footer_navi li {
    display: block !important;
    border-bottom: none;
    padding: 0;
    line-height: 1.0;
}
ul#menu-footer_navi li a {
    color: #fff !important;
}
ul#menu-footer_navi li a:hover {
    background: transparent !important;
}
.footer_nav .col-sm-4 {
    width: 100% !important;
    max-width: 100% !important;
}
@media screen and (max-width: 991px),print {
    .footer_menu {
        width: 100%;
        display: block !important;
        margin: 0 auto;
        padding: 50px 0;
    }
    ul#menu-footer_navi li { margin-bottom: 30px; }
    ul#menu-footer_navi li:nth-last-of-type(1) { margin-bottom: 0; }
    .footer_logo { width: 100%; }
    .footer_nav { width: 100%; }
}
@media screen and (min-width: 992px),print {
    ul#menu-footer_navi {
        width: 100%;
	    display: -webkit-flex;
	    display: flex;
	    -webkit-flex-wrap: wrap;
	    flex-wrap: wrap;
		-webkit-justify-content: flex-end;
        justify-content: flex-end;
        margin-top: 110px;
    }
    ul#menu-footer_navi li {
        display: inline-block !important;
    }
    ul#menu-footer_navi li a {
        display: inline-block;
        padding: 0 25px;
        border-left: 1px solid #fff;
    }
    ul#menu-footer_navi li:nth-of-type(1) a {
        border-left: none;
    }
    ul#menu-footer_navi li:nth-last-of-type(1) a {
        padding-right: 0;
    }
    ul#menu-footer_navi li a:hover { opacity: 0.8; }
}
@media screen and (min-width: 992px),print {
    .footer_logo { 
        width: 40%;
        margin-top: 85px;
    }
    .footer_logo h2 {
        font-size: 2.0rem;
        position: relative;
        top: -2px;
    }
    .footer_logo img {
        max-width: 138px;
        margin-right: 25px;
    }
    .footer_nav { width: 60%; }
    .footer_menu { margin-bottom: 50px; }
}


/**
 * コピーライト
**/
.area_copyright {
    background: #41cbaa;
}
.copyright {
    padding-bottom: 25px;
    font-size: 1.2rem;
    color: #fff;
    text-align: center;
}
@media screen and (min-width: 768px),print {
    .copyright { font-size: 1.4rem; }
}

/**
 * ページトップボタン
**/
#bt-top {
	position: fixed;
	bottom: 45px;
	right: 20px;
	z-index: 50;
}
#bt-top img {
	width: 50px;
	opacity: 0.8;
}
@media screen and (min-width: 481px) {
    #bt-top { 
        bottom: 25px;
        right: 25px;
    }
    #bt-top img { width: 65px; }
}

/**
 * スマホメニューボタン
**/
ul.footer_sp-menu_bt {
	position: fixed;
	bottom: 0;
    list-style: none;
	background: url("images/menu_bt_sp-bg.png");
	width: 100%;
	padding: 6px 2%;
    margin: 0;
    z-index: 50;
}
ul.footer_sp-menu_bt li {
	width: 49%;
	float: left;
	text-align: right;
	margin-right: 2%;
    margin-bottom: 0;
}
ul.footer_sp-menu_bt li:nth-child(2) {
	margin-right: 0;
	text-align: left;
}
ul.footer_sp-menu_bt li a {
	display: block;
	max-height: 46px;
}

ul.footer_sp-menu_bt li img{
	width: 100%;
	max-width: 188px;
	opacity: 1.0;
}
@media screen and (min-width: 481px) ,print{
	ul.footer_sp-menu_bt {
		display: none;
	}
}


/*---------------------------------------------------------------
　パンくずリスト
---------------------------------------------------------------*/
/* Breadcrumbs
------------------------------*/
.area-pankuzu {
	width: 100%;
	color: #444;
	font-size: 1.3rem;
	line-height: 1.4;
    padding: 2px 0;
    margin: 0 auto 20px;
    background: #f9f8e7;
}
@media screen and (min-width: 576px) ,print{
    .area-pankuzu {
        margin: 0 auto 50px;
    }   
}
ul.breadcrumbsul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.breadcrumbs {
	width: 100%;
	list-style: none;
}
.breadcrumbs li {
	display: inline-block;
	padding: 5px 20px 5px 5px;
    margin: 0;
}
.breadcrumbs a {
	position: relative;
	display: inline-block;
	text-decoration: none;
	color: #444;
}
.breadcrumbs li a::after {
    position: absolute;
    display: inline-block;
    top: calc(50% - (3px));
    right: -17px;
    content: '';
    width: 7px;
    height: 7px;
    border-top: 1px solid #444;
    border-right: 1px solid #444;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.breadcrumbs a:hover { 
    color: #00917d;
}


/*---------------------------------------------------------------
　ページング
---------------------------------------------------------------*/
.wp-pagenavi{
	padding-top: 60px;
	width:100%;
    text-align: center;
}
.wp-pagenavi span.pages,
.wp-pagenavi a,
.wp-pagenavi span.extend
{
	min-width: 47px;
	display:inline-block;
	font-size: 15px;
	color: #fff;
	background-color: #006c20;
	border-color: #006c20 !important;
	margin-bottom: 10px;
	padding: 10px !important;
	text-align: center;
}
.wp-pagenavi span.current{
	min-width: 47px;
	display: inline-block;
	font-size: 15px;
	color: #111;
	background-color: #fff;
	border-color: #006c20 !important;
	margin-bottom: 10px;
	padding: 10px !important;
	text-align: center;
}
.wp-pagenavi a:hover {
	opacity: 0.8;
	text-decoration: none;
	color: #fff;
}


/* 下層ページ：トップイメージエリア
-------------------------------------------------------------- */
.page-header {
	background: url("images/bg_page-title.jpg") center top no-repeat;
	background-size: cover;
    margin: 0 auto;
}
@media screen and (min-width: 768px) ,print{
    .page-header {
	    background-size: 100%;
    }
}
.page-title_wrap {
    max-width: 1230px;
	width: 100%;
    height: 125px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    -webkit-align-items: center;
	align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    padding: 0 15px;
    margin: 0 auto;
}
.page-title_wrap h1 {
    color: #fff;
    margin: 0;
    font-size: 2.2rem;
    font-weight: bold;
}
@media screen and (min-width: 576px) ,print{
    .page-title_wrap h1 { font-size: 3.0rem; }
}
@media screen and (min-width: 768px) ,print{
    .page-title_wrap h1 { font-size: 4.6rem; }
    .page-title_wrap { height: 250px; }
}


/* HOME
-------------------------------------------------------------- */

/*---------------------------------------------------------------
　トップ画像
---------------------------------------------------------------*/
.area_topimage {
	background: url("images/bg_user-topimage.jpg") center top no-repeat;
	background-size: cover;
    margin: 0 auto;
}
.area_topimage h1 {
    line-height: 1.0;
    margin: 0;
    padding: 0;
}
.box-topimage {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
}
.box-topimage img.pc,
.box-topimage img.sp { 
    display: block;
    width: 100%;
    margin: 0 auto;
}
.box-topimage img.pc { display: none; }
@media screen and (min-width: 976px),print {
    .box-topimage img.pc { display: block; }
    .box-topimage img.sp { display: none; }
}


/*---------------------------------------------------------------
　ハラスメント相談窓口のことなら私たちプロにお任せ下さい！
---------------------------------------------------------------*/
.area_sodan {
    margin: 0 auto;
    padding: 100px 0;
}
@media screen and (min-width: 768px),print {
    .area_sodan { padding: 170px 0 110px; }
}
.box-sodan {
    width: 100%;
    max-width: 1000px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    margin: 0 auto 40px;
}
.area_sodan h2 { 
    font-size: 2.2rem;
    color: #00917e;
    margin-bottom: 30px;
}
.area_sodan h2 span.large { 
    font-size: 2.8rem;
    color: #e4007f;
    font-weight: bold;
}
@media screen and (min-width: 768px),print {
    .box-sodan  { margin: 0 auto 80px; }
    .area_sodan h2 { 
        font-size: 3.6rem;
        line-height: 1.7;
    }
    .area_sodan h2 span.large { font-size: 4.8rem; }
}
.box-sodan .image {
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
}
.box-sodan .image img {
    width: 100%;
    max-width: 300px;
}
@media screen and (min-width: 992px),print {
    .box-sodan .image { width: 24.4%; }
    .box-sodan .text {
        width: 70.6%;
        padding: 40px 0 0 0;
        margin-left: 5%;
    }
    .box-sodan .image img { width: 100%; }
}

/**
 * 相談窓口ボタン
**/
.btn_request {
    width: 100%;
    max-width: 900px;
    margin: 0 auto 10px;
    height: 60px;
    border-radius: 30px;
    background: -moz-linear-gradient(
		top,
		#fff100,
		#e6d900);
	background: -webkit-linear-gradient(
		linear, left top, left bottom,
		from(#fff100),
		to(#e6d900));
	background: linear-gradient(
		to bottom,
		#fff100,
		#e6d900);
    -webkit-transition: 0.5s;
    transition: 0.5s;
    box-shadow: 0px 2px 2px rgba(0,0,0,0.15);
}
.btn_request:hover { opacity: 1.0; }
.btn_request a {
    position: relative;
	width: 100%;
    height: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    font-size: 1.8rem;
    color: #01a08b;
    font-weight: bold;
    padding-right: 10px;
    text-shadow:
			0px 1px 1px #fff;
}
.btn_request a::before {
    display: block;    
    content: '';
    position: absolute;
    top: calc(50% - 1px);
    right: 10px;
    transform: translateY(calc(-50% - 0px)) rotate(45deg);
    width: 12px;
    height: 2px;
    background-color: #01a08b;
    box-shadow: 0px 2px 2px rgba(255,255,255,0.6);
}
.btn_request a::after {
    display: block;    
    content: '';
    position: absolute;
    top: calc(50% + 3px);
    right: 13px;
    transform: translateY(-50%);
    width: 35px;
    height: 2px;
    background-color: #01a08b;
    box-shadow: 0px 2px 2px rgba(255,255,255,0.6);
}
@-moz-document url-prefix(){
    .btn_request a::before {
        transform: translateY(calc(-50% - 2px)) rotate(45deg);
    }
    .btn_request a::after {
          transform: translateY(calc(-50% - 2px));
    }
}
@media screen and (min-width: 360px),print {
    .btn_request {
        height: 60px;
        border-radius: 30px;
    }
    .btn_request a {
        font-size: 1.8rem;
        padding-right: 10px;
    }
    .btn_request a::before {
        top: calc(50% - 1px);
        right: 20px;
        transform: translateY(calc(-50% - 0px)) rotate(45deg);
        width: 12px;
        height: 2px;
    }
    .btn_request a::after {
        top: calc(50% + 3px);
        right: 23px;
        transform: translateY(-50%);
        width: 35px;
        height: 2px;
    }
}
@media screen and (min-width: 480px),print {
    .btn_request {
        height: 60px;
        border-radius: 30px;
    }
    .btn_request a {
        font-size: 2.2rem;
        padding-right: 10px;
    }
    .btn_request a::before {
        top: calc(50% - 1px);
        right: 20px;
        transform: translateY(calc(-50% - 0px)) rotate(45deg);
        width: 12px;
        height: 2px;
    }
    .btn_request a::after {
        top: calc(50% + 3px);
        right: 23px;
        transform: translateY(-50%);
        width: 35px;
        height: 2px;
    }
}
@media screen and (min-width: 768px),print {
    .btn_request {
        height: 118px;
        border-radius: 64px;
    }
    .btn_request a {
        position: relative;
        top: -2px;
        font-size: 5.0rem;
        padding-right: 17px;
    }
    .btn_request a::before {
        top: calc(50% - 2px);
        right: 45px;
        transform: translateY(calc(-50% - 0px)) rotate(45deg);
        width: 23px;
        height: 2px;
    }
    .btn_request a::after {
        top: calc(50% + 6px);
        right: 48px;
        transform: translateY(-50%);
        width: 60px;
        height: 2px;
    }
}
@media screen and (min-width: 992px),print {
    .btn_request {
        height: 118px;
        border-radius: 64px;
    }
    .btn_request a {
        font-size: 5.0rem;
        padding-right: 17px;
    }
    .btn_request a::before {
        top: calc(50% - 2px);
        right: 55px;
        transform: translateY(calc(-50% - 0px)) rotate(45deg);
        width: 23px;
        height: 2px;
    }
    .btn_request a::after {
        top: calc(50% + 6px);
        right: 58px;
        transform: translateY(-50%);
        width: 80px;
        height: 2px;
    }
}
.btn_request:hover {
    opacity: 1.0;
    background: -moz-linear-gradient(
		top,
		#fef25d,
		#eadf59);
	background: -webkit-linear-gradient(
		linear, left top, left bottom,
		from(#fef25d),
		to(#eadf59));
	background: linear-gradient(
		to bottom,
		#fef25d,
		#eadf59);
    box-shadow: 0px 2px 2px rgba(0,0,0,0.15);
}

.box-topimage .btn_request {
    position: absolute;
    bottom: -54px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 5;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    width: 94%;
}
@media screen and (min-width: 360px),print {
    .box-topimage .btn_request { bottom: -52px; }
}
@media screen and (min-width: 375px),print {
    .box-topimage .btn_request { bottom: -52px; }
}
@media screen and (min-width: 390px),print {
    .box-topimage .btn_request { bottom: -50px; }
}
@media screen and (min-width: 411px),print {
    .box-topimage .btn_request { bottom: -50px; }
}
@media screen and (min-width: 414px),print {
    .box-topimage .btn_request { bottom: -50px; }
}
@media screen and (min-width: 480px),print {
    .box-topimage .btn_request { bottom: -48px; }
}
@media screen and (min-width: 533px),print {
    .box-topimage .btn_request { bottom: -45px; }
}
@media screen and (min-width: 568px),print {
    .box-topimage .btn_request { bottom: -42px; }
}
@media screen and (min-width: 600px),print {
    .box-topimage .btn_request { bottom: -42px; }
}
@media screen and (min-width: 640px),print {
    .box-topimage .btn_request { bottom: -40px; }
}
@media screen and (min-width: 667px),print {
    .box-topimage .btn_request { bottom: -40px; }
}
@media screen and (min-width: 731px),print {
    .box-topimage .btn_request { bottom: -35px; }
}
@media screen and (min-width: 736px),print {
    .box-topimage .btn_request { bottom: -35px; }
}
@media screen and (min-width: 768px),print {
    .box-topimage .btn_request { bottom: -90px; }
}
@media screen and (min-width: 853px),print {
    .box-topimage .btn_request { bottom: -85px; }
}
@media screen and (min-width: 912px),print {
    .box-topimage .btn_request { bottom: -80px; }
}
@media screen and (min-width: 1024px),print {
    .box-topimage .btn_request { bottom: -85px; }
}
@media screen and (min-width: 1200px),print {
    .box-topimage .btn_request { 
        bottom: -80px;
        width: 100%;
    }
}
ul.navbar-nav .btn_request {
    max-width: 94%;
    margin: 30px auto;
}


/* 会社案内
-------------------------------------------------------------- */
dl.company {
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	border: 1px solid #ccc;
	margin: 0 auto;
}
dl.company dt {
	width: 100%;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
	padding: 10px;
	margin: 0;
	background: #c6f6e6;
	background-size: 50%;
	font-weight: bold;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
dl.company dd {
	width: 100%;
	border-bottom: 1px solid #ccc;
    border-left: none;
	padding: 10px;
	margin: 0;
}
dl.company dt:nth-of-type(1) { border-top: 1px solid #fff;}
dl.company dt:nth-last-of-type(1) { border-bottom: 1px solid #fff;}
dl.company dd:nth-of-type(1) { border-top: 1px solid #fff;}
dl.company dd:nth-last-of-type(1) { border-bottom: none;}
@media screen and (min-width: 481px),print {
	dl.company dt {
		width: 30%;
		border-right: none;
		-webkit-justify-content: center;
		justify-content: center;
	}
	dl.company dd {
		width: 70%;
        border-left: 1px solid #ccc;
	}
}


/* プライバシー・ポリシー
-------------------------------------------------------------- */
h3.line {
    font-size: 2.0rem;
    font-weight: bold;
    border-bottom: 1px solid #ccc;
    padding: 2px 0 20px;
    margin-bottom: 20px;
    color: #000;
}
.policy_date table {
	border: none;
}
.policy_date table td {
	padding: 0 0 5px 0;
	border: none;
	font-size: 15px;
}

/** お問い合わせ先 **/
.policy_contact {
	display: inline-block;
	border: 1px solid #ccc;
	padding: 15px 15px 0;
	width: auto;
	margin: 0 auto;
}
@media screen and (min-width: 481px),print {
	.policy_contact {
		padding: 20px 20px 0;
	}
}


/* フォーム
-------------------------------------------------------------- */
p.form-intro,
ul.chuki.form-intro
{ 
    font-size: 1.6rem;
    margin-bottom: 30px;
}
@media screen and (min-width: 768px),print {
    p.form-intro,
    ul.chuki.form-intro
    { 
        font-size: 2.0rem;
        margin-bottom: 60px;
    }
}

/**
#mailformpro ul,
#mailformpro ol {
	list-style: none !important;
}
**/
input,
textarea {
	font-size: 16px;
	border: 1px solid #444;
    border-radius: 2px;
	line-height: 1.5;
	padding: 10px;
	margin: 0;
	color: #444;
}
input[type="text"],
input[type="tel"]
{
    height: 45px;
}
@media screen and (max-width: 767px) {
    /** input[type="tel"],**/
	input.tel,
	input.fax,
	input[type="email"],
	select {
		width: 100% !important;
	}
}
textarea {
    width: 100% !important;
    min-height: 165px;
}
@media screen and (min-width: 1200px),print {
    textarea { width: 100% !important; }
}
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
textarea:focus
{
    background-color: #fffbc5;
    border: 2px solid #00917e !important;
    outline: 0;
}

input[type="radio"] {
    display: none;
    position: relative;
    top: 2px;
    cursor: pointer;
}
.radio {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 10px 0 0 38px;
    position: relative;
    width: auto;
    line-height: 1.5;
}
.radio::before {
    background: #fff;
    border: 1px solid #444;
    border-radius: 50%;
    content: '';
    display: block;
    height: 24px;
    left: 0px;
    margin-top: -8px;
    position: absolute;
    top: 19px;
    width: 24px;
}
.radio::after {
    background: #00917e;
    border-radius: 50%;
    content: '';
    display: block;
    height: 18px;
    left: 9px;
    margin-left: -6px;
    margin-top: -5px;
    opacity: 0;
    position: absolute;
    top: 19px;
    width: 18px;
}
.radio.check-on::after {
    opacity: 1;
}
input[type="checkbox"] {
    display: none;
    position: relative;
    top: 1px;
    cursor: pointer;
}
.checkbox,
.checkbox-pad {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 8px 0 0 45px;
    position: relative;
    width: auto;
}
.checkbox-pad {
    display: inline;
}
.checkbox::before,
.checkbox-pad::before {
    background: #fff;
    border: 1px solid #444;
    border-radius: 2px;
    content: '';
    display: block;
    height: 29px;
    left: 0px;
    margin-top: -12px;
    position: absolute;
    top: 19px;
    width: 29px;
}
.checkbox-pad::before {
    top: 15px;
}
@media all and (-ms-high-contrast:none){
    .checkbox::before {/* IE10以降 */
      margin-top: -8px;
    }
    .checkbox-pad::before {/* IE10以降 */
      margin-top: -5px;
    }
}
.checkbox::after,
.checkbox-pad::after {
    border-right: 4px solid #00917e;
    border-bottom: 3px solid #00917e;
    content: '';
    display: block;
    height: 28px;
    left: 7px;
    margin-top: -21px;
    opacity: 0;
    position: absolute;
    top: 22px;
    transform: rotate(45deg);
    width: 17px;
}
.checkbox.check-on::after,
.checkbox-pad.check-on::after {
    opacity: 1;
}
@media all and (-ms-high-contrast:none){/** IE11 **/
    *::-ms-backdrop, .checkbox::before, .checkbox-pad::before {
        top: 11px;
    }
    *::-ms-backdrop, .checkbox::after, .checkbox-pad::after {
        top: 15px;
    }
}
input[type=checkbox]:checked + .checkbox::after, input[type=checkbox]:checked + .checkbox-pad::after {
    opacity: 1;
}

label {
    margin-right: 60px;
    margin-bottom: 0px;
    cursor: pointer;
}
@media screen and (max-width: 480px) {
    label {
        margin-right: 15px;
    }
}
/** 「個人情報を開示する」欄**/
.box-kaiji label {
    display: block !important;
    margin: 0 0 10px !important;
}
.box-kaiji label:nth-last-of-type(1) { margin-bottom: 0 !important; }
@media screen and (min-width: 481px) {
    .box-kaiji label {
        display: inline-block !important;
        margin: 0 40px 0 0 !important;
    }
    .box-kaiji label:nth-last-of-type(1) { margin-right: 0 !important; }
}
input::placeholder {  color: #a6a6a6;}
/* IE */
input:-ms-input-placeholder { color: #a6a6a6;}
/* Edge */
input::-ms-input-placeholder { color: #a6a6a6;}

/**
 * SELECT
**/
#mailformpro select {
    width: 100%;
    height: 45px;
	font-size: 16px;
    color: #101727;
    font-weight: normal;
    background-color: #fff;
    border: 1px solid #444;
    border-radius: 2px;
    display: inline-block;
    line-height: 1.5;
	padding: 10px 2.6em 10px 15px;
    margin: 0 0 5px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
}
#mailformpro select::-ms-expand{/** IE プルダウン矢印消す **/
    display: none;
}
#mailformpro select.off {
    background-color: #f6f6e7;
}
#mailformpro select.classic {
    background: url("images/icon-pulldown.png") right center no-repeat;
    background-size: 43px;
/**        
  background-image:
    linear-gradient(45deg, transparent 50%, #fff 50%),
    linear-gradient(135deg, #fff 50%, transparent 50%),
    linear-gradient(to right, #94b0d3, #94b0d3);
  background-position:
    calc(100% - 20px) calc(18px + 2px),
    calc(100% - 15px) calc(18px + 2px),
    100% 0;
  background-size:
    5px 5px,
    5px 5px,
    43px 45px;
  background-repeat: no-repeat;
**/    
  cursor: pointer;
}
#mailformpro select.classic:focus {
    background: url("images/icon-pulldown.png") right center no-repeat;
    background-size: 43px;
/**    
  background-image:
    linear-gradient(45deg, #fff 50%, transparent 50%),
    linear-gradient(135deg, transparent 50%, #fff 50%),
    linear-gradient(to right, #678fc1, #678fc1);
  background-position:
    calc(100% - 15px) 19px,
    calc(100% - 20px) 19px,
    100% 0;
  background-size:
    5px 5px,
    5px 5px,
    43px 45px;
  background-repeat: no-repeat;
  border-color: #678fc1;
**/    
  outline: 0;
}

label {
	border: none !important;
}
#mailformpro label.mfp_checked { background-color: transparent !important;}
#mailformpro label {
	cursor: pointer !important;
	padding-right: 5px !important;
}

dl.form_list,
dl.form_list2 {
	width: 100%;
    margin: 0 auto 30px;
    border-bottom: 1px solid #dcdcdc;
}
dl.form_list > dt,
dl.form_list2 > dt {
    padding: 20px 0 10px;
    text-align: left;
    line-height: 1.5;
    font-weight: normal;
}
dl.form_list > dd,
dl.form_list2 > dd {
    padding: 0 0 20px;
    border-bottom: 1px solid #dcdcdc;
    margin-bottom: 0;
}
dl.form_list > dd:nth-last-of-type(1) { border-bottom: none; }
dl.form_list2 > dd { border-bottom: none; }
dl.form_list_inner1 {
    width: 100%;
    margin: 0 auto;
    border: none !important;
    display: block;
}
dl.form_list_inner1 > dt {
    padding: 0 0 10px;
    text-align: left;
    line-height: 1.5;
    font-weight: normal;
}
dl.form_list_inner1 > dd {
    padding: 0 0 10px;
    margin-bottom: 0;
}
dl.form_list_inner1 > dd:nth-last-of-type(1) {
    padding-bottom: 3px;
}
dl.form_list p,
dl.form_list2 p,
dl.form_list_inner1 p{
    margin-bottom: 0;
}
.fm_group {
    width: 100%;
}
span.must {
    position: relative;
    top: -1px;
    display: inline-block;
    background-color: #e50a82;
    padding: 4px 8px;
	line-height: 1.2;
    font-size: 14px;
    color: #fff;
    margin-left: 17px;
    border-radius: 5px;
}
dl.form_list_inner1 input {
    width: 100%;
}
/** その他入力欄 **/
input#inputother {
    width: 100%;
}
/** メールアドレス入力欄 **/
input.mailaddress {
    width: 100%;
}
@media screen and (min-width: 768px),print {
    input.mailaddress { width: 67%; }
}
@media screen and (min-width: 1200px),print {
    input.mailaddress { width: 545px; }
}
/** 電話番号入力欄 **/
input.tel {
    width: 100%;
}
@media screen and (min-width: 768px),print {
    input.tel { width: 67%; }
}
@media screen and (min-width: 1200px),print {
    input.tel { width: 545px; }
}
/** 勤務先名 **/
input.kinmusaki {
    width: 100%;
}
@media screen and (min-width: 768px),print {
    input.kinmusaki { width: 67%; }
}
@media screen and (min-width: 1200px),print {
    input.kinmusaki { width: 545px; }
}
/** 一般入力欄 **/
input.normal {
    width: 100%;
}
@media screen and (min-width: 768px),print {
    input.normal {
        width: 40%;
    }
}
@media screen and (min-width: 768px),print {
    dl.form_list {
	    display: -webkit-flex;
	    display: flex;
	    -webkit-flex-wrap: wrap;
	    flex-wrap: wrap;
    }
    dl.form_list > dt {
        width: 31.6%;
        padding: 40px 40px 30px 0;
        text-align: left;
        border-bottom: 1px solid #dcdcdc;
    }
    dl.form_list > dd {
        width: 68.4%;
        padding: 30px 0 30px;
    }
    dl.form_list > dd.text-area {
        padding: 30px 0 20px;
    }
    dl.form_list > dt:nth-last-of-type(1) {
        border-bottom: none;
    }
    select { width: 42% !important; }
    /** 確認画面 **/
    body.page_contact-conf dl.form_list > dt {
        padding: 30px 40px 30px 0;
    }
}
@media screen and (min-width: 992px),print {
    dl.form_list_inner1 {
	    display: -webkit-flex;
	    display: flex;
	    -webkit-flex-wrap: wrap;
	    flex-wrap: wrap;
    }
    dl.form_list_inner1 > dt {
        width: 14%;
        padding: 9px 20px 0 0;
        text-align: left;
    }
    dl.form_list_inner1 > dd {
        width: 85%;
        padding: 0 0 10px;
    }
    /** 確認画面 **/
    body.page_contact-conf dl.form_list_inner1 > dt {
        padding: 0 20px 10px 0;
    }
}
@media screen and (min-width: 1200px),print {
    select { width: 200px !important; }
    select.wide { width: 300px !important; }
}

input.sei,/** 姓欄 **/
input.sei-kana {/** セイ欄 **/
    margin-left: 0;
	margin-right: 5%;
    width: 47.5% !important;
}
input.mei,/** 名欄 **/
input.mei-kana {/** メイ欄 **/
    margin-left: 0;
    width: 47.5% !important;
}
@media screen and (min-width: 481px),print {
    input.sei,/** 姓欄 **/
    input.sei-kana {/** セイ欄 **/
        margin-left: 0;
        margin-right: 15px;
        width: 32% !important;
    }
    input.mei,/** 名欄 **/
    input.mei-kana {/** メイ欄 **/
        margin-left: 0;
        width: 32% !important;
    }
}
@media screen and (min-width: 1200px),print {
    input.sei,/** 姓欄 **/
    input.sei-kana {/** セイ欄 **/
	    margin-right: 25px;
        width: 260px !important;
    }
    input.mei,/** 名欄 **/
    input.mei-kana {/** メイ欄 **/
        width: 260px !important;
    }
}

/** 確認画面 **/
body.page_contact-conf span.hyoki {
    display: none;
}
@media screen and (min-width: 970px),print {
	textarea{
		width: 100% !important;
	}
}

/** 項目：お問い合わせ、その他を選択した場合のコメント **/
.box-other {
	margin-top: 20px;
}
@media screen and (max-width: 767px) {
	.box-other input {
		width: 100%;
	}
}

/** 
 * 住所入力欄
**/
input.address { 
    width: 100%;
    max-width: 660px;
}
/** 郵便番号入力欄 **/
input.yubin {
    width: 60%;
    margin-left: 10px;
    margin-bottom: 30px;
}
@media screen and (min-width: 481px),print {
    input.yubin { width: 38%; }
}
@media screen and (min-width: 768px),print {
    input.yubin { 
        margin-right: 25px;
        margin-bottom: 0;
        width: 38%;
    }
}
@media screen and (min-width: 1200px),print {
    input.yubin { width: 200px; }
}
span.yubin { margin-top: 8px; }


/** 入力例、注記 **/
span.exam {
    display: block;
    margin-top: 15px;
    font-size: 1.4rem;
    line-height: 1.4;
}
span.exam2 {
    display: block;
    margin-top: 5px;
}
@media screen and (min-width: 481px),print {
    span.exam2 {
        display: inline-block;
        margin-top: 8px;
    }
}
@media screen and (min-width: 768px),print {
    span.exam2 {
        margin-left: 10px;
    }
}
span.exam3 {
    display: block;
    margin-top: 5px;
}
@media screen and (min-width: 768px),print {
    span.exam3 {
        display: inline-block;
        margin-top: 8px;
        margin-left: 10px;
    }
}
ul.chuki.exam { font-size: 1.4rem; }
ul.chuki.exam li { line-height: 1.4; }

/** 郵便番号を調べる **/
dl.form_list_inner1 a.link_target {
    margin-top: 0;
}
@media screen and (min-width: 481px),print {
    dl.form_list_inner1 a.link_target {
        margin-top: 8px;
        margin-left: 15px;
    }    
}

/** 確認画面、送信完了画面では、注記、郵便番号調べるリンクを非表示にする **/
body.page_contact-conf .note,
body.page_contact-conf span.exam,
body.page_contact-conf span.exam2,
body.page_contact-conf span.exam3,
body.page_contact-conf a.link_target,
body.page_contact-thanks .note,
body.page_contact-thanks span.exam,
body.page_contact-thanks span.exam2,
body.page_contact-thanks span.exam3,
body.page_contact-thanks a.link_target {
    display: none;
}

/**
 * 「氏名など入力情報も含め希望する」詳細欄
**/
#renkei-kibo_detail { display: none; }

/**
 * 相談内容欄
**/
/** 名前 **/
input.namae {
    width: 100%;
}
span.namae {
    display: block;
    margin-bottom: 10px;
    font-size: 14px;
}
@media screen and (min-width: 768px),print {
    input.namae { width: 67%; }
    span.namae {
        display: inline-block;
        margin-bottom: 0;
        margin-right: 10px;
    }
}

/** 住所等入力欄 **/
input.fullwidh {
    width: 100%;
}

/**
 * 個人情報同意する
**/
.doi-box {
    position: relative;
    margin: 0 auto 60px;
}
.doi-box label { margin-right: 0; }
.doi-box span.must { margin-left: 0; }
@media screen and (min-width: 767px),print {
    .doi-box { max-width: 560px; }
    .doi-box span.must { margin-left: 10px; }
}

/** 個人情報同意するを非表示にする **/
body.page_contact-conf .doi-box,
body.page_contact-thanks .doi-box {
    display: none;
}

/**
 * プライバシーポリシー
 **/
.privacy-policy_box {
    max-width: 860px;
	font-size: 16px;
	margin: 40px auto;
}
.privacy-policy_box h4 {
	font-size: 18px;
	padding: 0;
	margin-bottom: 25px;
}
.privacy-policy_box ul.maru li {
    margin-bottom: 10px;
}
/** 確認画面、送信完了画面では、プライバシーポリシーを非表示にする **/
body.page_contact-conf .privacy-policy_box,
body.page_contact-thanks .privacy-policy_box {
    display: none;
}

/**
 * 確認、キャンセル、送信ボタン
 **/
.mfp_buttons button[type="submit"],/** 確認ボタン **/
button.mfp_element_submit[type="submit"],
input[type="submit"].mfp_element_submit,
#mfp_button_send {/** 送信ボタン **/
	width: 100% !important;
	margin: 0 auto 15px !important;
	border-radius: 10px !important;
	background: #00917e !important;
    /**
	background: url(images/button-icon_arrow-right.png) right center no-repeat #00917e !important;
	background-size: 58px !important;
	**/
    padding: 15px 30px;
	text-align: center !important;
	font-size: 18px !important;
	font-weight: bold !important;
	color: #fff !important;
	cursor: pointer !important;
	border: none !important;
	box-shadow: 0px 3px 2px rgba(0,0,0,0.15) !important;
	text-shadow: none !important; 
	-webkit-transition: 0.5s !important;
	transition: 0.5s !important;
}
.mfp_buttons button[type="submit"]:hover,/** 確認ボタン **/
button.mfp_element_submit[type="submit"]:hover,
input[type="submit"].mfp_element_submit:hover,
#mfp_button_send:hover {/** 送信ボタン **/
	opacity: 0.8 !important;
}

/** 戻るボタン **/
#mfp_button_cancel,
.mfp_button_cancel {
	width: 100% !important;
	margin: 0 auto !important;
	border-radius: 10px !important;
	background: #00917e !important;
    /**
	background: url(images/button-icon_arrow-left.png) left center no-repeat #00917e !important;
	background-size: 58px!important;
	**/
    padding:15px 30px !important;
	text-align: center !important;
	font-size: 18px !important;
	font-weight: bold !important;
	color: #fff !important;
	cursor: pointer !important;
	border: none !important;
	box-shadow: 0px 3px 2px rgba(0,0,0,0.15) !important;
	text-shadow: none !important; 
	-webkit-transition: 0.5s !important;
	transition: 0.5s !important;
}
#mfp_button_cancel:hover,
.mfp_button_cancel:hover {
	opacity: 0.8 !important;
}
@media screen and (width: 320px) {
    input[name="submitConfirm"] { /** 確認ボタン **/
	    padding: 15px 60px !important;
        white-space: normal;
    }
}
@media screen and (min-width: 768px),print {
	.mfp_buttons button[type="submit"],/** 確認ボタン **/
	button.mfp_element_submit[type="submit"],
    input[type="submit"].mfp_element_submit,
    #mfp_button_send,/** 送信ボタン **/
	#mfp_button_cancel,
    .mfp_button_cancel {/** 戻るボタン **/
		width: 40% !important;
        font-size: 24px !important;
        padding: 22px 30px !important;
	}
    .mfp_buttons button[type="submit"],
    input[name="submitConfirm"] { /** 確認ボタン **/
        width: 100% !important;
        max-width: 580px !important;
    }
	input[type="submit"].mfp_element_submit {
		display: block !important;
		margin-left: auto !important;
		max-height: auto !important;
	}
	/** 送信ボタン(右側) **/
	#mfp_button_send,
    .mw_wp_form_confirm input[type="submit"].mfp_element_submit {
		float: right !important;
		margin-right: 9% !important;
		margin-left: 0 !important;
	}
	/** 戻るボタン(左側) **/
	#mfp_button_cancel,
    .mfp_button_cancel {
		float: left;
		margin-left: 9% !important;
		margin-right: 0 !important;
	}
}
@media screen and (min-width: 768px),print {
    .mfp_buttons button[type="submit"],/** 確認ボタン **/
    button.mfp_element_submit[type="submit"],
    input[type="submit"].mfp_element_submit,
    #mfp_button_send {/** 送信ボタン **/
        font-size: 24px !important;
        padding: 22px 30px !important;
    }
}

/**
 * 入力エラー表示
**/
.mfp_err.invalid {
    display: none !important;
}

/**
 * 隠れ質問表示
**/
#input01_add,
#input02_add,
#input03_add,
#input04_add,
#input05_add
{
    display: none;
}
#input01_add.active,
#input02_add.active,
#input03_add.active,
#input04_add.active,
#input05_add.active
{
    display: block;
}


/*
　確認画面
---------------------------------------------------------------*/
div#mfp_phase_confirm h4 {
	font-size: 17px !important;
	font-weight: bold !important;
	margin-bottom: 30px !important;
	text-align: left !important;
    padding-top: 40px !important;
}
@media screen and (min-width: 768px),print {
	div#mfp_phase_confirm h4 {
		font-size: 20px !important;
		text-align: center !important;
	}
}
table#mfp_confirm_table {
	margin-bottom: 50px !important;
}
table#mfp_confirm_table tr th,
table#mfp_confirm_table tr td {
	font-size: 16px !important;
}
table#mfp_confirm_table tr th {
	width: 30% !important;
	white-space: normal !important;
	line-height: 1.5 !important;
}
table#mfp_confirm_table tr td {
	width: 70% !important;
}
@media screen and (max-width: 767px) {
	table#mfp_confirm_table tr th,
	table#mfp_confirm_table tr td {
		display: -webkit-flex !important;
		display: flex !important;
		-webkit-flex-wrap: wrap !important;
		flex-wrap: wrap !important;
		width: 100% !important;
	}
	table#mfp_confirm_table tr th {
		background: #F6F7F9 !important;
	}
	table#mfp_confirm_table tr td {
		background: #fff !important;
	}
	table#mfp_confirm_table tr.mfp_colored {
		background-color: none !important;
	}
}


/*
　送信完了画面
---------------------------------------------------------------*/
.box-thanks { margin: 40px auto;}
.box-thanks h2.comment {
    color: #111;
	font-size: 1.7rem !important;
	border-bottom: none;
    padding: 0;
    margin: 0 0 40px;
}
@media screen and (min-width: 768px),print {
	.box-thanks {
		text-align: center;
		margin: 0 auto 80px;
	}
	.box-thanks h2.comment { font-size: 2.0rem !important;}
}


/* 404エラーページ
-------------------------------------------------------------- */
.error404 .comment {
	font-size: 1.7rem;
	font-weight: bold;
	margin: 50px auto 20px;
}
.error404 p { margin-bottom: 20px;}
.error404 .page-contents { min-height: 300px;}
@media (min-width: 768px),print {
	.error404 .comment {
		font-size: 2.0rem;
		text-align: center;
        margin: 100px auto 20px;
	}
	.error404 p { text-align: center;}
	.error404 .page-contents { min-height: 500px;}
}


/* Parts
-------------------------------------------------------------- */
/** 新着アイコン **/
.icon_new {
	color: #ff0000;
	font-size: 1.6rem;
    font-weight: normal !important;
	padding-left: 5px;
}

/**
 * 三角矢印リンク
**/
a.link-arrow {
    position: relative;
    display: inline-block;
    padding: 0 0 0 15px;
    margin-bottom: 5px;
}
a.link-arrow:before {
    position: absolute;
    display: inline-block;
    top: 11px;
    left: 0;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3px 0px 3px 5px;
    border-color: transparent transparent transparent #006c20;
}


/* エディター（Gutenberg）スタイル
-------------------------------------------------------------- */
/** ブロックエディタ枠 **/
.alignwide {
    position: relative;
    width: 100%;
    max-width: 100%;
    left: 0;
    clear: both;
}
/** 画像角丸加工 **/
.wp-block-media-text__media img {
    border-radius: 10px;
}
.non-radius .wp-block-media-text__media img {
    border-radius: 0 !important;
}
body.single .wp-block-media-text__media img { /** シングルページでは角丸加工無し **/
    border-radius: 0;
} 

/** 画像ブロック **/
.wp-block-image.radius img {
    border-radius: 10px;
}

/*---------------------------------------------------------------
　画像＋テキスト
---------------------------------------------------------------*/
@media screen and (max-width: 600px) {
    .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
        margin-bottom: 30px;    
    }
}
@media screen and (min-width: 601px),print {
    .wp-block-media-text {
        margin-bottom: 60px;
    }
    body.single .wp-block-media-text { /** シングルページでの下マージン **/
        margin-bottom: 10px;
    }
}
/** 画像左配置 **/
.wp-block-media-text .wp-block-media-text__content {
    padding: 0;
}
@media screen and (min-width: 601px),print {
    .wp-block-media-text .wp-block-media-text__content {
        padding: 0 0 0 30px;
    }
}
/** 画像右配置 **/
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
    padding: 0;
}
@media screen and (min-width: 601px),print {
    .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
        padding: 0 30px 0 0;
    }
}


/* Option
-------------------------------------------------------------- */
/** ポジション **/
.relative { position: relative !important; }

/** PC、スマホ表示切替え **/
.mobile { display: block !important; }
.pc-tab { display: none !important; }
@media screen and (min-width: 992px),print {
    .mobile { display: none !important; }
    .pc-tab { display: block !important; }
}

/** 水平線 **/
hr {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #d5dedb;
  border: 0;
  margin-top: 20px;
  margin-bottom: 20px;    
}
hr.wp-block-separator {
    border-top: none !important;
    border-bottom: none !important;
}

.line_gray {
    padding-bottom: 10px !important;
    margin: 0 auto 20px !important;
    border-bottom: 1px solid #d3d3d3; 
}

/** テキストシャドウ **/
.txt_shadow {
    text-shadow:
			0px 2px 1px rgba(0,0,0,0.1);
} 

.nowrap { white-space: nowrap;}

/**
 * テーブルレスポンシブ横スクロール表示
**/
@media screen and (max-width: 480px) {
    .x-scroll {
        overflow: auto;
	    white-space: nowrap;
    }
    .x-scroll table {
        width: 100%;
    }
    .x-scroll::-webkit-scrollbar {
        height: 5px; /* スクロールバーの高さ */
    }
    .x-scroll::-webkit-scrollbar-track {
        background: #f1f1f1; /* スクロールバーの背景色 */
    }
    .x-scroll::-webkit-scrollbar-thumb {
        background: #d6d6d6; /* スクロールバーの色 */
    }
}

/**
 * 幅
 */
.width-40,
.width-50,
.width-60,
.width-70,
.width-80,
.width-90,
.width-100 {
	width: 100% !important;
}
@media screen and (min-width: 768px),print {
	.width-40 {width: 40% !important;}
	.width-50 {width: 50% !important;}
	.width-60 {width: 60% !important;}
	.width-70 {width: 70% !important;}
	.width-80 {width: 80% !important;}
	.width-90 {width: 90% !important;}
	.width-100 {width: 100% !important;}
}

/**
 * マージン関連の設定
**/
.mt5 { margin-top: 5px !important;}
.mt10 { margin-top: 10px !important;}
.mt15 { margin-top: 15px !important;}
.mt20 { margin-top: 20px !important;}
.mt25 { margin-top: 25px !important;}
.mt30 { margin-top: 30px !important;}
.mt40 { margin-top: 40px !important;}
.mt45 { margin-top: 45px !important;}
.mt50 { margin-top: 50px !important;}
.mt60 { margin-top: 60px !important;}
.mt60sp40 { margin-top: 40px !important;}
@media screen and (min-width: 768px),print {
    .mt60sp40 { margin-top: 60px !important;}
}
.mt70 { margin-top: 70px !important;}
.mt80 { margin-top: 80px !important;}
.mt90 { margin-top: 90px !important;}
.mt100 { margin-top: 100px !important;}
.mt100sp60 { margin-top: 60px !important;}
@media screen and (min-width: 768px),print {
    .mt100sp60 { margin-top: 100px !important;}
}

.mb0 { margin-bottom: 0px !important;}
.mb5 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb35 { margin-bottom: 35px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb45 { margin-bottom: 45px !important;}
.mb50 { margin-bottom: 50px !important;}
.mb55 { margin-bottom: 55px !important;}
.mb60 { margin-bottom: 60px !important;}
.mb70 { margin-bottom: 70px !important;}
.mb80 { margin-bottom: 80px !important;}
.mb90 { margin-bottom: 90px !important;}
.mb100 { margin-bottom: 100px !important;}
.mb100sp60 { margin-bottom: 60px !important;}
@media screen and (min-width: 768px),print {
    .mb100sp60 { margin-bottom: 100px !important;}
}
.mb110 { margin-bottom: 110px !important;}
.mb120 { margin-bottom: 120px !important;}
.mb130 { margin-bottom: 130px !important;}
.mb140 { margin-bottom: 140px !important;}
.mb150 { margin-bottom: 150px !important;}

.mall0 { margin: 0 !important;}
.pt10 { padding-top: 10px !important;}
.pt20 { padding-top: 20px !important;}
.pb0 { padding-bottom: 0px !important;}
.pb10 { padding-bottom: 10px !important;}
.pb15 { padding-bottom: 15px !important;}
.pb20 { padding-bottom: 20px !important;}
.pb25 { padding-bottom: 25px !important;}
.pall0 { padding: 0 !important;}
.pl20 { padding-left: 20px !important;}

/**
 * font関連の設定
**/
.font_normal {font-weight: normal !important;}
.font_bold {font-weight: bold !important;}
.font8 {font-size: 8px !important;}
.font9 {font-size: 9px !important;}
.font10 {font-size: 10px !important;}
.font11 {font-size: 11px !important;}
.font12 {font-size: 12px !important;}
.font13 {font-size: 13px !important;}
.font14 {font-size: 14px !important;}
.font15 {font-size: 15px !important;}
.font16 {font-size: 16px !important;}
.font17 {font-size: 17px !important;}
.font18 {font-size: 18px !important;}
.font19 {font-size: 19px !important;}
.font20 {font-size: 20px !important;}
.font21 {font-size: 21px !important;}
.font22 {font-size: 22px !important;}
.font23 {font-size: 23px !important;}
.font24 {font-size: 24px !important;}
.font25 {font-size: 25px !important;}
.font26 {font-size: 26px !important;}
.font27 {font-size: 27px !important;}
.font28 {font-size: 28px !important;}
.font29 {font-size: 29px !important;}
.font30 {font-size: 30px !important;}
.font31 {font-size: 31px !important;}
.font32 {font-size: 32px !important;}
.font33 {font-size: 33px !important;}
.font34 {font-size: 34px !important;}
.font35 {font-size: 35px !important;}
.font36 {font-size: 36px !important;}
.font37 {font-size: 37px !important;}
.font38 {font-size: 38px !important;}
.font39 {font-size: 39px !important;}
.font40 {font-size: 40px !important;}
.font41 {font-size: 41px !important;}
.font42 {font-size: 42px !important;}
.font43 {font-size: 43px !important;}
.font44 {font-size: 44px !important;}
.font45 {font-size: 45px !important;}
.font46 {font-size: 46px !important;}
.font47 {font-size: 47px !important;}
.font48 {font-size: 48px !important;}
.font49 {font-size: 49px !important;}
.font50 {font-size: 50px !important;}


/**
 * 文字配置
**/
.center {
	text-align: center;
}
.right {
    text-align: right;
}
@media (min-width: 481px),print {
    .center_pc {
        text-align: center;
    }
}

/**
 * 文字色
**/
.black {
    color: #000 !important;
}
.red {
	color: #ff0000 !important;
}
.red2 {
	color: #e4007f !important;
}
.red3 {
	color: #e60012 !important;
}
.red4 {
	color: #d90000 !important;
}
.orange {
	color: #ff6600 !important;
}
.orange2 {
	color: #A64A00 !important;
}
.brown {
    color: #834E1D !important;
}
.green {
    color: #00917e ;
}
.gray {
    color: #444 ;
}
.weight_normal {
  font-weight: normal;
}
/**
 * 背景色
**/
.bgcol01 {
    background: #e8e8e8;
}

/**
 * table
**/
table {
    width: auto;
    border: 1px solid #d5dedb;
    table-layout: fixed;
}
@media screen and (max-width: 480px) {
    table {
        table-layout: auto;
    }   
}
table.border-none,
table.border-none th,
table.border-none td {
    border: none !important;
}
table th {
    padding: 10px;
    text-align: center;
    background: #f5f5f5;
    vertical-align: middle;
    border-right: 1px solid #d5dedb;
    border-bottom: 1px solid #d5dedb;
}
table td {
    padding: 5px 10px;
    border-right: 1px solid #d5dedb;
    border-bottom: 1px solid #d5dedb;
    vertical-align: middle;
}
.v_middle {vertical-align: middle !important;}
.v_top {vertical-align: top !important;}
.v_bottom {vertical-align: bottom !important;}


/**
 * リスト
**/
ul,ol {
    padding-left: 18px;
}
ul li,
ol li {
    margin-bottom: 10px;
}

/** ＊ **/
ul.chuki2 {
	list-style: none;
	margin: 0 0 0 18px;
	padding-left: 0;
}
ul.chuki2 li:before {
	content: '＊ ';
	margin-left: -18px;
}
ul.chuki2 li {
	margin: 0 0 5px;
	line-height: 1.5;
}
ul.chuki2 li:nth-last-of-type(1) {
	margin-bottom: 0;
}

/** ※印 **/
ul.chuki {
	list-style: none;
	margin: 0 0 0 18px;
	padding-left: 0;
}
ul.chuki li:before {
	content: '※ ';
	margin-left: -18px;
}
ul.chuki li {
	margin: 0 0 5px;
	line-height: 1.5;
}
ul.chuki li:nth-last-of-type(1) {
	margin-bottom: 0;
}
ul.chuki p {
    line-height: 1.7;
}

/** （注） **/
ul.chuikakko {
	list-style: none;
	margin: 0 0 0 36px;
	padding-left: 0;
}
ul.chuikakko li:before {
	content: '（注） ';
	margin-left: -36px;
}
ul.chuikakko li {
	margin: 0 0 5px;
	line-height: 1.5;
}
ul.chuikakko li:nth-last-of-type(1) {
	margin-bottom: 0;
}

/** 数字 **/
ol.suji {
	list-style-type: decimal;
    margin: 0;
	padding-left: 20px;
}
ol.suji li {
	line-height: 1.5;
	margin: 0 0 5px;
}
ol.suji li:nth-last-child(1) {
    margin-bottom: 0;
}

/** 丸数字 **/
ol.marusuji {
	margin: 5px 10px 20px 10px;
	counter-reset: my-counter;
	list-style: none;
	padding-left: 0;
}
ol.marusuji li {
	padding-left: 20px;
	position: relative;
	line-height: 1.5;
	margin: 0 0 5px;
}
ol.marusuji li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  border: 1px solid #111;
  display: block;
  float: left;
  position: relative;
  top: 2px;
  line-height: 18px;
  margin-left: -29px;
  text-align: center;
  height: 19px;
  width: 19px;
  border-radius: 50%;
}
ol.marusuji li:nth-last-of-type(1) {
    margin-bottom: 0;
}
ol.marusuji p:not(:nth-of-type(1)) {
    line-height: 1.7;
}

/** （）数字 **/
ol.kakkosuji {
	margin: 5px 10px 20px 10px;
	counter-reset: my-counter;
	list-style: none;
	padding-left: 0;
}
ol.kakkosuji li {
	padding-left: 20px;
	position: relative;
	line-height: 1.5;
	margin: 0 0 5px;
}
ol.kakkosuji li:before {
  content: "("counter(my-counter)") ";
  counter-increment: my-counter;
  display: block;
  float: left;
  margin-left: -25px;
  text-align: center;
}
ol.kakkosuji li:nth-last-of-type(1) {
    margin-bottom: 0;
}

 /** 漢数字 **/
ol.kansuji {
	list-style-type: cjk-ideographic;
    margin: 0;
	padding-left: 20px;
}
ol.kansuji li {
	line-height: 1.5;
	margin: 0 0 5px;
}
ol.kansuji li:nth-last-child(1) {
    margin-bottom: 0;
}

/** 黒丸 **/
ul.kuromaru {
	list-style: none;
	margin: 0 0 0 18px;
	padding-left: 0;
}
ul.kuromaru li:before {
	content: '● ';
	margin-left: -22px;
}
ul.kuromaru li {
	margin: 0 0 5px;
	line-height: 1.5;
}
ul.kuromaru li:nth-last-of-type(1) {
	margin-bottom: 0;
}

/** 点 **/
ul.maru {
	list-style-type: disc;
	margin: 0 0 0 18px;
	padding-left: 0;
}
ul.maru li {
	line-height: 1.5;
	margin: 0 0 5px;
}
ul.maru li:nth-last-of-type(1) {
    margin-bottom: 0;
}

/** 四角 **/
ul.square {
	list-style-type: none;
	margin: 0 0 0 18px;
	padding-left: 0;
}
ul.square li:before {
	content: '■ ';
	margin-left: -22px;
    position: relative;
    top: -1px;
}
ul.square li {
	margin: 0 0 5px;
	line-height: 1.5;
}
ul.square li:nth-last-of-type(1) {
	margin-bottom: 0;
}

/** 無印 **/
ul.mujirushi {
	list-style-type: none;
	margin: 0;
	padding-left: 0;
}
ul.mujirushi li {
	margin: 0 0 5px;
	line-height: 1.5;
}
ul.mujirushi li:nth-last-of-type(1) {
	margin-bottom: 0;
}

/**
 * 表示切替え
**/
.block_sp {
	display: block;
}
br.block_sp {
	display: inline-block;
}
.inline-block_sp {
	display: inline-block;
}
.block_pc {
	display: none;
}
@media screen and (min-width: 321px),print {
    .d-w321-inline-block { display: inline-block !important; }
}
@media screen and (min-width: 481px),print {
    .d-w481-none { display: none !important; }
    .d-w481-inline-block { display: inline-block !important; }
}
@media screen and (min-width: 1200px),print {
    .d-w1200-none { display: none !important; }
}
@media screen and (min-width: 768px),print {
	.block_sp,
    br.block_sp
    {
		display: none;
	}
	.inline-block_sp {
		display: none;
	}
	.block_pc {
		display: block;
	}
	br.block_pc {
		display: inline-block;
	}
}
