@charset "UTF-8";
/*-----------------------------
全端末共通
-----------------------------*/

* { 
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	*behavior: url(/scripts/boxsizing.htc); 

}

html {
  overflow-y: scroll;
  /* scroll-behavior: smooth; */
}

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

dl dt,
dl dd {
  padding: 0;
  margin: 0;
}

img {
  max-width: 100%;
  height: auto;
  width
  /***/
  : auto;
}


.resize img {
  max-width: 100vw;
}

.tel-link a:link,
.tel-link a:hover,
.tel-link a:active {
  color: #DB5961;
  text-decoration: none;
}

.gnav a:link {
  color: #fff;
}

/* ----- 禁則処理 ----- */

p {
  line-break: strict;
}

body {
  font-size: 1.3rem;
  /* font-family: 'Noto Sans JP', 'Helvetica Neue', 'Helvetica', 'Arial', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; */
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-family: "Montserrat", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  line-height: 1.8;
  color: #333;
  overflow: hidden;
}

h3 {
  margin-bottom: 6px;
}

figcaption {
  font-size: 1.1rem;
}

/*-----------------------------
レイアウト
-----------------------------*/

#wrapper {
  margin: 0 auto;
  overflow: hidden;
}

.home #wrapper {
  margin: 0 auto;
}

/* 
.wrapper-end{
  height: 100%;
  overflow-x: hidden;
} */


.inner {
  margin: 0 auto;
}

.framebox {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 .8em;
}

.framebox-c {
  max-width: 1180px;
  margin: 0 auto;
  padding: 20px 0;
  background: rgba(255, 255, 255, 0.5);
}

.framebox-w {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 .8em;
}

.framebox-src {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 .8em;
  background: #fcfcfc;
  border: 1px solid #ddd;
  padding: 30px;
  margin-top: 50px;
  margin-bottom: 80px;
}

.framebox-news {
  max-width: 980px;
  max-width: 880px;
  margin: 0 auto;
  padding: 30px 1em 20px 1em;
  padding: 30px;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: 0px 0px 10px -5px #777;
  border-radius: 12px;
}

.framebox-xl {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 .8em;
}

.box1 {
  margin: 50px 0 30px 0;
}

.bg-light-grey {
  background: #fafafa !important;
}

.frame-line {
  border-bottom: 1px solid #eee;
  margin-bottom: 50px;
}

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

.head-inner {
  max-width: 950px;
  margin: 0 auto;
}

.head-info {
  margin-bottom: 3em;
}

.h1-head {
  width: 300px;
  height: 130px;
  float: left;
}

/*------------　フッター　ー------------*/

footer {
  background-color: #f7f7f7;
  border-top: 1px solid #ccc;
}

#footer-in1 {
  max-width: 1100px;
  padding: 2em 0;
  margin: 0 auto;
}

.footerbg {
  background-color: #1b1b1b;
}

#footer-in {
  max-width: 1100px;
  padding: 2em 10px;
  margin: 0 auto;
  color: #fff;
  text-align: left;
  font-size: 1.2rem;
}

#footer-in a {
  color: #fff;
  text-decoration: none;
}

#footer-in a:hover {
  text-decoration: underline;
}

#footer-in li {
  font-size: 1.2rem;
}

#copy {
  text-align: center;
  font-size: 1.1rem;
  color: #fff;
  text-align: center;
}

/*-------　グローバルナビゲーション元　-------*/

#global-nav li {
  padding: 10px;
}

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

.container-nav {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.inner {
  max-width: 1100px;
  max-width: 100%;
  margin: 0 auto;
}

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

.inner a {
  text-decoration: none;
}

.inner a {
  -webkit-transition: all .3s;
  transition: all .3s;
}

/* header */
#top-head {
  top: -100px;
  position: absolute;
  width: 100%;
  margin: 100px auto 0;
  line-height: 1;
  z-index: 999;
  background: rgba(255, 255, 255, 0.2);
}

#top-head a,
#top-head {
  font-weight: lighter;
  text-decoration: none;
}

#top-head .inner {
  position: relative;
}

#top-head .logo {
  float: left;
  font-size: 22px;
  background: #fff;
  padding: 10px;
}

.logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.logo img {
  margin-right: 5px;
  padding-bottom: 5px;
}

.headlogo img {
  max-width: 250px;
  width: 100%;
  background: #fff;
  padding: 20px;
  -webkit-box-shadow: 2px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 2px 3px rgba(0, 0, 0, 0.1);
}

#global-nav ul {
  list-style: none;
  position: absolute;
  right: 0;
  bottom: 18px;
  font-size: 14px;
}

#global-nav ul li {
  float: left;
}

#global-nav ul li a {
  padding: 10px 5px;
}

#nav-contact {
  margin-right: 10px;
  margin-left: 10px;
  padding: 5px 0;
}

