@charset "UTF-8";
/*note: INDEXの表示は、コメントの「 index: 」でハイライト表示してください。*/
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 外部ファイルの読み込み */
/*note: INDEXの表示は、コメントの「 index: 」でハイライト表示してください。*/
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 外部フォントCSSファイルの読み込み*/
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: リセットCSS と body要素の文字（色・書体）と背景色*/
/* Body要素の背景色 */
/* Body要素の文字色 */
/* Body要素の書体 */
/* 見出しの書体 */
/* リセット用のプレイスフォルダ */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;700&display=swap");
html, body, div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  border: 0;
  font-family: inherit;
  font-size: 100%;
  font-weight: inherit;
  font-style: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline; }

body {
  line-height: 1; }

html, body {
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

body {
  background-color: #fff;
  color: #4d4d4d; }
  body a {
    color: #0085d0; }
    body a:hover {
      color: #59c3e1; }
    body a:active {
      color: #59c3e1; }
    body a:visited {
      color: #0085d0; }

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9411764706em;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.875; }

/* リセット処理関数 */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: メディアクエリー*/
/* 切り替えポイントの設定 */
/* 処理 */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: クリアフィックス*/
/* Class と ステークホルダー の名称設定 */
/* 処理 */
.clearfix:after, html:after, body:after {
  content: "";
  display: block;
  clear: both; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: スクリーンリーダー*/
/* スクリーンリーダーテキスト の名称設定 */
/* 処理 */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute; }

/*
WYSIWYGエディタに関わる部分の設定し、ステークホルダーにてサイトの随所で再利用します。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
NOTE

・ リセットCSS適用後に再設定するための定義です。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
INDEX

#01 要素の基本定義

	#01-01 Colors
		font-color
		background-color
		background-image
		border-color（ top, right, bottom, left ）

	#01-02 font-family
		font-family
		@include (WebFontの読み込み)
		
	#01-03 border-style
		border-style

	#01-04 Fonts ( font-color font-family 以外を定義 ) 
		font
		line-height
		…
		
	#01-03 Box Model (梱包される親の横幅を100％使った時の定義)
		margin
		border-size
		padding
		…

	#01-05 layout
		display
		width
		height
		float
		…

#02 WYSIWYG部分の設定

/*
┌─────────────────────────────
│ #01 要素の基本定義
│ 
*/
.wysiwyg h1,
#tinymce h1, .wysiwyg h2,
#tinymce h2, .wysiwyg h3,
#tinymce h3, .wysiwyg h4,
#tinymce h4, .wysiwyg h5,
#tinymce h5, .wysiwyg h6,
#tinymce h6, .wysiwyg p,
#tinymce p, .wysiwyg ul,
#tinymce ul, .wysiwyg ol,
#tinymce ol, .wysiwyg dl,
#tinymce dl, .wysiwyg table,
#tinymce table, table {
  margin-left: auto;
  margin-right: auto; }

.wysiwyg h1,
#tinymce h1, .wysiwyg h2,
#tinymce h2, .wysiwyg h3,
#tinymce h3, .wysiwyg h4,
#tinymce h4, .wysiwyg h5,
#tinymce h5, .wysiwyg h6,
#tinymce h6, .wysiwyg p,
#tinymce p, .wysiwyg ul,
#tinymce ul, .wysiwyg ol,
#tinymce ol, .wysiwyg dl,
#tinymce dl, .wysiwyg table,
#tinymce table, table {
  margin-bottom: 2rem; }
  @media only screen and (max-width: 640px) {
    .wysiwyg h1,
    #tinymce h1, .wysiwyg h2,
    #tinymce h2, .wysiwyg h3,
    #tinymce h3, .wysiwyg h4,
    #tinymce h4, .wysiwyg h5,
    #tinymce h5, .wysiwyg h6,
    #tinymce h6, .wysiwyg p,
    #tinymce p, .wysiwyg ul,
    #tinymce ul, .wysiwyg ol,
    #tinymce ol, .wysiwyg dl,
    #tinymce dl, .wysiwyg table,
    #tinymce table, table {
      margin-bottom: 3vw; } }

.wysiwyg span,
#tinymce span {
  display: inline; }

.wysiwyg h1,
#tinymce h1 {
  font-size: 2.5em; }

.wysiwyg h2,
#tinymce h2 {
  font-size: 2em; }

.wysiwyg h3,
#tinymce h3 {
  font-size: 1.75em; }

.wysiwyg h4,
#tinymce h4 {
  font-size: 1.5em; }

.wysiwyg h5,
#tinymce h5 {
  font-size: 1.25em; }

.wysiwyg h6,
#tinymce h6 {
  font-size: 1em; }

.wysiwyg strong,
#tinymce strong {
  font-weight: bold; }

.wysiwyg img,
#tinymce img {
  max-width: 100%; }

.wysiwyg ul,
#tinymce ul {
  list-style: disc; }
  .wysiwyg ul ul,
  #tinymce ul ul,
  .wysiwyg ul ol,
  #tinymce ul ol {
    width: auto;
    margin-bottom: 0; }

.wysiwyg ol,
#tinymce ol {
  list-style: decimal; }
  .wysiwyg ol ul,
  #tinymce ol ul,
  .wysiwyg ol ol,
  #tinymce ol ol {
    width: auto;
    margin-bottom: 0; }

.wysiwyg li,
#tinymce li {
  margin-left: 1.5em; }

/*
┌─────────────────────────────
│ #02 WYSIWYG部分の設定
│ 
*/
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: リセットCSS と サイトの初期設定 */
html * {
  box-sizing: border-box; }

@media only screen and (max-width: 960px) {
  body {
    font-size: 0.9333333333em; } }
@media only screen and (max-width: 640px) {
  body {
    font-size: 0.8666666667em;
    line-height: 1.6; } }

:focus {
  outline: 0; }

ol,
ul {
  list-style: none; }

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

caption,
th,
td {
  font-weight: normal;
  text-align: left; }

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: ""; }

blockquote,
q {
  quotes: "" ""; }

a img {
  border: 0; }

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

.barlow {
  font-family: "Barlow Condensed", sans-serif; }

.text {
  font-size: 17px; }
  @media only screen and (max-width: 960px) {
    .text {
      font-size: 15px; } }
  @media only screen and (max-width: 640px) {
    .text {
      font-size: 14px; } }

.small {
  font-size: 15px; }

strong,
b {
  font-weight: bold; }

img {
  max-width: 100%;
  width: auto;
  height: auto;
  vertical-align: middle;
  pointer-events: none; }

dl {
  margin-bottom: 1rem; }

dt {
  color: #29bdd2; }

@media only screen and (max-width: 640px) {
  .nosp {
    display: none !important; } }

.nopc {
  display: none !important; }
  @media only screen and (max-width: 640px) {
    .nopc {
      display: block !important; } }

.flex,
.flex-box {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex; }
  .flex.reverse,
  .flex-box.reverse {
    flex-flow: row-reverse; }
  .flex.wrap,
  .flex-box.wrap {
    flex-wrap: wrap; }

#contents {
  overflow: hidden;
  clear: both; }

.container {
  max-width: 1100px;
  width: 90%;
  margin: 0 auto;
  padding: 4rem 0; }
  @media only screen and (max-width: 640px) {
    .container {
      padding: 2rem 0; } }

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

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.grad, hr {
  background: #002c6a;
  background: -moz-linear-gradient(-45deg, #228abf 0%, #002c6a);
  background: -webkit-linear-gradient(-45deg, #228abf 0%, #002c6a);
  background: linear-gradient(110deg, #228abf 0%, #002c6a); }

hr {
  border: none;
  height: 6px; }
  @media only screen and (max-width: 640px) {
    hr {
      height: 3px; } }

.anchor {
  display: block;
  margin-top: -2em;
  padding-top: 2em; }
  @media only screen and (max-width: 640px) {
    .anchor {
      margin-top: 0;
      padding-top: 0; } }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: WYSIWYGエディタ「 TinyMCE 」の記事の表示設定 */
#main-wrapper {
  max-width: 1100px;
  width: 90%;
  margin: auto; }

.wysiwyg,
#tinymce {
  max-width: 1150px;
  width: 100%;
  margin: 3em auto;
  overflow: hidden; }
  @media only screen and (max-width: 640px) {
    .wysiwyg,
    #tinymce {
      margin: 0 auto 2em; } }
  .wysiwyg table,
  #tinymce table {
    word-break: break-all; }
  .wysiwyg .entry-header,
  #tinymce .entry-header {
    margin-bottom: 1rem;
    border-bottom: 1px dotted #454545; }
    .wysiwyg .entry-header .meta,
    #tinymce .entry-header .meta {
      font-size: 1em;
      margin: 0;
      width: 100%;
      box-sizing: border-box;
      padding-bottom: 15px; }
    .wysiwyg .entry-header h1,
    #tinymce .entry-header h1 {
      font-weight: bold;
      margin-bottom: 0; }
  .wysiwyg .back-button-wrapper,
  #tinymce .back-button-wrapper {
    margin: 2em auto; }
  .wysiwyg .alignleft,
  #tinymce .alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em;
    margin-bottom: 0.5em; }
    @media only screen and (max-width: 640px) {
      .wysiwyg .alignleft,
      #tinymce .alignleft {
        float: none;
        margin-right: 0;
        margin-bottom: 3vw;
        width: 100%; } }
  .wysiwyg .alignright,
  #tinymce .alignright {
    display: inline;
    float: right;
    margin-left: 1.5em;
    margin-bottom: 0.5em; }
    @media only screen and (max-width: 640px) {
      .wysiwyg .alignright,
      #tinymce .alignright {
        float: none;
        margin-left: 0;
        margin-bottom: 3vw;
        width: 100%; } }
  .wysiwyg .aligncenter,
  #tinymce .aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (max-width: 640px) {
      .wysiwyg .aligncenter,
      #tinymce .aligncenter {
        width: 100%; } }
  .wysiwyg h1,
  #tinymce h1 {
    font-size: 2em; }
  .wysiwyg h2,
  #tinymce h2 {
    font-size: 1.3em;
    font-weight: bold;
    position: relative;
    margin-bottom: 1.3rem;
    color: #0085d0;
    text-indent: 1em; }
    .wysiwyg h2::before,
    #tinymce h2::before {
      position: absolute;
      content: "";
      width: 6px;
      height: 100%;
      top: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      background-color: #0085d0; }
    @media only screen and (max-width: 640px) {
      .wysiwyg h2,
      #tinymce h2 {
        font-size: 1em;
        padding-left: 1rem; } }
  .wysiwyg h3,
  #tinymce h3 {
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 1.3rem;
    padding: 10px;
    background-color: #0085d0;
    color: #fff; }
    @media only screen and (max-width: 640px) {
      .wysiwyg h3,
      #tinymce h3 {
        font-size: 1em; } }
  .wysiwyg h4,
  #tinymce h4 {
    font-size: 1em;
    font-weight: bold;
    margin-bottom: 1.3rem;
    color: #0085d0; }
  .wysiwyg h5,
  #tinymce h5 {
    font-size: 1em;
    font-weight: bold;
    margin-bottom: 1.3rem; }
  .wysiwyg h6,
  #tinymce h6 {
    font-size: 0.95em;
    font-weight: bold;
    margin-bottom: 1.3rem; }
  .wysiwyg p,
  #tinymce p {
    line-height: 2;
    margin-bottom: 1.3rem; }
  .wysiwyg .more-wrapper,
  #tinymce .more-wrapper {
    margin-top: 2em; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 見出し */
