@charset "UTF-8";

/* CSS Document */

/* PC表示で電話番号リンクを無効 ◇ ------------------------------*/
@media screen and (min-width: 768px){
a[href^="tel:"] {
pointer-events: none;
cursor: default;
}
}

/* text ◇ ------------------------------*/
p {text-justify: inter-ideograph; }

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-weight: bold;
	margin: 0;
	text-rendering: optimizeLegibility;}

small {font-size: 75%;}

.txt_gr   { color:#009D95;}
.txt_ctr  { text-align:center;}
.font_b   { font-weight:bold;}
.txt_link a{ text-decoration: underline;}

.font250 {font-size:250%;}
.font200 {font-size:200%;}
.font150 {font-size:150%;}
.font130 {font-size:130%;}
.font120 {font-size:120%;}
.font110 {font-size:110%;}
.font90 {font-size:90%;}
.font80 {font-size:80%;}
.font75 {font-size:75%;}

/* other ◇ ------------------------------*/
.allclear {clear: both;}

@media screen and  (min-width:992px) {
.max1600 {max-width:1600px;margin:0 auto;padding:0 50px 30px;}
.max1400 {max-width:1400px;margin:0 auto;padding:0 50px 30px;}
.max1200 {max-width:1200px;margin:0 auto;padding:0 50px 30px;}
.max1000 {max-width:1000px;margin:0 auto;padding:0 50px 30px;}
.max960  {max-width:960px;margin:0 auto;padding:0 30px 30px;}
.max800  {max-width:800px;margin:0 auto;padding:0 50px 30px;}
.max700  {max-width:700px;margin:0 auto;padding:0 50px 30px;}
.max600  {max-width:600px;margin:0 auto;padding:0 50px 30px;}
.max600ex{max-width:600px;margin:0 auto;padding:0 50px 30px;}
.max1100_pt { max-width:1200px; margin:0 auto; padding:0 50px 0; overflow: hidden;}
}
@media screen and (min-width:577px) and ( max-width:992px) {
.max1600 {max-width:1600px;margin:0 auto;padding:0 30px 30px;}
.max1400 {max-width:1400px;margin:0 auto;padding:0 30px 30px;}
.max1200 {max-width:1200px;margin:0 auto;padding:0 30px 30px;}
.max1000 {max-width:1000px;margin:0 auto;padding:0 30px 30px;}
.max960  {max-width:960px;margin:0 auto;padding:0 30px 30px;}
.max800  {max-width:800px;margin:0 auto;padding:0 30px 30px;}
.max700  {max-width:700px;margin:0 auto;padding:0 30px 30px;}
.max600  {max-width:600px;margin:0 auto;padding:0 30px 30px;}
.max600ex{max-width:600px;margin:0 auto;padding:0 30px 30px;}
.max1100_pt { max-width:1100px; margin:0 auto; padding:0 30px 0; overflow: hidden; text-align: justify;}
}
@media only screen and (max-width: 576px) {
.max1600 {max-width:1600px;margin:0 auto;padding:0 15px 30px;}
.max1400 {max-width:1400px;margin:0 auto;padding:0 15px 30px;}
.max1200 {max-width:1200px;margin:0 auto;padding:0 15px 30px;}
.max1000 {max-width:1000px;margin:0 auto;padding:0 15px 30px;}
.max960  {max-width:900px;margin:0 auto;padding:0 15px 15px;}
.max800  {max-width:800px;margin:0 auto;padding:0 15px 30px;}
.max700  {max-width:700px;margin:0 auto;padding:0 15px 30px;}
.max600  {max-width:600px;margin:0 auto;padding:0 15px 30px;}
.max600ex{max-width:280px;margin:0 auto;padding:0 15px 30px;}
.max1100_pt { max-width:1100px; margin:0 auto; padding:0 15px 0; overflow: hidden; text-align: justify;}
}

.max1100_pt p{text-align: justify;}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
	transition: .5s;
    -ms-interpolation-mode: bicubic}

a:hover img{ filter: opacity(70%); }

/* ◆ margin ◇ ------------------------------*/
.ma0    { margin: 0px}
.ma5    { margin: 5px}

.mt5    { margin-top: 5px}
.mt10   { margin-top: 10px}
.mt15   { margin-top: 15px}
.mt20   { margin-top: 20px}
.mt30   { margin-top: 30px}
.mt40   { margin-top: 40px}
.mt50   { margin-top: 50px}
.mt60   { margin-top: 60px}
.mt70   { margin-top: 70px}
.mt80   { margin-top: 80px}
.mt90   { margin-top: 90px}
.mt100  { margin-top: 100px}

.mb5    { margin-bottom: 5px}
.mb10   { margin-bottom: 10px}
.mb15   { margin-bottom: 15px}
.mb20   { margin-bottom: 20px}
.mb30   { margin-bottom: 30px}
.mb40   { margin-bottom: 40px}
.mb50   { margin-bottom: 50px}
.mb60   { margin-bottom: 60px}
.mb70   { margin-bottom: 70px}
.mb80   { margin-bottom: 80px}
.mb90   { margin-bottom: 90px}
.mb100  { margin-bottom: 100px}

.mr5    {margin-right: 5px}
.mr-10    {margin-right: -10px}
.mr10   {margin-right: 10px}
.mr15   {margin-right: 15px}
.mr20   {margin-right: 20px}

.ml5    {margin-left: 5px}
.ml10   {margin-left: 10px}
.ml15   {margin-left: 15px}
.ml20   {margin-left: 20px}



/* ガター幅（余白）を調整 ◇ ------------------------------*/
.row-0      { margin-left:0px; margin-right:0px;}
.row-0>div  { padding-right:0px; padding-left:0px;}