#nav-contact a {
  color: #fff;
}

/* Gnav hover effect */

.snip1135 a {
  padding: 0.5em 0;
  color: rgba(255, 255, 255, 0.5);
  position: relative;
  letter-spacing: 1px;
  text-decoration: none;
}

.snip1135 a:before,
.snip1135 a:after {
  position: absolute;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
}

.snip1135 a:before {
  bottom: 0;
  display: block;
  height: 1px;
  width: 0%;
  content: "";
  background-color: #fff;
}

.snip1135 a:after {
  left: 0;
  top: 0;
  padding: 0.5em 0;
  position: absolute;
  content: attr(data-hover);
  color: #ffffff;
  white-space: nowrap;
  max-width: 0%;
  overflow: hidden;
}

.snip1135 a:hover:before,
.snip1135 .current a:before {
  opacity: 1;
  width: 100%;
}

.snip1135 a:hover:after,
.snip1135 .current a:after {
  max-width: 100%;
}

/* Fixed 1 */
#top-head.fixed {
  margin-top: 0;
  top: 0;
  position: fixed;
  color: #333;
  background: rgba(2, 23, 37, 0.9);
  transition: top 0.65s ease-in;
  -webkit-transition: top 0.65s ease-in;
  -moz-transition: top 0.65s ease-in;
}

#top-head.fixed .logo-t {
  color: #333;
}

#top-head.fixed ul li a {
  padding: 8px 0;
}

.link a {
  color: #fff !important;
}

#global-nav ul li a {
  color: #fff;
}

.gnav a {
  color: #fff;
}

/* Toggle Button */

#nav-toggle {
  display: none;
  position: absolute;
  right: 20px;
  top: 14px;
  width: 24px;
  height: 36px;
  cursor: pointer;
  z-index: 101;
}

#nav-toggle div {
  position: relative;
}

#nav-toggle span {
  display: block;
  position: absolute;
  height: 3px;
  width: 100%;
  background: #ccc;
  left: 0;
  -webkit-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}

#nav-toggle span:nth-child(1) {
  top: 0;
}

#nav-toggle span:nth-child(2) {
  top: 11px;
}

#nav-toggle span:nth-child(3) {
  top: 22px;
}

/*-------　グローバルナビゲーション新　スマホ　元640px → 908-------*/

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

  #top-head,
  .inner {
    width: 100%;
    padding: 0;
  }

  #top-head {
    top: 0;
    position: fixed;
    margin-top: 0;
  }

  /* Fixed reset */
  #top-head.fixed {
    padding-top: 0;
    background: transparent;
  }

  #mobile-head {
    background: rgba(2, 23, 37, 0.96);
    width: 100%;
    z-index: 999;
    position: relative;
  }

  #top-head.fixed .logo,
  #top-head .logo {
    position: absolute;
    left: 13px;
    top: 13px;
    font-size: 26px;
  }

  /* 背景通常の場合 */
  #global-nav-bk {
    position: absolute;
    top: -505px;
    background: rgba(2, 23, 37, 0.96);
    width: 100%;
    text-align: center;
    padding: 10px 0;
    -webkit-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
  }

  /* 背景全画面の場合 */
  #global-nav {
    top: -505px;
    position: fixed;
    background: rgba(2, 23, 37, 0.96);
    width: 100%;
    height: 100%;
    text-align: center;
    padding: 10px 0;
    -webkit-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    visibility: hidden;
  }

  #global-nav ul {
    list-style: none;
    position: static;
    right: 0;
    bottom: 0;
    font-size: 14px;
  }

  #global-nav ul li {
    float: none;
    position: static;
  }

  #top-head #global-nav ul li a,
  #top-head.fixed #global-nav ul li a {
    width: 100%;
    display: block;
    padding: 16px 0;
    font-size: 1.6rem;
  }

  #top-head #global-nav ul li a:hover,
  #top-head.fixed #global-nav ul li a:hover {
    color: #fff;
  }

  #nav-toggle {
    display: block;
  }

  /* #nav-toggle 切り替えアニメーション */
  .open #nav-toggle span:nth-child(1) {
    top: 11px;
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
  }

  .open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }

  .open #nav-toggle span:nth-child(3) {
    top: 11px;
    -webkit-transform: rotate(-315deg);
    transform: rotate(-315deg);
  }

  /* #global-nav スライドアニメーション */
  .open #global-nav {
    /* #global-nav top + #mobile-head height */
    -webkit-transform: translateY(556px);
    transform: translateY(556px);
    /* 背景全画面の場合 visibleにする */
    visibility: visible;
  }
}

/*Media Queries*/
@media screen and (max-width: 768px) {

  .SPnone {
    display: none;
  }

  #g-nav {
    display: none;
  }

  .slicknav_menu {
    display: block;
  }
}