#entry-head {
  position: relative; }
  @media only screen and (max-width: 960px) {
    #entry-head-wrapper {
      margin-top: 80px; } }
  #entry-head .headline {
    background-color: #299bd2;
    background: -moz-linear-gradient(left, #0085d0, #00c9ff 50%, #fff);
    background: -webkit-linear-gradient(left, #0085d0, #00c9ff 50%, #fff);
    background: linear-gradient(left, #0085d0, #00c9ff 50%, #fff); }
    #entry-head .headline.about {
      background-image: url(../images/kv_img01.jpg);
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center; }
      @media only screen and (max-width: 640px) {
        #entry-head .headline.about {
          background-image: url(../images/kv_img01-sp.jpg); } }
    #entry-head .headline.request {
      background-image: url(../images/kv_img02.jpg);
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center; }
      @media only screen and (max-width: 640px) {
        #entry-head .headline.request {
          background-image: url(../images/kv_img02-sp.jpg); } }
    #entry-head .headline.member {
      background-image: url(../images/kv_img03.jpg);
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center; }
      @media only screen and (max-width: 640px) {
        #entry-head .headline.member {
          background-image: url(../images/kv_img03-sp.jpg); } }
    #entry-head .headline.question {
      background-image: url(../images/kv_img04.jpg);
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center; }
      @media only screen and (max-width: 640px) {
        #entry-head .headline.question {
          background-image: url(../images/kv_img04-sp.jpg); } }

.headline h1.title {
  font-size: 39px;
  color: #fff;
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 88.5px 0px; }
  @media only screen and (max-width: 960px) {
    .headline h1.title {
      font-size: 28px;
      padding: 58px 0; } }
  @media only screen and (max-width: 960px) {
    .headline h1.title {
      font-size: 24px;
      padding: 48px 0; } }
.headline h2.title {
  font-size: 30px;
  color: #4d4d4d;
  font-weight: 400;
  text-indent: 0; }
  @media only screen and (max-width: 960px) {
    .headline h2.title {
      font-size: 23px; } }
  @media only screen and (max-width: 640px) {
    .headline h2.title {
      font-size: 22px; } }
  .headline h2.title.line {
    padding-left: 1.4em;
    position: relative; }
    .headline h2.title.line::before {
      position: absolute;
      content: "";
      width: 6px;
      height: 70px;
      top: 0;
      bottom: 0;
      left: 0;
      margin: auto; }
      @media only screen and (max-width: 640px) {
        .headline h2.title.line::before {
          width: 1%;
          height: 100%; } }
    .headline h2.title.line.blue::before {
      background-color: #299bd2; }
    .headline h2.title.line.green::before {
      background-color: #80b63f; }
    .headline h2.title.line.pink::before {
      background-color: #ff7b9c; }
.headline h2.en {
  font-size: 34px;
  color: #0085d0;
  font-weight: 300;
  letter-spacing: 6px;
  line-height: 1.6; }
  @media only screen and (max-width: 960px) {
    .headline h2.en {
      font-size: 27px;
      line-height: 1.4; } }
  @media only screen and (max-width: 640px) {
    .headline h2.en {
      font-size: 26px;
      line-height: 1.2; } }
.headline h3.title {
  font-size: 24px;
  color: #299bd2;
  background-color: #fff;
  padding: 0;
  margin-bottom: 1em;
  font-weight: 400; }
  @media only screen and (max-width: 960px) {
    .headline h3.title {
      font-size: 20px; } }
  @media only screen and (max-width: 640px) {
    .headline h3.title {
      font-size: 18px; } }
.headline .jp {
  font-size: 22px;
  color: #4d4d4d;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif; }
  @media only screen and (max-width: 960px) {
    .headline .jp {
      font-size: 17px; } }
  @media only screen and (max-width: 640px) {
    .headline .jp {
      font-size: 16px; } }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: テーブルスタイル */
.wysiwyg table,
#tinymce table, table {
  border-collapse: collapse;
  width: 100%; }
  .wysiwyg table th,
  #tinymce table th, table th,
  .wysiwyg table td,
  #tinymce table td,
  table td {
    vertical-align: middle;
    padding: 10px; }
    @media only screen and (max-width: 640px) {
      .wysiwyg table th,
      #tinymce table th, table th,
      .wysiwyg table td,
      #tinymce table td,
      table td {
        font-size: 0.6666666667em; } }
  .wysiwyg table th,
  #tinymce table th, table th {
    background-color: #f4f6f1;
    border: 1px solid #231815;
    font-weight: bold;
    white-space: nowrap; }
  .wysiwyg table td,
  #tinymce table td, table td {
    border-bottom: 1px dashed #000;
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
    border: 1px solid #231815; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 背景スタイル */
.background {
  background: #0085d0; }

.background-gray {
  background: #f2f2f2; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ViweMore */
.more {
  font-size: 20px;
  text-decoration: none;
  display: block;
  max-width: 137px;
  margin: 0;
  background-image: url(../images/arrow_right.svg);
  background-size: 42px 10px;
  background-position: 70px 15px;
  background-repeat: no-repeat;
  -webkit-transition: 0.5s ease;
  -o-transition: 0.5s ease;
  transition: 0.5s ease;
  color: #0085d0; }
  @media only screen and (max-width: 640px) {
    .more {
      max-width: 105px;
      font-size: 18px;
      background-size: 32px 10px;
      background-position: 70px 12px; } }
  .more span {
    display: inline;
    background-color: #fff;
    padding-right: 10px; }
  .more.right {
    margin: 0 0 0 auto; }
  .more.hover {
    background-position: right 15px;
    color: #0085d0; }
    @media only screen and (max-width: 640px) {
      .more.hover {
        background-position: right 12px; } }
  .more.back {
    font-size: 16px;
    max-width: 200px;
    background-image: url(../images/arrow_left.svg);
    background-size: 42px 10px;
    background-position: 20px 12px;
    background-repeat: no-repeat;
    text-align: right; }
    @media only screen and (max-width: 640px) {
      .more.back {
        max-width: 170px;
        font-size: 14px;
        background-size: 32px 10px;
        background-position: 10px 8px; } }
    .more.back.hover {
      background-position: left 12px; }
      @media only screen and (max-width: 640px) {
        .more.back.hover {
          background-position: left 8px; } }
    .more.back span {
      padding-right: 0;
      padding-left: 10px; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 投稿がない場合 */
.no-post {
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
  width: 100%;
  margin: 2rem auto 4rem; }
  @media only screen and (max-width: 640px) {
    .no-post {
      font-size: 0.7em;
      margin: 2rem auto; } }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: parts用の外部ファイル読み込み */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: header　ヘッダー */
#header {
  display: block;
  margin: 0 auto;
  width: 95%;
  max-width: 1170px;
  height: 182px; }
  @media only screen and (max-width: 960px) {
    #header {
      width: 100%;
      max-width: inherit;
      position: fixed;
      z-index: 999;
      background-color: #fff;
      height: inherit; } }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: グローバルナビゲーション1 */
.header-nav01 {
  padding: 20px 0 10px;
  justify-content: space-between; }
  @media only screen and (max-width: 960px) {
    .header-nav01 {
      position: fixed;
      padding: 0 2.5%;
      width: 100%;
      left: 0;
      top: 0;
      z-index: 999;
      background-color: #fff; } }
  .header-nav01 #logo {
    width: 30%;
    max-width: 321px;
    height: 76px;
    margin: 0; }
    @media only screen and (max-width: 960px) {
      .header-nav01 #logo {
        width: 230px;
        height: 60px;
        margin: auto 0; } }
    @media only screen and (max-width: 640px) {
      .header-nav01 #logo {
        width: 200px; } }
    .header-nav01 #logo a {
      display: block;
      width: 100%;
      height: 100%;
      background-image: url(../images/logo.png);
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center; }
      .header-nav01 #logo a:hover {
        opacity: 0.8; }
  @media only screen and (max-width: 960px) {
    .header-nav01 #header-search-box.nosp {
      display: none; } }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: グローバルナビゲーション2 */
.header-nav02 {
  display: block;
  width: 100%;
  padding: 10px 0; }
  .header-nav02 .g-nav {
    width: 100%;
    max-width: 1170px;
    margin: auto; }
    .header-nav02 .g-nav li {
      margin-right: 2em;
      padding-right: 2em;
      position: relative; }
      @media only screen and (max-width: 1195px) {
        .header-nav02 .g-nav li {
          margin-right: 1.5em;
          padding-right: 1.5em; } }
      .header-nav02 .g-nav li::after {
        position: absolute;
        content: "";
        width: 1px;
        height: 23px;
        top: 0;
        bottom: 0;
        right: 0;
        margin: auto;
        background-color: #0085d0; }
      .header-nav02 .g-nav li:nth-last-child(2) {
        padding-right: 0;
        margin-right: 0; }
      .header-nav02 .g-nav li:nth-last-child(1)::after, .header-nav02 .g-nav li:nth-last-child(2)::after {
        display: none; }
    .header-nav02 .g-nav a {
      display: block;
      font-size: 23px;
      text-decoration: none;
      color: #0085d0;
      padding: 4px 0;
      position: relative; }
      @media only screen and (max-width: 1195px) {
        .header-nav02 .g-nav a {
          font-size: 18px; } }
      .header-nav02 .g-nav a::before {
        content: "";
        position: absolute;
        width: 0%;
        height: 1px;
        background-color: #0085d0;
        margin: auto;
        bottom: 0;
        left: 0;
        right: 0;
        -webkit-transition: 0.5s ease;
        -o-transition: 0.5s ease;
        transition: 0.5s ease; }
      .header-nav02 .g-nav a.hover::before {
        width: 100%; }
      .header-nav02 .g-nav a.current::before {
        width: 100%; }
    .header-nav02 .g-nav .contact {
      margin: 0 0 0 auto;
      padding: 0; }
      .header-nav02 .g-nav .contact a {
        display: block;
        width: 216px;
        text-align: center;
        text-indent: 1.7em;
        border: 1px solid #0085d0;
        background-image: url(../images/icon_contact01.svg);
        background-repeat: no-repeat;
        background-size: 30px 20px;
        background-position: left 0.7em center;
        -webkit-transition: 0.5s ease;
        -o-transition: 0.5s ease;
        transition: 0.5s ease; }
        @media only screen and (max-width: 1195px) {
          .header-nav02 .g-nav .contact a {
            background-size: 25px 20px;
            background-position: left 2em center; } }
        .header-nav02 .g-nav .contact a::before {
          height: 100%;
          top: 0;
          z-index: -1; }
        .header-nav02 .g-nav .contact a.hover {
          color: #fff;
          background-image: url(../images/icon_contact02.svg); }
        .header-nav02 .g-nav .contact a.current {
          color: #fff;
          background-image: url(../images/icon_contact02.svg); }
          @media only screen and (max-width: 960px) {
            .header-nav02 .g-nav .contact a.current::before {
              display: block; } }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: グローバルナビゲーション追従付与 */
.js__g-nav-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  background-color: #fff;
  padding-left: 2.5%;
  padding-right: 2.5%; }
  @media only screen and (max-width: 960px) {
    .js__g-nav-fixed {
      position: static;
      background-color: transparent; } }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: グローバルナビゲーション2（ハンバーガーメニュー内） */
@media only screen and (max-width: 960px) {
  .header-nav02 {
    position: fixed;
    padding: 80px 0 0;
    height: 100vh;
    left: 0;
    top: 0;
    z-index: -1;
    opacity: 0;
    visibility: hidden;
    transition: 0.5s ease 0.3s; }
    .header-nav02 #header-search-box.nopc {
      display: block !important;
      width: 95%;
      margin: 0 auto;
      padding: 1em 0 2em; }
    .header-nav02 .g-nav {
      width: 95%;
      max-width: inherit;
      margin: 0 auto;
      flex-flow: column;
      max-width: inherit;
      overflow-x: hidden; }
      .header-nav02 .g-nav li {
        margin: 0 0 1em;
        padding-left: 1em;
        padding-right: 0; }
        .header-nav02 .g-nav li::after {
          width: 2px;
          height: 23px;
          right: inherit;
          left: 0; }
        .header-nav02 .g-nav li:nth-last-child(2)::after {
          display: block; }
      .header-nav02 .g-nav a {
        font-size: 18px; } }
      @media only screen and (max-width: 960px) and (max-width: 640px) {
        .header-nav02 .g-nav a {
          font-size: 16px; } }