.row-10     { margin-left:-5px; margin-right:-5px;}	
.row-10>div { padding-right:5px; padding-left:5px;}

.row-20     { margin-left:-10px; margin-right:-10px;}
.row-20>div { padding-right:10px; padding-left:10px;}

.row-30     { margin-left:-15px; margin-right:-15px;}
.row-30>div { padding-right:15px; padding-left:15px;}

.row-40     { margin-left:-20px; margin-right:-20px;}
.row-40>div { padding-right:20px; padding-left:20px;}

.row-50     { margin-left:-25px; margin-right:-25px;}
.row-50>div { padding-right:25px; padding-left:25px;}

.row-60     { margin-left:-30px; margin-right:-30px;}
.row-60>div { padding-right:30px; padding-left:30px;}

.row-70     { margin-left:-35px; margin-right:-35px;}
.row-70>div { padding-right:35px; padding-left:35px;}

.row-100     { margin-left:-50px; margin-right:-50px;}
.row-100>div { padding-right:50px; padding-left:50px;}


/* ヘッダー ◇ ------------------------------*/

@media (min-width: 800px) { .bp_800o {display: none;}}/* 799px以下で表示しない*/
@media (max-width: 799px) { .bp_799u {display: none;}}/* 799px以下で表示しない*/

.hd_logo   { margin:15px 0 0 20px; }
.hd_top_r  { position:absolute; width:250px; right:80px; top:28px;}
.hd_top_r a{ font-weight:bold; font-size:0.85em; letter-spacing:0.1em;}

/* ヘッダーメインメニュー ◇ ------------------------------*/

.gnav-menulist    { display: table; table-layout: fixed; list-style-type: none; padding: 0; width: 100%; max-width:1000px; height: 100%;  margin:25px auto 0;}
.gnav-menulist li { display: table-cell; vertical-align: middle; word-wrap: break-word; height: 100%; text-align:center;}
.gnav-menulist a  {
	display: inline-block;
	vertical-align: middle;
	width: 100%;
	height: 100%;
	color:#2D3D47;
	text-decoration: none;
	box-sizing: border-box;
	-webkit-transition: all 0.3s ease; 	-moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all  0.3s ease;}

.gnav-menulist li a:hover { color: #ff9924;}
.gnav-menulist p {font-size:1.2em; font-weight:500; margin-top:10px; letter-spacing:0.1em; text-indent: 0.1em;}

#toggle { position: fixed; top: 10px; right: 10px; z-index: 1001; background:#009D95; width:70px; height:70px; text-align:center; border-radius: 50%; cursor: pointer; transition : all 0.5s ease 0s; }
#toggle p{ font-size:70%; margin-top:2px; color:#fff; font-weight:bold;}
#toggle:hover{ opacity:0.5; filter:alpha(opacity=50); -ms-filter: "alpha( opacity=50 )";}
#toggle-box { position: relative; width: 40px; height: 25px; margin:15px auto 0;}
#toggle-box > span { height: 2px; left: 10px; display: inline-block; background: #fff; position: absolute; transition: all .6s;}
#toggle-box > span:nth-child(1) { top:  4px; width: 20px; }
#toggle-box > span:nth-child(2) { top: 12px; width: 20px; }
#toggle-box > span:nth-child(3) { top: 20px; width: 20px; }
.is-open #toggle-box > span {background: #fff;}
.is-open #toggle-box > span:nth-child(1) { top:  6px; left: 9px; transform: translateY(6px) rotate(-45deg); width: 22px;}
.is-open #toggle-box > span:nth-child(2) { top: 18px; left: 9px; transform: translateY(-6px) rotate(45deg); width: 22px;}
.is-open #toggle-box > span:nth-child(3) { top: 18px; left: 9px; transform: translateY(-6px) rotate(45deg); width: 22px;}
.is-open #nav-content {z-index: 1000; transform: translateX(0);}

#nav-content {
    z-index: 1000;
    overflow: auto;
    width: 100%;
    height: 100%;
	font-size:95%;
    background-color: rgba(255,248,240,0.95);
	background-image: url(""),url("");
	background-repeat:no-repeat;
    color: #212529;
    position: fixed;
    top: 0;
    right: 0;
    transform: translateX(100%);
    transition:  transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);}

@media (min-width: 800px) { 
.nav-content_pc_box  { max-width:1100px; margin:0 auto; padding:60px 30px 30px 30px; }
.nav-content_link-box {  padding: 7px 10px; box-sizing: border-box;}}

@media (max-width: 799px) { 
.nav-content_pc_box  { margin:0 auto; padding:20px; }
.nav-content_link-box {  padding: 5px 5px; box-sizing: border-box;}}

.nav-content_pc_box_l a{ color:#fff;}
.nav-content_pc_box a { color:#2d3d47; text-decoration: underline; transition: all 0.3s ease-in-out;}
.nav-content_pc_box a:hover { text-decoration: none; color: #ff6600; }
.nav-content_pc_box h2 { font-size:140%;}
.nav-content_pc_box ul { list-style: none; padding-left: 15px; line-height:180%;}

.nav-content_link-box a {
	display: block;
	background:#fff;
	border: 1px solid #ccc;
	padding: 10px;
	text-align: center;
	border-radius: 4px;
	font-weight:bold;
	text-decoration: none;
	transition: all 0.3s ease-in-out;}

.footer-link-box a:hover { background: #f9f9f9;}


/* フッダー ◇ ------------------------------*/

#page_top { width:120px; height: 120px; position: fixed; right: -120px; bottom: 40px; z-index:999;}
#page_top a img:hover { content: url('https://pulse-jp.com/11294/wp-content/themes/pulse2025/images/to_top_on.svg'); }