/*-- slicknav 設定ここまで --*/

/*------------メイン------------*/

@media only screen and (min-width:1000px) {
  #main-cont {
    margin: 0 auto;
    background-color: #fff;
    padding-top: 1em;
    padding-bottom: 80px;
  }

  #main-in {
    width: 980px;
    margin: 0 auto;
  }
}

@media only screen and (max-width:999px) {
  #main-cont {
    width: 100%;
    margin: 0 auto;
    background-color: #fff;
    padding-top: 1em;
    padding-bottom: 20px;
  }

  #main-in {
    width: 98%;
    margin: 0 auto;
  }
}

p a:link,
h3 a:link {
  color: #333;
  padding: 3px;
}

p a:visited,
h3 a:visited {
  color: #545454;
  padding: 3px;
  text-decoration: none;
}

p a:hover,
h3 a:hover {
  padding: 3px;
  color: #545454;
  text-decoration: none;
  opacity: 0.6;
}

.link-txt a:link {
  text-decoration: dashed !important;
  color: #e46300 !important;
  border-bottom: 1px solid #e46300 !important;
}

/* フェードイン */
.fuwatAnime {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: .5s;
  animation-duration: .5s;
  -webkit-animation-name: fuwatAnime;
  animation-name: fuwatAnime;
  visibility: visible !important;
}

@-webkit-keyframes fuwatAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}

@keyframes fuwatAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

/* マージン・フォントなど */

.f-orange {
  color: #ec6941;
}

.f-red {
  color: #f03030;
}

.f-pink {
  color: #f06292;
}

.f-pink2 {
  color: #e5004f;
}

.f-aomura {
  color: #4263c3;
}

.f-lp {
  color: #9575cd;
}

.f-eme {
  color: #00a5a1;
}

.f-eme-lt {
  color: #04cac5;
}


.f-blue {
  color: #1961AD;
}

.redb {
  color: #E60012;
  font-weight: bold;
}

.red {
  color: #E60012;
}

.nav-g {
  color: #7c7c7c
}

.yellowline-ev {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, transparent), color-stop(0%, #fff799));
  background: linear-gradient(transparent 40%, #fff799 0%);
}

.box {
  margin-bottom: 10px;
  overflow: hidden;
}

.pshadow {
  -webkit-box-shadow: 2px 2px 5px 1px #d9cbf3;
  box-shadow: 2px 2px 5px 1px #d9cbf3;
}

.p-5 {
  padding: 5px;
}

.p-10 {
  padding: 10px;
}

.p-12 {
  padding: 12px;
}

.p-20 {
  padding: 20px;
}

.p-t10 {
  padding-top: 10px;
}

.p-t30 {
  padding-top: 30px;
}

.p-t40 {
  padding-top: 40px;
}

.p-t50 {
  padding-top: 50px;
}

.p-t80 {
  padding-top: 80px;
}

.m-t10 {
  margin-top: 10px;
}

.m-t20 {
  margin-top: 20px;
}

.m-t30 {
  margin-top: 30px;
}

.m-r6 {
  margin-right: 6px;
}

.m-r10 {
  margin-right: 10px;
}

.m-l1r {
  margin-left: 1rem;
}

.m-l12 {
  margin-left: 12px;
}

.m-l20 {
  margin-left: 20px;
}

.m-l40 {
  margin-left: 40px;
}

.m-b5 {
  margin-bottom: 5px;
}

.m-b8 {
  margin-bottom: 8px;
}

.m-b12 {
  margin-bottom: 12px;
}

.m-b20 {
  margin-bottom: 20px;
}

.m-b24 {
  margin-bottom: 24px;
}

.m-b30 {
  margin-bottom: 30px;
}

.m-b36 {
  margin-bottom: 36px;
}

.m-b50 {
  margin-bottom: 50px;
}

.m-b40 {
  margin-bottom: 40px;
}

.m-b60 {
  margin-bottom: 60px;
}

.m-b80 {
  margin-bottom: 80px;
}

.m-b100 {
  margin-bottom: 100px;
}

.m-b150 {
  margin-bottom: 150px;
}

.m-b200 {
  margin-bottom: 200px;
}

img.aligncenter {
  text-align: center;
  margin: 0 auto;
  display: block;
}

.alignleft {
  margin-bottom: 20px;
}

.alignleft img {
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
}

.alignright {
  margin-bottom: 20px;
  float: right;
}

.left {
  text-align: left;
}

.right {
  text-align: right;
}

.center {
  text-align: center;
  margin: 0 auto;
}


.fl-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.fl-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: top;
  -ms-flex-align: top;
  align-items: top;
}

.fl-top-bt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: top;
  -ms-flex-align: top;
  align-items: top;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.img160 {
  max-width: 160px;
}

.img200 {
  max-width: 200px;
}