@media only screen and (max-width: 960px) {
        .header-nav02 .g-nav a::before {
          display: none; }
        .header-nav02 .g-nav a:hover {
          color: #59c3e1; }
      .header-nav02 .g-nav .contact {
        margin: 1em 0 0; } }
      @media only screen and (max-width: 960px) and (max-width: 640px) {
        .header-nav02 .g-nav .contact {
          margin: 1em auto 0;
          background-size: 20px 15px;
          background-position: left 2.5em center; } }
@media only screen and (max-width: 960px) {
      .header-nav02 .g-nav .nav__fadein {
        visibility: hidden;
        opacity: 0;
        -webkit-transition: 0.3s ease;
        -o-transition: 0.3s ease;
        transition: 0.3s ease; }
      .header-nav02 .g-nav .fadein__right {
        transform: translateX(-50%); }
      .header-nav02 .g-nav li:nth-child(2) .fadein__right {
        -webkit-transition-delay: 0.1s;
        -o-transition-delay: 0.1s;
        transition-delay: 0.1s; }
      .header-nav02 .g-nav li:nth-child(3) .fadein__right {
        -webkit-transition-delay: 0.13s;
        -o-transition-delay: 0.13s;
        transition-delay: 0.13s; }
      .header-nav02 .g-nav li:nth-child(4) .fadein__right {
        -webkit-transition-delay: 0.16s;
        -o-transition-delay: 0.16s;
        transition-delay: 0.16s; }
      .header-nav02 .g-nav li:nth-child(5) .fadein__right {
        -webkit-transition-delay: 0.19s;
        -o-transition-delay: 0.19s;
        transition-delay: 0.19s; }
      .header-nav02 .g-nav li:nth-child(6) .fadein__right {
        -webkit-transition-delay: 0.22s;
        -o-transition-delay: 0.22s;
        transition-delay: 0.22s; } }
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ナビボタン */
#nav-button {
  display: none; }
  @media only screen and (max-width: 960px) {
    #nav-button {
      display: block;
      position: relative;
      transition: all .4s;
      box-sizing: border-box;
      width: 40px;
      height: 80px; } }
  #nav-button span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #299bd2; }
    #nav-button span:nth-child(1) {
      top: 25px; }
    #nav-button span:nth-child(2) {
      margin: auto;
      top: 0;
      bottom: 0; }
    #nav-button span:nth-child(3) {
      bottom: 25px; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: #nav-button 切り替えアニメーション */
.open {
  /* #global-nav スライドアニメーション */ }
  .open #nav-button {
    transform: rotateZ(90deg); }
    .open #nav-button span:nth-child(1) {
      transform: translateY(14px) rotateZ(45deg); }
    .open #nav-button span:nth-child(2) {
      opacity: 0; }
    .open #nav-button span:nth-child(3) {
      transform: translateY(-14px) rotateZ(-45deg); }
  .open .header-nav02 {
    transition: opacity .2s, visibility 0s ease .2s;
    transition-delay: 0.1s;
    opacity: 1;
    visibility: visible;
    z-index: 998;
    background: #fff; }
  .open .nav__fadein.active {
    opacity: 1;
    visibility: visible;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease; }
  .open .fadein__right.active {
    transform: translateX(0);
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 検索ボタン */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: パンくずリスト*/
#header-breadcrumb {
  max-width: 1100px;
  width: 90%;
  margin: 5.3em auto 0;
  font-size: 1em; }
  @media only screen and (max-width: 960px) {
    #header-breadcrumb {
      margin: 3em auto 0; } }
  @media only screen and (max-width: 640px) {
    #header-breadcrumb {
      margin-bottom: 1em; } }
  #header-breadcrumb li {
    display: inline-block; }
    #header-breadcrumb li + li:before {
      content: '>';
      padding: 0 0.5em; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 共通フッター*/
footer {
  position: relative; }

#pagetop {
  position: absolute;
  right: -0.4pc;
  top: 78px; }
  @media only screen and (max-width: 960px) {
    #pagetop {
      top: 0;
      right: 0;
      left: 0;
      width: 100%; } }
  #pagetop a {
    position: relative;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-size: 24px;
    color: #fff;
    text-decoration: none;
    margin: auto;
    z-index: 2; }
    @media only screen and (max-width: 960px) {
      #pagetop a {
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
        text-align: center;
        display: block;
        background-color: #29bdd2; } }
    #pagetop a.hover::after {
      -webkit-animation-duration: 0.8s;
      -o-animation-duration: 0.8s;
      animation-duration: 0.8s; }
    #pagetop a::after {
      position: absolute;
      content: "";
      width: 2px;
      height: 78px;
      top: -5pc;
      right: 1.8pc;
      margin: 0;
      background-color: #fff;
      -webkit-animation: arrow-scroll 1.4s cubic-bezier(0.93, 0.08, 0.49, 0.74) 1s infinite;
      -o-animation: arrow-scroll 1.4s cubic-bezier(0.93, 0.08, 0.49, 0.74) 1s infinite;
      animation: arrow-scroll 1.4s cubic-bezier(0.93, 0.08, 0.49, 0.74) 1s infinite;
      opacity: 0;
      overflow: hidden; }
      @media only screen and (max-width: 960px) {
        #pagetop a::after {
          display: none; } }
@-webkit-keyframes arrow-scroll {
  0% {
    opacity: 0;
    height: 78px; }
  40% {
    opacity: 1; }
  80% {
    opacity: 0;
    height: 0; }
  100% {
    opacity: 0; } }
@-o-keyframes arrow-scroll {
  0% {
    opacity: 0;
    height: 78px; }
  40% {
    opacity: 1; }
  80% {
    opacity: 0;
    height: 0; }
  100% {
    opacity: 0; } }
@-moz-keyframes arrow-scroll {
  0% {
    opacity: 0;
    height: 78px; }
  40% {
    opacity: 1; }
  80% {
    opacity: 0;
    height: 0; }
  100% {
    opacity: 0; } }
@keyframes arrow-scroll {
  0% {
    opacity: 0;
    height: 78px; }
  40% {
    opacity: 1; }
  80% {
    opacity: 0;
    height: 0; }
  100% {
    opacity: 0; } }
#footer {
  clear: both; }
  #footer-wrapper {
    background-color: #0085d0;
    overflow-x: hidden; }
  #footer .container {
    overflow: hidden;
    width: 95%;
    max-width: 1160px;
    padding: 3.5rem 0 1rem;
    position: relative; }
    @media only screen and (max-width: 960px) {
      #footer .container {
        padding-top: 4.5rem; } }
  #footer .footer-1 {
    float: left;
    width: 40%;
    display: flex; }
    @media only screen and (max-width: 960px) {
      #footer .footer-1 {
        float: none;
        width: 100%;
        display: block;
        text-align: center; } }
    #footer .footer-1 .address {
      padding-left: 3em;
      position: relative; }
      @media only screen and (max-width: 960px) {
        #footer .footer-1 .address {
          padding-left: 0; } }
      #footer .footer-1 .address::before {
        content: "";
        position: absolute;
        width: 2px;
        height: 100%;
        background: #fff;
        margin: auto;
        left: 0;
        top: 0; }
        @media only screen and (max-width: 960px) {
          #footer .footer-1 .address::before {
            display: none; } }
      #footer .footer-1 .address p {
        color: #fff; }
  #footer .footer-2 {
    float: right;
    width: 40%;
    max-width: 440px;
    margin-top: 4em; }
    @media only screen and (max-width: 960px) {
      #footer .footer-2 {
        display: none; } }
  #footer .footer-navi {
    justify-content: space-between;
    line-height: 2.2; }
    #footer .footer-navi a {
      font-size: 15px;
      word-break: keep-all;
      color: #fff;
      text-decoration: none; }
      #footer .footer-navi a:hover {
        text-decoration: underline; }
    #footer .footer-navi .contact {
      margin: auto 0 6px; }
      #footer .footer-navi .contact a {
        display: block;
        width: 150px;
        padding: 7.5px 0;
        text-align: center;
        border: 1px solid #fff;
        text-indent: 1.7em;
        -webkit-transition: 0.5s ease;
        -o-transition: 0.5s ease;
        transition: 0.5s ease;
        position: relative;
        z-index: 1; }
        #footer .footer-navi .contact a:hover {
          text-decoration: none; }
        #footer .footer-navi .contact a::before {
          content: "";
          position: absolute;
          width: 23px;
          height: 16px;
          background-image: url(../images/icon_contact02.svg);
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center;
          top: 0;
          left: 0.7em;
          bottom: 0;
          margin: auto;
          z-index: 1;
          -webkit-transition: 0.5s ease;
          -o-transition: 0.5s ease;
          transition: 0.5s ease; }
        #footer .footer-navi .contact a::after {
          position: absolute;
          content: "";
          width: 0%;
          height: 100%;
          top: 0;
          left: 0;
          bottom: 0;
          right: 0;
          margin: auto;
          background-color: #fff;
          z-index: -1;
          -webkit-transition: 0.5s ease;
          -o-transition: 0.5s ease;
          transition: 0.5s ease; }
        #footer .footer-navi .contact a.hover {
          color: #0085d0;
          text-decoration: none !important; }
          #footer .footer-navi .contact a.hover::before {
            background-image: url(../images/icon_contact01.svg); }
          #footer .footer-navi .contact a.hover::after {
            width: 100%; }
  #footer .copyright {
    color: #fff;
    font-size: 0.8666666667em;
    text-align: center; }
    @media only screen and (max-width: 640px) {
      #footer .copyright {
        font-size: 0.7692307692em;
        background-size: cover; } }
    #footer .copyright .container {
      padding: 1rem 0; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ページネーション*/
.pagination .nav-links {
  margin: 40px 0;
  text-align: center; }
  .pagination .nav-links a,
  .pagination .nav-links span {
    display: inline-block;
    width: 50px;
    line-height: 48px;
    border: 1px solid #0085d0;
    margin: 0 5px;
    font-size: 1.1em;
    text-decoration: none; }
    @media only screen and (max-width: 640px) {
      .pagination .nav-links a,
      .pagination .nav-links span {
        width: 35px;
        line-height: 33px;
        margin: 0;
        font-size: 0.8em; } }
    .pagination .nav-links a:hover,
    .pagination .nav-links span:hover {
      background: #0085d0;
      border-color: #0085d0;
      color: #fff; }
  .pagination .nav-links .current {
    background: #0085d0;
    border-color: #0085d0;
    color: #fff; }
  .pagination .nav-links a:visited {
    background: #0085d0; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: フロントページ用の外部ファイル読み込み */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ヒーローイメージ*/
#hero {
  position: relative;
  z-index: 99;
  /*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
  /*index: ページネーション */
  /*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
  /*index: スクロールボタン */ }
  @media only screen and (max-width: 960px) {
    #hero-wrapper {
      margin-top: 80px; } }
  #hero .copy {
    position: absolute;
    top: 20pc;
    left: 6vw;
    z-index: 1; }
    @media only screen and (max-width: 960px) {
      #hero .copy {
        top: 10pc;
        left: 2vw; } }
    @media only screen and (max-width: 640px) {
      #hero .copy {
        top: -5pc;
        bottom: 0;
        left: -44vw;
        right: 0;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        flex-flow: column;
        justify-content: center;
        margin: auto; } }
    #hero .copy .copy-text {
      line-height: 1.6;
      color: #fff;
      letter-spacing: 10px;
      text-indent: 0.4em;
      font-size: 47px;
      font-style: italic; }
      @media only screen and (max-width: 640px) {
        #hero .copy .copy-text {
          font-size: 6.5vw;
          margin: auto;
          text-indent: 0.8em; }
          #hero .copy .copy-text span {
            padding-left: 0.4em; } }
  #hero .kv {
    position: relative;
    /*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
    /*index: home*/ }
    #hero .kv.home {
      width: 100%;
      height: 920px; }
      @media only screen and (max-width: 960px) {
        #hero .kv.home {
          height: 640px; } }
      @media only screen and (max-width: 640px) {
        #hero .kv.home {
          height: 500px;
          height: calc(100vh - 134px); } }
      #hero .kv.home .swiper-container {
        width: 100%;
        height: auto;
        position: relative; }
      #hero .kv.home .swiper-wrapper {
        height: 920px; }
        @media only screen and (max-width: 960px) {
          #hero .kv.home .swiper-wrapper {
            height: 640px; } }
        @media only screen and (max-width: 640px) {
          #hero .kv.home .swiper-wrapper {
            height: 500px;
            height: calc(100vh - 134px); } }
        #hero .kv.home .swiper-wrapper .img {
          position: absolute;
          width: 100%;
          height: 100%;
          top: 0;
          left: 0; }
          #hero .kv.home .swiper-wrapper .img.img01 {
            background-image: url(../images/kv_slide01_pc.jpg);
            background-size: cover;
            background-position: 70% center;
            background-repeat: no-repeat; }
            @media only screen and (max-width: 960px) {
              #hero .kv.home .swiper-wrapper .img.img01 {
                background-position: 80% center; } }
            @media only screen and (max-width: 640px) {
              #hero .kv.home .swiper-wrapper .img.img01 {
                background-image: url(../images/kv_slide01_sp.jpg);
                background-position: 25% 20%; } }
          #hero .kv.home .swiper-wrapper .img.img02 {
            background-image: url(../images/kv_slide02_pc.jpg);
            background-size: cover;
            background-position: 70% center;
            background-repeat: no-repeat; }
            @media only screen and (max-width: 960px) {
              #hero .kv.home .swiper-wrapper .img.img02 {
                background-position: 80% center; } }
            @media only screen and (max-width: 640px) {
              #hero .kv.home .swiper-wrapper .img.img02 {
                background-image: url(../images/kv_slide02_sp.jpg);
                background-position: 25% 20%; } }
  #hero .slide-bar {
    bottom: -3pc;
    right: 65px;
    left: inherit;
    z-index: 11;
    width: auto; }
    @media only screen and (max-width: 640px) {
      #hero .slide-bar {
        right: 15px; } }
    #hero .slide-bar .swiper-pagination-bullet {
      content: "";
      width: 15px;
      height: 15px;
      background: #c5c5c5;
      opacity: 1;
      margin: 0 5px; }
      #hero .slide-bar .swiper-pagination-bullet.swiper-pagination-bullet-active {
        background: #0085d0; }
  #hero .arrow-scroll {
    position: absolute;
    content: "";
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-size: 24px;
    color: #fff;
    text-decoration: none;
    bottom: 78px;
    right: 10px;
    margin: auto;
    z-index: 2;
    transform: rotateZ(180deg); }
    #hero .arrow-scroll.hover::after {
      -webkit-animation-duration: 0.8s;
      -o-animation-duration: 0.8s;
      animation-duration: 0.8s; }
    @media only screen and (max-width: 960px) {
      #hero .arrow-scroll {
        bottom: 15%;
        right: 2px; } }
    #hero .arrow-scroll::after {
      position: absolute;
      content: "";
      width: 2px;
      height: 78px;
      top: -5pc;
      right: 1.8pc;
      margin: 0;
      background-color: #fff;
      -webkit-animation: arrow-scroll 2s cubic-bezier(0.93, 0.08, 0.49, 0.74) 1s infinite;
      -o-animation: arrow-scroll 2s cubic-bezier(0.93, 0.08, 0.49, 0.74) 1s infinite;
      animation: arrow-scroll 2s cubic-bezier(0.93, 0.08, 0.49, 0.74) 1s infinite;
      opacity: 0;
      overflow: hidden; }
      @media only screen and (max-width: 640px) {
        #hero .arrow-scroll::after {
          right: 1.6pc; } }