.img400 {
  max-width: 400px;
  width: 100%;
}

.img450 {
  max-width: 450px;
  width: 100%;
}

.border-b {
  border-bottom: 3px solid #4986c5;
}

.border-pu {
  border-bottom: 3px solid #556fb5;
}

.border-eme {
  border-bottom: 3px solid #13b5b1;
}

.border-ora {
  border-bottom: 3px solid #f39800;
}

.wakuBlu {
  background: #2183d0;
  color: #fff;
  padding: 8px;
  margin-right: 5px;
  font-size: 1.2rem;
}

.wakuEme {
  background: #00bfa5;
  color: #fff;
  padding: 8px;
  margin-right: 5px;
}

.font9 {
  font-size: .9rem;
}

.font10 {
  font-size: 1.0rem;
}

.font11 {
  font-size: 1.1rem;
}

.font12 {
  font-size: 1.2rem;
}

.font13 {
  font-size: 1.3rem;
}

.font14 {
  font-size: 1.4rem;
}

.font15 {
  font-size: 1.5rem;
}

.font16 {
  font-size: 1.6rem;
}

.font17 {
  font-size: 1.7rem;
}

.font18 {
  font-size: 1.8rem;
}

.font19 {
  font-size: 1.9rem;
}

.font20 {
  font-size: 2.0rem;
}

.font21 {
  font-size: 2.1rem;
}

.font22 {
  font-size: 2.2rem;
}

.font23 {
  font-size: 2.3rem;
}

.font24 {
  font-size: 2.4rem;
}

.font26 {
  font-size: 2.6rem;
}

.font28 {
  font-size: 2.8rem;
}

.m-w260 {
  max-width: 260px;
}

/*======================================================
PC向けおよび大型タブレット向けのレイアウトの指定：481px～768px
======================================================*/
@media screen and (min-width: 481px) {

  body {
    font-size: 1.6rem;
    line-height: 1.8;
  }

  .headlogo img {
    max-width: 280px;
  }

  #f-nav {
    padding: 1em 0;
    font-size: 1.4rem;
  }

  #f-nav ul {
    display: table;
    margin: 0 auto;
    width: 100%;
  }

  #f-nav a {
    text-decoration: none;
    color: #fff;
  }

  #f-nav li {
    text-align: center;
    border-left: 1px solid #fff;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 12.5%;
    font-size: 1.3rem;
    padding: 0;
  }

  #f-nav li:first-child {
    border-left: none;
  }
}

@media only screen and (min-width: 640px) {
  .h1-head {
    width: 300px;
    height: 130px;
    float: left;
  }
}

@media only screen and (max-width: 641px) {
  .h1-head {
    float: none;
    text-align: center;
    width: 100%;
    margin-bottom: 10px;
  }

  footer address {
    margin-left: 10px;
  }
}

/*======================================================
PC向けおよび大型タブレット向けのレイアウトの指定：769px～960px
======================================================*/

@media only screen and (min-width: 768px) {
  #g-nav ul {
    max-width: 1000px;
    margin: 0 auto;
  }

  .head-inner {
    position: relative;
  }

  .h1-head {
    position: absolute;
    left: 0;
  }

  .head-info {
    position: absolute;
    right: 0;
    bottom: 10px;
  }

  #f-nav ul {
    width: 75%;
  }

  #copy {
    padding-top: 10px;
  }

  .alignleft {
    margin-bottom: 20px;
    float: left;
  }

  .container {
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.1);
  }

  .framebox {
    max-width: 1200px;
    margin: 0 auto;
    padding: 50px 0;
  }
  
  .framebox-xl {
    max-width: 1400px;
    margin: 0 auto;
    padding: 50px 20px;
  }

  .box1 {
    margin: 50px 0;
  }
}

/*　画像について追加　*
img{
  max-width: 100vw;
  height: auto;
  }
  */

/* clearfix */
/* .cf {
    zoom: 1;
} */
.cf:before,
.cf:after {
  content: "";
  display: table;
}

.cf:after {
  clear: both;
}

/*==========================================
メニューの切替（画像ボタンからアコーディオンへ切替）
===========================================*/
@media screen and (max-width: 768px) {
  .SPnone {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .PCnone {
    display: none;
  }
}

/*==========================================
Search＆Filter　特定カテゴリーの非表示 
===========================================*/
/* WORKSページ：ニュースカテゴリボタン
（localはid2、testはxx） */
.cat-item.cat-item-2 {
  display: none;
}

.searchandfilter input {
  color: #333;
  padding: 8px 20px;
  border: none;
  border: 1px solid #ccc;
}

.searchandfilter li {
  list-style: none;
  display: inline-block;
  padding-right: 10px;
  padding-bottom: 10px;
  margin-bottom: 5px;
}

.cat-item {
  padding: 8px 10px;
}