@-webkit-keyframes arrow-scroll {
  0% {
    opacity: 0;
    height: 78px; }
  40% {
    opacity: 1; }
  80% {
    opacity: 0;
    height: 0; }
  100% {
    opacity: 0; } }
@-o-keyframes arrow-scroll {
  0% {
    opacity: 0;
    height: 78px; }
  40% {
    opacity: 1; }
  80% {
    opacity: 0;
    height: 0; }
  100% {
    opacity: 0; } }
@-moz-keyframes arrow-scroll {
  0% {
    opacity: 0;
    height: 78px; }
  40% {
    opacity: 1; }
  80% {
    opacity: 0;
    height: 0; }
  100% {
    opacity: 0; } }
@keyframes arrow-scroll {
  0% {
    opacity: 0;
    height: 78px; }
  40% {
    opacity: 1; }
  80% {
    opacity: 0;
    height: 0; }
  100% {
    opacity: 0; } }
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ホーム　背景 */
#home-bg {
  display: block;
  height: 65vh;
  background-image: url(../images/content_img.jpg);
  background-size: cover;
  background-position: 87% top;
  background-repeat: no-repeat;
  background-attachment: fixed; }
  @media only screen and (max-width: 1024px) {
    #home-bg {
      height: 40vh;
      background-attachment: inherit; } }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ホーム　協会概要 */
#home-about .container {
  max-width: 618px;
  padding-top: 6rem; }
  @media only screen and (max-width: 640px) {
    #home-about .container {
      max-width: 480px;
      padding-top: 4rem; } }
#home-about .text-box {
  padding: 2em 0 1em;
  margin: 2em auto 0;
  border-top: 1px solid #005591; }
  @media only screen and (max-width: 640px) {
    #home-about .text-box {
      padding-top: 1em;
      margin-top: 1em; } }
#home-about .text {
  text-align: justify;
  text-justify: inter-character; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ホーム　目的別で探す */
#home-purpose .container {
  max-width: 618px; }
  @media only screen and (max-width: 640px) {
    #home-purpose .container {
      max-width: 480px; } }
#home-purpose .purpose-list {
  justify-content: space-between;
  margin-top: 4em; }
  @media only screen and (max-width: 640px) {
    #home-purpose .purpose-list {
      margin-top: 2em; } }
  #home-purpose .purpose-list li {
    width: calc(95% / 2);
    max-width: 257px; }
    @media only screen and (max-width: 640px) {
      #home-purpose .purpose-list li {
        width: 48%;
        max-width: 230px; } }
    #home-purpose .purpose-list li:first-child {
      background-image: url(../images/icon_purpose01.jpg);
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat; }
      @media only screen and (max-width: 640px) {
        #home-purpose .purpose-list li:first-child {
          background-size: cover; } }
    #home-purpose .purpose-list li:last-child {
      background-image: url(../images/icon_purpose02.jpg);
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat; }
      @media only screen and (max-width: 640px) {
        #home-purpose .purpose-list li:last-child {
          background-size: cover; } }
  #home-purpose .purpose-list a {
    display: block;
    text-decoration: none;
    font-size: 25px;
    color: #fff;
    font-weight: 700;
    padding: 61.5px 0;
    position: relative;
    z-index: 2;
    overflow: hidden; }
    @media only screen and (max-width: 640px) {
      #home-purpose .purpose-list a {
        font-size: 16px;
        padding: 39.1% 0; } }
    #home-purpose .purpose-list a::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.2);
      top: 0;
      left: 0;
      z-index: -1;
      opacity: 0;
      -webkit-transition: 0.5s ease;
      -o-transition: 0.5s ease;
      transition: 0.5s ease; }
    #home-purpose .purpose-list a.hover::before {
      opacity: 1;
      -webkit-transition: 0.5s ease;
      -o-transition: 0.5s ease;
      transition: 0.5s ease; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ホーム　バナー */
#home-bnr-wrapper {
  margin: 4rem 0 8rem; }
  @media only screen and (max-width: 640px) {
    #home-bnr-wrapper {
      margin: 2rem 0 4rem; } }
#home-bnr .bnr-list {
  justify-content: space-between;
  max-width: 764px;
  margin: auto; }
  @media only screen and (max-width: 640px) {
    #home-bnr .bnr-list {
      flex-flow: column;
      max-width: 480px; } }
  #home-bnr .bnr-list li {
    width: calc(95% / 3);
    max-width: 213px; }
    @media only screen and (max-width: 640px) {
      #home-bnr .bnr-list li {
        width: 100%;
        margin: 0 auto 1em;
        max-width: 200px; }
        #home-bnr .bnr-list li:last-child {
          margin-bottom: 0; } }
  #home-bnr .bnr-list img {
    width: 100%; }
  #home-bnr .bnr-list a {
    display: block; }
  #home-bnr .bnr-list a:hover img {
    opacity: 0.8; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ホームのお知らせ一覧*/
#home-information {
  overflow: hidden; }
  #home-information-wrapper {
    background-image: url(../images/bg_img.png);
    background-size: 193px 673px;
    background-position: left top;
    background-repeat: no-repeat;
    padding: 4rem 0 4rem; }
    @media only screen and (max-width: 960px) {
      #home-information-wrapper {
        padding: 2rem 0; } }
    @media only screen and (max-width: 640px) {
      #home-information-wrapper {
        background-image: none; } }
  #home-information .container {
    position: relative;
    max-width: 800px;
    width: 95%; }
    @media only screen and (max-width: 960px) {
      #home-information .container {
        max-width: 620px; } }
    @media only screen and (max-width: 640px) {
      #home-information .container {
        max-width: 480px;
        margin: auto; } }
    #home-information .container a {
      -webkit-display: flex;
      -moz-display: flex;
      -ms-display: flex;
      -o-display: flex;
      display: flex;
      flex-wrap: wrap;
      text-decoration: none;
      margin-top: 1em;
      position: relative;
      width: 100%; }
      @media only screen and (max-width: 640px) {
        #home-information .container a {
          padding-bottom: 13px;
          border-bottom: 1px dotted #000;
          text-align: justify;
          text-justify: inter-character; } }
      #home-information .container a:hover .meta,
      #home-information .container a:hover .title {
        color: #0085d0; }
      #home-information .container a .meta {
        width: 95px;
        font-size: 16px;
        margin: auto 0.5em auto 0;
        color: #4d4d4d; }
        @media only screen and (max-width: 960px) {
          #home-information .container a .meta {
            margin-right: 0; } }
      #home-information .container a .tag-wrapper {
        width: 20%;
        margin: auto 0;
        text-align: center; }
      #home-information .container a .tag {
        margin: 0;
        background: #002c6a;
        background: -moz-linear-gradient(-45deg, rgba(51, 95, 157, 0.1) 0%, rgba(0, 44, 106, 0.1));
        background: -webkit-linear-gradient(-45deg, rgba(51, 95, 157, 0.1) 0%, rgba(0, 44, 106, 0.1));
        background: linear-gradient(110deg, rgba(51, 95, 157, 0.1) 0%, rgba(0, 44, 106, 0.1));
        color: #0085d0;
        border-radius: 0;
        font-size: 16px; }
      #home-information .container a .title {
        width: 60%;
        color: #4d4d4d;
        font-size: 16px;
        padding-left: 5px;
        position: relative; }
        @media only screen and (max-width: 960px) {
          #home-information .container a .title {
            padding-left: 0; } }
        @media only screen and (max-width: 640px) {
          #home-information .container a .title {
            width: 100%;
            font-size: 14px;
            margin-top: 10px; } }
  #home-information .more-wrapper {
    margin: 0; }
    @media only screen and (max-width: 640px) {
      #home-information .more-wrapper {
        margin: 0; }
        #home-information .more-wrapper a {
          border-bottom: none; } }

.cat,
.tag {
  background: #002c6a;
  background: -moz-linear-gradient(-45deg, rgba(51, 95, 157, 0.1) 0%, rgba(0, 44, 106, 0.1));
  background: -webkit-linear-gradient(-45deg, rgba(51, 95, 157, 0.1) 0%, rgba(0, 44, 106, 0.1));
  background: linear-gradient(110deg, rgba(51, 95, 157, 0.1) 0%, rgba(0, 44, 106, 0.1));
  color: #0085d0;
  display: block;
  text-align: center;
  padding: 0.5rem;
  margin-right: 1em;
  word-break: keep-all;
  font-size: 0.8666666667em;
  line-height: 1;
  min-width: 100px;
  font-weight: 700; }
  .cat.category2,
  .tag.category2 {
    background-color: #ff7b9c; }

/*note: INDEXの表示は、コメントの「 index: 」でハイライト表示してください。*/
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.container.trigger {
  -webkit-transition: 1s cubic-bezier(0.88, 0.68, 0.21, 1);
  -o-transition: 1s cubic-bezier(0.88, 0.68, 0.21, 1);
  transition: 1s cubic-bezier(0.88, 0.68, 0.21, 1);
  visibility: hidden;
  opacity: 0.1; }
  .container.trigger.active {
    visibility: visible;
    opacity: 1; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: jsライブラリ専用外部ファイル読み込み */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 固定ページ専用外部ファイル読み込み */
#about-head {
  position: relative; }
  @media only screen and (max-width: 960px) {
    #about-head-wrapper {
      margin-top: 80px; } }
  #about-head .bg-about {
    background-image: url(../images/kv_img01.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center; }
    @media only screen and (max-width: 640px) {
      #about-head .bg-about {
        background-image: url(../images/kv_img01-sp.jpg); } }
    #about-head .bg-about .pos {
      height: 100%;
      width: 90%;
      padding: 88.5px 0px;
      max-width: 1100px;
      margin: auto;
      letter-spacing: 10px; }
      @media only screen and (max-width: 960px) {
        #about-head .bg-about .pos {
          font-size: 28px;
          padding: 58px 0; } }
      @media only screen and (max-width: 960px) {
        #about-head .bg-about .pos {
          font-size: 24px;
          padding: 48px 0; } }

#about .container {
  width: 100%; }
@media only screen and (max-width: 960px) {
  #about .text {
    font-size: 15px; } }
@media only screen and (max-width: 640px) {
  #about .text {
    font-size: 14px; } }
#about .barlow::before {
  content: none; }
#about .section-title {
  margin-bottom: 3rem; }
  @media only screen and (max-width: 640px) {
    #about .section-title {
      margin-bottom: 2rem; } }
#about .main-slogan .text {
  font-size: 32px;
  color: #0085d0; }
  @media only screen and (max-width: 960px) {
    #about .main-slogan .text {
      font-size: 24px; } }
  @media only screen and (max-width: 640px) {
    #about .main-slogan .text {
      font-size: 23px; } }
#about .slogan-list {
  list-style: none; }
  #about .slogan-list li {
    font-size: 18px; }
    @media only screen and (max-width: 960px) {
      #about .slogan-list li {
        font-size: 16px; } }
    @media only screen and (max-width: 640px) {
      #about .slogan-list li {
        font-size: 15px; } }
#about .organization-wrapper {
  max-width: 377px; }
  #about .organization-wrapper .flex-box {
    display: flex; }
  #about .organization-wrapper .organization-list {
    list-style: none;
    width: 50%; }
    #about .organization-wrapper .organization-list .list p {
      font-size: 17px; }
      @media only screen and (max-width: 960px) {
        #about .organization-wrapper .organization-list .list p {
          font-size: 15px; } }
      @media only screen and (max-width: 640px) {
        #about .organization-wrapper .organization-list .list p {
          font-size: 14px; } }
    #about .organization-wrapper .organization-list .list .left {
      display: inline-block;
      width: 50%; }
    #about .organization-wrapper .organization-list .list .right {
      display: inline-block;
      width: 30%;
      margin-left: 10px; }
#about .link {
  font-size: 17px;
  color: #0085d0; }
  @media only screen and (max-width: 960px) {
    #about .link {
      font-size: 15px; } }
  @media only screen and (max-width: 640px) {
    #about .link {
      font-size: 14px; } }
  #about .link:hover {
    color: #59c3e1; }
#about .access {
  max-width: 1260px;
  width: 100%;
  margin: 20px auto 10px; }
#about .association.flex-box {
  justify-content: space-between; }
  @media only screen and (max-width: 640px) {
    #about .association.flex-box {
      flex-flow: column; } }
  #about .association.flex-box .img-box {
    width: 30%;
    margin: 0 auto;
    text-align: center; }
    @media only screen and (max-width: 640px) {
      #about .association.flex-box .img-box {
        width: 100%;
        margin-bottom: 1em; } }
    #about .association.flex-box .img-box img {
      width: 70%; }
      @media only screen and (max-width: 640px) {
        #about .association.flex-box .img-box img {
          width: 50%; } }
  #about .association.flex-box .text-box {
    width: 70%; }
    @media only screen and (max-width: 640px) {
      #about .association.flex-box .text-box {
        width: 100%; } }
    #about .association.flex-box .text-box .text {
      text-indent: 1em;
      text-align: justify;
      text-justify: inter-character; }
    #about .association.flex-box .text-box .name {
      text-indent: 0;
      text-align: right; }

.map {
  height: 313px;
  overflow: hidden;
  position: relative;
  margin-bottom: 5em; }

#request-head {
  position: relative; }
  @media only screen and (max-width: 960px) {
    #request-head-wrapper {
      margin-top: 80px; } }
  #request-head .bg-about {
    background-image: url(../images/kv_img02.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative; }
    @media only screen and (max-width: 640px) {
      #request-head .bg-about {
        background-image: url(../images/kv_img02-sp.jpg); } }
    #request-head .bg-about .pos {
      height: 100%;
      width: 90%;
      padding: 88.5px 0px;
      max-width: 1100px;
      margin: auto;
      letter-spacing: 10px; }
      @media only screen and (max-width: 960px) {
        #request-head .bg-about .pos {
          font-size: 28px;
          padding: 58px 0; } }
      @media only screen and (max-width: 960px) {
        #request-head .bg-about .pos {
          font-size: 24px;
          padding: 48px 0; } }

#request .container {
  width: 100%; }
@media only screen and (max-width: 960px) {
  #request .text {
    font-size: 15px; } }
@media only screen and (max-width: 640px) {
  #request .text {
    font-size: 14px; } }
#request .padding {
  padding-top: 32px; }
#request .section-title {
  margin-bottom: 3rem; }
  @media only screen and (max-width: 640px) {
    #request .section-title {
      margin-bottom: 2rem; } }
#request .text-box .text .margin {
  margin-left: -10px; }
#request .text-box .text .red {
  color: #dd1c24; }
#request .text-box .margin {
  margin: 40px 0 80px; }
#request .report-wrapper {
  margin: 45px 0; }
  #request .report-wrapper ul {
    list-style: none; }
    #request .report-wrapper ul li {
      margin-left: 0; }
#request .link {
  font-size: 17px;
  color: #0085d0; }
  @media only screen and (max-width: 960px) {
    #request .link {
      font-size: 15px; } }
  @media only screen and (max-width: 640px) {
    #request .link {
      font-size: 14px; } }
  #request .link:hover {
    color: #59c3e1; }

#member-head {
  position: relative; }
  @media only screen and (max-width: 960px) {
    #member-head-wrapper {
      margin-top: 80px; } }
  #member-head .bg-about {
    background-image: url(../images/kv_img03.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative; }
    @media only screen and (max-width: 640px) {
      #member-head .bg-about {
        background-image: url(../images/kv_img03-sp.jpg); } }
    #member-head .bg-about .pos {
      height: 100%;
      width: 90%;
      padding: 88.5px 0px;
      max-width: 1100px;
      margin: auto;
      letter-spacing: 10px; }
      @media only screen and (max-width: 960px) {
        #member-head .bg-about .pos {
          font-size: 28px;
          padding: 58px 0; } }
      @media only screen and (max-width: 960px) {
        #member-head .bg-about .pos {
          font-size: 24px;
          padding: 48px 0; } }

#member .container {
  width: 100%; }
@media only screen and (max-width: 960px) {
  #member .text {
    font-size: 15px; } }
@media only screen and (max-width: 640px) {
  #member .text {
    font-size: 14px; } }
#member .section-title {
  margin-bottom: 3rem; }
  @media only screen and (max-width: 640px) {
    #member .section-title {
      margin-bottom: 2rem; } }
#member .compe {
  margin-bottom: 30px; }
  #member .compe h3 {
    font-size: 22px;
    margin-left: -15px;
    color: #4d4d4d;
    background-color: #fff;
    padding: 0;
    margin-bottom: 0;
    font-weight: 400; }
#member .compe-list {
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 960px) {
    #member .compe-list {
      display: block; } }
  #member .compe-list ul {
    list-style: none;
    margin: 0; }
  #member .compe-list .list1 {
    width: 28%; }
    @media only screen and (max-width: 960px) {
      #member .compe-list .list1 {
        width: 100%; } }
  #member .compe-list .list2 {
    width: 25%; }
    @media only screen and (max-width: 960px) {
      #member .compe-list .list2 {
        width: 100%; } }
  #member .compe-list .list3 {
    width: 40%; }
    @media only screen and (max-width: 960px) {
      #member .compe-list .list3 {
        width: 100%; } }
  #member .compe-list li {
    font-size: 17px;
    margin: 0; }
    @media only screen and (max-width: 960px) {
      #member .compe-list li {
        font-size: 15px; } }
    @media only screen and (max-width: 640px) {
      #member .compe-list li {
        font-size: 14px; } }
#member .text span {
  font-size: 15px; }
#member .text.margin {
  margin-top: 70px; }
#member .link {
  font-size: 17px;
  color: #0085d0; }
  @media only screen and (max-width: 960px) {
    #member .link {
      font-size: 15px; } }
  @media only screen and (max-width: 640px) {
    #member .link {
      font-size: 14px; } }
  #member .link:hover {
    color: #59c3e1; }

#question-head {
  position: relative; }
  @media only screen and (max-width: 960px) {
    #question-head-wrapper {
      margin-top: 80px; } }
  #question-head .bg-about {
    background-image: url(../images/kv_img04.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative; }
    @media only screen and (max-width: 640px) {
      #question-head .bg-about {
        background-image: url(../images/kv_img04-sp.jpg); } }
    #question-head .bg-about .pos {
      height: 100%;
      width: 90%;
      padding: 88.5px 0px;
      max-width: 1100px;
      margin: auto;
      letter-spacing: 10px; }
      @media only screen and (max-width: 960px) {
        #question-head .bg-about .pos {
          font-size: 28px;
          padding: 58px 0; } }
      @media only screen and (max-width: 960px) {
        #question-head .bg-about .pos {
          font-size: 24px;
          padding: 48px 0; } }

#question .container {
  width: 100%; }
@media only screen and (max-width: 960px) {
  #question .text {
    font-size: 15px; } }
@media only screen and (max-width: 640px) {
  #question .text {
    font-size: 14px; } }
#question .section-title {
  margin-bottom: 3rem; }
  @media only screen and (max-width: 640px) {
    #question .section-title {
      margin-bottom: 2rem; } }
#question .qa {
  max-width: 950px;
  margin: auto; }
  #question .qa .qa-list {
    margin: 0 0 50px 0;
    list-style: none; }
    @media only screen and (max-width: 640px) {
      #question .qa .qa-list {
        margin: 0 0 30px 0; } }
    #question .qa .qa-list .list-q {
      position: relative;
      padding: 25px 0;
      margin-left: 0; }
      #question .qa .qa-list .list-q::before {
        content: "";
        background-image: url(../images/question-logo.png);
        background-size: contain;
        background-repeat: no-repeat;
        width: 48px;
        height: 48px;
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        margin: auto; }
        @media only screen and (max-width: 640px) {
          #question .qa .qa-list .list-q::before {
            width: 40px;
            height: 40px; } }
      #question .qa .qa-list .list-q::after {
        content: "";
        width: 100%;
        height: 1px;
        background-color: #4d4d4d;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto; }
      #question .qa .qa-list .list-q .text {
        font-size: 18px;
        padding-left: 95px;
        margin-bottom: 0;
        line-height: 1; }
        @media only screen and (max-width: 960px) {
          #question .qa .qa-list .list-q .text {
            font-size: 16px; } }
        @media only screen and (max-width: 640px) {
          #question .qa .qa-list .list-q .text {
            font-size: 15px;
            padding-left: 65px; } }
        #question .qa .qa-list .list-q .text.emerald {
          color: #00998d; }
    #question .qa .qa-list .list-a {
      position: relative;
      margin: 25px 0; }
      #question .qa .qa-list .list-a::before {
        content: "";
        background-image: url(../images/answer-logo.png);
        background-size: contain;
        background-repeat: no-repeat;
        width: 48px;
        height: 48px;
        position: absolute;
        left: 0;
        top: 0; }
        @media only screen and (max-width: 640px) {
          #question .qa .qa-list .list-a::before {
            width: 40px;
            height: 40px; } }
      #question .qa .qa-list .list-a .text {
        padding-left: 95px; }
        @media only screen and (max-width: 640px) {
          #question .qa .qa-list .list-a .text {
            padding-left: 65px; } }
      #question .qa .qa-list .list-a .margin {
        margin: 0; }
    #question .qa .qa-list .arrow,
    #question .qa .qa-list .arrow_pc {
      position: relative; }
      #question .qa .qa-list .arrow::after,
      #question .qa .qa-list .arrow_pc::after {
        content: "";
        position: absolute;
        border-top: 1px solid #0085d0;
        border-right: 1px solid #0085d0;
        width: 10px;
        height: 10px;
        right: -10px;
        top: 0;
        bottom: 0;
        margin: auto;
        transform: rotate(45deg); }
        @media only screen and (max-width: 640px) {
          #question .qa .qa-list .arrow::after,
          #question .qa .qa-list .arrow_pc::after {
            width: 8px;
            height: 8px; } }
      #question .qa .qa-list .arrow:hover::after,
      #question .qa .qa-list .arrow_pc:hover::after {
        border-top: 1px solid #59c3e1;
        border-right: 1px solid #59c3e1; }
    @media only screen and (max-width: 640px) {
      #question .qa .qa-list .arrow_pc::after {
        display: none; } }
#question .link {
  font-size: 17px;
  color: #0085d0; }
  @media only screen and (max-width: 960px) {
    #question .link {
      font-size: 15px; } }
  @media only screen and (max-width: 640px) {
    #question .link {
      font-size: 14px; } }
  #question .link:hover {
    color: #59c3e1; }

/*note: INDEXの表示は、コメントの「 index: 」でハイライト表示してください。*/
#contact {
  max-width: 800px;
  margin: auto;
  width: 90%; }
  @media only screen and (max-width: 640px) {
    #contact {
      width: 100%; } }
  #contact #contents {
    padding: 0; }
  #contact .container {
    width: 100%; }
    @media only screen and (max-width: 640px) {
      #contact .container {
        width: 90%;
        margin: auto; } }
  #contact dl {
    display: flex;
    margin-bottom: 2rem; }
    @media only screen and (max-width: 640px) {
      #contact dl {
        flex-flow: column; } }
    #contact dl dt {
      width: 40%;
      color: #4d4d4d; }
      @media only screen and (max-width: 640px) {
        #contact dl dt {
          width: 100%; } }
      #contact dl dt .hissu {
        color: #bb1a38; }
      #contact dl dt .supplement {
        padding-left: 3em; }
        @media only screen and (max-width: 640px) {
          #contact dl dt .supplement {
            padding-left: 1em; } }
      #contact dl dt a:hover {
        color: #59c3e1; }
    #contact dl dd {
      width: 60%;
      padding-left: 5%; }
      @media only screen and (max-width: 640px) {
        #contact dl dd {
          width: 100%;
          padding: 0; } }
  #contact .consent {
    margin: 4rem 0; }
    @media only screen and (max-width: 640px) {
      #contact .consent {
        text-align: center;
        margin: 2rem 0; } }
    #contact .consent .contact-title {
      margin: 0 0 15px; }
  #contact .soushin {
    text-align: center; }
    #contact .soushin .wpcf7-submit:disabled {
      cursor: not-allowed; }
    #contact .soushin input[type="submit"] {
      -webkit-appearance: none;
      appearance: none;
      display: block;
      width: 216px;
      margin: auto;
      background-color: #0085d0;
      padding: 14px 0;
      text-align: center;
      border: 1px solid #0085d0;
      font-size: 20px;
      color: #fff;
      transition: 0.2s ease-in;
      cursor: pointer; }
  #contact .wpcf7-submit:disabled {
    background-color: transparent;
    border-color: #111111;
    color: #fff;
    opacity: 0.5; }
  #contact .naiyou .contact-title {
    margin: 0; }
  #contact .contact-title {
    margin: auto 0; }
  #contact textarea {
    resize: none;
    width: 100%;
    -webkit-appearance: none;
    appearance: none;
    padding: 10px;
    border-color: #c5c5c5;
    border-radius: 0; }
    @media only screen and (max-width: 640px) {
      #contact textarea {
        margin-top: 10px; } }
  #contact input[type="text" i],
  #contact input[type="email" i] {
    padding: 18.5px 10px;
    width: 100%;
    border-color: #c5c5c5;
    border-width: 1px;
    border-radius: 0;
    -webkit-appearance: none;
    appearance: none; }
    @media only screen and (max-width: 640px) {
      #contact input[type="text" i],
      #contact input[type="email" i] {
        margin-top: 10px; } }
  #contact input[type="checkbox" i] {
    cursor: pointer; }
  #contact #policy {
    border: 1px solid #e6e6e6;
    width: 100%;
    height: 400px;
    margin: auto;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    margin: 0 auto 2rem;
    padding: 1rem;
    word-break: break-all; }
    #contact #policy h2 {
      padding-left: 0; }
    #contact #policy h3 {
      color: #29bdd2;
      font-size: 1.2em;
      padding-bottom: .4rem;
      margin-top: 1.5rem;
      margin-bottom: .8rem; }
      @media only screen and (max-width: 640px) {
        #contact #policy h3 {
          padding-bottom: .4rem;
          margin-top: .4rem;
          margin-bottom: 0.4rem; } }
    #contact #policy p {
      margin-bottom: 1rem;
      word-break: break-all; }
      #contact #policy p span {
        font-weight: bold; }
    #contact #policy ul {
      padding-left: 1rem;
      text-indent: -1rem;
      margin-bottom: 1.8rem; }
    #contact #policy a {
      color: #0085d0; }
      #contact #policy a:hover {
        color: #59c3e1; }
  #contact .wpcf7-list-item span {
    cursor: pointer; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#header-search-box {
  width: 40%;
  align-items: center;
  justify-content: flex-end; }
  #header-search-box .text {
    font-size: 14px;
    width: 30%;
    max-width: 106px; }
  #header-search-box #___gcse_0 {
    width: 65%;
    max-width: 240px; }
  #header-search-box .gsc-search-box {
    padding: 0;
    margin: 0; }
    #header-search-box .gsc-search-box tr td {
      border: none;
      padding: 0; }
    #header-search-box .gsc-search-box #gs_id50 {
      padding: 0;
      margin: 0; }
    #header-search-box .gsc-search-box #gs_id51 {
      padding: 0;
      margin: 0; }
    #header-search-box .gsc-search-box #gs_st50,
    #header-search-box .gsc-search-box #gs_st51 {
      height: 21px; }
    #header-search-box .gsc-search-box #gsc-iw-id1 {
      padding: 6.5px 0 6.5px 5px;
      border-radius: 0; }
    #header-search-box .gsc-search-box #gsc-iw-id2 {
      padding: 6.5px 0 6.5px 5px;
      border-radius: 0; }
      @media only screen and (max-width: 960px) {
        #header-search-box .gsc-search-box #gsc-iw-id2 {
          padding: 5px 0 5px 5px; } }
      @media only screen and (max-width: 640px) {
        #header-search-box .gsc-search-box #gsc-iw-id2 {
          padding-top: 6px;
          padding-bottom: 6px; } }
    #header-search-box .gsc-search-box .gsc-search-button-v2 {
      margin: 0;
      border-radius: 0;
      padding: 15px 0;
      width: 45px;
      cursor: pointer; }
      @media only screen and (max-width: 960px) {
        #header-search-box .gsc-search-box .gsc-search-button-v2 {
          padding: 13.5px; } }
  #header-search-box input[type="text"] {
    color: #4d4d4d;
    padding: 6.5px 0 !important; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#page-search-box {
  padding-bottom: 2rem; }
  #page-search-box .text {
    font-size: 14px;
    width: 23%; }
  #page-search-box .gsc-input {
    width: 100%; }
  #page-search-box #gsc-iw-id3 {
    padding: 9px 0 9px 5px;
    border-radius: 0; }
    @media only screen and (max-width: 640px) {
      #page-search-box #gsc-iw-id3 {
        padding-top: 13.5px;
        padding-bottom: 13.5px; } }
  #page-search-box #gs_id51 {
    margin: 0;
    height: 32px; }
  #page-search-box .gsc-search-box {
    padding: 0;
    margin: 0; }
    #page-search-box .gsc-search-box tr td {
      border: none;
      padding: 0; }
    #page-search-box .gsc-search-box #gs_st52 {
      height: 21px; }
    #page-search-box .gsc-search-box #gs_id52 {
      padding: 0;
      margin: 0; }
    #page-search-box .gsc-search-box #gsc-iw-id1 {
      padding: 0; }
    #page-search-box .gsc-search-box .gsc-search-button-v2 {
      margin: 0;
      border-radius: 0;
      padding: 17.5px 0;
      width: 50px;
      cursor: pointer; }
      @media only screen and (max-width: 960px) {
        #page-search-box .gsc-search-box .gsc-search-button-v2 {
          padding: 16px 0; } }
  #page-search-box input[type="text"] {
    color: #4d4d4d; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.gsc-result-info-container,
.gsc-orderby-container {
  border: none; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: アーカイブページ専用外部ファイル読み込み */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: お知らせのアーカイブ*/
#post-archive {
  border-top: 1px dotted #000;
  margin: 3rem auto 6rem; }
  #post-archive article {
    width: 100%; }
    #post-archive article .meta {
      margin-right: 1rem;
      font-weight: 700; }
      @media only screen and (max-width: 640px) {
        #post-archive article .meta {
          margin-bottom: 5px; } }
    #post-archive article .title {
      font-weight: bold;
      margin-bottom: 0; }
      @media only screen and (max-width: 640px) {
        #post-archive article .title {
          width: 100%; } }
    #post-archive article > a {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-wrap: wrap;
      color: inherit;
      text-decoration: none;
      border-bottom: 1px dotted #000;
      padding: 1.5rem 0.5rem; }
      @media only screen and (max-width: 640px) {
        #post-archive article > a {
          padding: 1rem 0.5rem; } }
      #post-archive article > a:hover {
        color: #0085d0; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 投稿ページ専用外部ファイル読み込み */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: Google Fonts読み込み */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: サイトマップ */
#sitemap-head {
  position: relative; }
  @media only screen and (max-width: 960px) {
    #sitemap-head-wrapper {
      margin-top: 80px; } }
  #sitemap-head .bg-about {
    background-color: #299bd2;
    background: -moz-linear-gradient(left, #0085d0, #00c9ff 50%, #fff);
    background: -webkit-linear-gradient(left, #0085d0, #00c9ff 50%, #fff);
    background: linear-gradient(left, #0085d0, #00c9ff 50%, #fff); }
    #sitemap-head .bg-about .pos {
      height: 100%;
      width: 90%;
      padding: 88.5px 0px;
      max-width: 1100px;
      margin: auto;
      letter-spacing: 10px; }
      @media only screen and (max-width: 960px) {
        #sitemap-head .bg-about .pos {
          font-size: 28px;
          padding: 58px 0; } }
      @media only screen and (max-width: 960px) {
        #sitemap-head .bg-about .pos {
          font-size: 24px;
          padding: 48px 0; } }

.sitemap .wysiwyg h2 {
  font-size: 1.3em; }
  .sitemap .wysiwyg h2 a {
    color: #0085d0; }
    .sitemap .wysiwyg h2 a:hover {
      color: #59c3e1; }
.sitemap .sitemap-list > .page_item {
  list-style: none;
  margin-left: 0;
  margin-bottom: 10px; }
  .sitemap .sitemap-list > .page_item > a {
    background-color: #fff;
    border-left: 5px solid #0085d0;
    font-size: 1em;
    font-weight: bold;
    position: relative;
    padding: 0 1rem;
    margin: 1rem 0; }
    .sitemap .sitemap-list > .page_item > a:hover {
      color: #59c3e1; }
  .sitemap .sitemap-list > .page_item > .children {
    border-bottom: 1px dashed #000;
    display: inline; }
    .sitemap .sitemap-list > .page_item > .children > .page_item {
      list-style: none; }
      .sitemap .sitemap-list > .page_item > .children > .page_item > a {
        background-color: #ff7b9c;
        padding: 5px 10px; }
    .sitemap .sitemap-list > .page_item > .children a {
      color: #000;
      display: block;
      margin-bottom: 1rem; }
      .sitemap .sitemap-list > .page_item > .children a:hover {
        color: #0085d0; }
    .sitemap .sitemap-list > .page_item > .children > .page_item_has_children .children {
      display: inline; }
      .sitemap .sitemap-list > .page_item > .children > .page_item_has_children .children li {
        display: inline;
        margin: 0;
        padding: 0; }
      .sitemap .sitemap-list > .page_item > .children > .page_item_has_children .children a {
        display: inline-block;
        width: 49%;
        vertical-align: top; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 検索ボックス */
#search {
  position: absolute;
  top: 78px;
  width: 100%;
  text-align: center;
  z-index: -1;
  transition: opacity .25s, visibility 0s ease .25s;
  opacity: 0;
  visibility: hidden;
  padding: 0;
  background-color: #80b63f; }
  @media only screen and (max-width: 640px) {
    #search {
      top: 58px; } }
  #search.open {
    transition-delay: 0s;
    opacity: 1;
    visibility: visible;
    z-index: 99; }

.search-form {
  padding: 1.5em 0; }
  @media only screen and (max-width: 640px) {
    .search-form {
      padding: 1em 0; } }

.search-field {
  border: none;
  background-color: #ddd;
  border-radius: 0;
  background-image: url(../images/icon-search.svg);
  background-size: 16px 16px;
  background-position: 10px center;
  background-repeat: no-repeat;
  font-size: 1em;
  text-indent: 2em;
  display: block;
  max-width: 1000px;
  width: 90%;
  margin: 0 auto;
  padding: 10px; }
  @media only screen and (max-width: 640px) {
    .search-field {
      width: 95%; } }
  .search-field:focus {
    background-image: url(../images/icon-search.svg);
    background-size: 16px 16px;
    background-position: 10px center;
    background-repeat: no-repeat;
    padding-right: 10px; }

.search-submit {
  display: none; }

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 手書きアニメーション */
@media all and (-ms-high-contrast: none) {
  #message-animation {
    display: none; } }
#message-animation.svgall {
  position: absolute;
  width: 100%;
  max-width: 776px;
  bottom: 10pc;
  left: 6vw;
  z-index: 1; }
  @media only screen and (max-width: 960px) {
    #message-animation.svgall {
      width: 90%;
      bottom: 7pc;
      left: 1vw; } }
  @media only screen and (max-width: 640px) {
    #message-animation.svgall {
      width: 95%;
      top: 34vw;
      bottom: 0;
      left: 0;
      right: 0;
      margin: auto;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-flow: column; } }
#message-animation .mask-wrapper {
  display: block;
  width: 100%; }
  @media only screen and (max-width: 640px) {
    #message-animation .mask-wrapper {
      margin: auto; } }
#message-animation .mask {
  width: 100%;
  position: relative; }
#message-animation .cls-1,
#message-animation .cls-2,
#message-animation .cls-3,
#message-animation .cls-4 {
  fill: none;
  stroke: white;
  stroke-linecap: round; }
#message-animation .cls-1,
#message-animation .cls-2 {
  stroke-miterlimit: 10; }
#message-animation .cls-1 {
  stroke-width: 7px; }
#message-animation .cls-2,
#message-animation .cls-4 {
  stroke-width: 6px; }
#message-animation .cls-3,
#message-animation .cls-4 {
  stroke-linejoin: round; }
#message-animation .cls-3 {
  stroke-width: 5px; }
#message-animation .kv img {
  width: 100%; }

/*# sourceMappingURL=style.css.map */
