@charset "utf-8";

:root {
    /* ベース */
  --color-bg: #faf7f7;
  --color-text: #222;
  --color-text-muted: #888;

  /* ヘッダー */
  --color-header-bg:#faf7f7;

  /* タイトル系 */
  --color-heading: #111;
  --color-section-bg:#ffdbed;

  /* メインカラー */
  --color-primary: #03B8DF;
  --color-accent: #005BAC;
  --color-accent2: #f179a1;
  --color-accent3: #c6364e;
  --test: #002776;

  /* UI */
  --color-border: #ccc;
  --color-border-light: #e5e5e5;
  --color-textarea: #efefef;

  /* テーブル */
  /* --color-table-bg: #f7f7f7; */

  /* フッター */
  --color-footer-text: #555;
  --color-footer-title: #ccc;
  --color-footer-bg: #faf7f7;

  /* 汎用 */
  --color-white: #fff;
  --color-black: #000;
  
}



/*全体の設定
---------------------------------------------------------------------------*/
html,body {
	margin: 0;padding: 0;
	font-size: 13px;	/*基準となるフォントサイズ。下の方にある「画面幅900px以上」で基準を大きなサイズに再設定しています。*/
	overflow-x: hidden;
}

body {
	font-family: 'Lato', 'M PLUS 1 Code', "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;	/*フォント種類*/
	-webkit-text-size-adjust: none;
	letter-spacing: 0.05em;
	background: var(--color-white);	/*背景色*/
	color: #555;		/*全体の文字色*/
	line-height: 2;		/*行間*/
}

/*リセット*/
figure {margin: 0;}
dd {margin: 0;}
nav {margin: 0;padding: 0;}

/*table全般の設定*/
table {border-collapse:collapse;}

/*画像全般の設定*/
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}


/*iframeタグ*/
iframe {width: 100%;}

/*ul,olタグ*/
ul, ol {margin-bottom: 30px;}


/*リンクテキスト全般の設定
---------------------------------------------------------------------------*/
a {
	color: #57524b;	/*文字色*/
	transition: 0.3s;
}


/*sectionタグと、詳細ページの共通設定
---------------------------------------------------------------------------*/
section,
main > article {
	margin: 0 auto;
	padding: 5%;		/*ボックス内の余白*/
}


/*2カラムブロック（※900px未満では１カラム）
---------------------------------------------------------------------------*/
/*２カラムを囲むブロック*/
.c2 {
	display: flex;			/*flexボックスを使う指定*/
	flex-direction: column;	/*子要素を縦並びにする*/
}

/*c2内のh2見出し*/
.c2 h2 {
	font-size: 3em;
}

/*小さい端末で見た場合（１カラムになった際）に、画像を常に先頭に持ってくる*/
.c2 .image {
	order: -1;
}


/*header（ロゴなどが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	display: flex;					/*flexボックスを使う指定*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	align-items: center;			/*垂直揃えの指定。天地中央に配置されるように。*/
	background: var(--color-white);			/*背景色*/
	position: fixed; z-index: 10;	/*スクロールしても動かないようにする指定*/
	width: 100%;
	padding: 0 3%;					/*上下、左右へのヘッダー内の余白*/
	height: 80px;					/*ヘッダーの高さ。変更する場合、数行下にある#mainimgのtopの数値も合わせて変更して下さい。*/
}

/* 通常 */
header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: var(--color-white);
	position: fixed;
	z-index: 10;
	width: 100%;
	padding: 0 3%;
	height: 80px;

	transition: background 0.3s ease;
}

header.scrolled {
	background: rgba(255,255,255,0.85);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	border-bottom: 1px solid #E7E7E7;
}

/*ヘッダーのリンクテキストの文字色*/
header a {
	color: var(--color-accent);
}

/*ロゴ画像*/
header #logo img {
	display: block;
	margin: 0;
	width: 200px;	/*幅*/
}


/*トップページのメイン画像
---------------------------------------------------------------------------*/
/*全体を囲むブロック*/
#mainimg {
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 56.25%;
	position: relative;
	top: 80px;	/*headerのheightの数値と合わせて下さい。*/
	overflow: hidden;
	/* background: url(../images/mainimg.jpg) no-repeat center center / 100%;	背景色、背景画像の読み込み、最後の100%は画像幅。 */
	color: var(--color-white);	/*文字色*/
}
#mainimg .top-image,
#mainimg .top-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

#mainimg .top-image img {
    object-fit: cover;
    display: block;
	filter: brightness(80%);
}


/*テキストブロック*/
#mainimg #text {
	position: absolute;
	left: 3%;		/*mainimgに対して左からの配置場所指定*/
	top: 0px;		/*mainimgに対して上からの配置場所指定*/
	width: 100%;	/*幅*/
	height: 100%;	/*高さ*/
	display: flex;			/*flexボックスを使う指定*/
	align-items: center;	/*垂直揃えの指定。天地中央に配置されるように。*/
}

#mainimg #text > div {
	transform: translateY(-80px);
}

/*h2見出し*/
#mainimg #text h2 {
	margin: 20px 0px;
	font-weight: 500;	/*文字の太さ。数値が大きいほど太くなります。*/
	font-size: 3.8vw;	/*文字サイズ。画面幅に対する単位です。*/
	text-shadow: 1px 1px 2px rgba(0,0,0,0.5);	/*テキストの影。右へ、下へ、ぼかし幅。0,0,0は黒の事で0.3は色が30%出た状態。*/
}

/*pタグ。小文字の説明文。*/
#mainimg #text p.text {
	font-size: 23px;		/*文字サイズ*/
	margin: 0 10px 30px;	/*上、左右、下へのpタグ内の余白*/
	padding-left: 8px;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}


/*menubarブロック初期設定
---------------------------------------------------------------------------*/
#menubar ul {list-style: none;margin: 0;padding: 0;}

/*メニューを非表示にしておく*/
#menubar {display: none;}

/*開閉用のスタイル*/
#menubar.db {display: block;}
#menubar.dn {display: none;}

/*メニュー１個あたりの設定*/
#menubar a {
	display: block;text-decoration: none;
	text-align: center;		/*テキストを中央に*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くする指定*/
	padding: 10px;			/*メニュー内の余白*/
}


/*小さな端末用の設定（開閉ブロック）
---------------------------------------------------------------------------*/
/*メニューブロック設定*/
.s #menubar.db {
	position: fixed;overflow: auto;z-index: 100;
	left: 0px;top: 0px;
	width: 100%;
	height: 100dvh;
	padding: 70px 20px;	/*上下、左右へのブロック内の余白*/
	background: rgba(0,0,0,0.9);		/*背景色。0,0,0は黒の事で0.9は色が90%出た状態の事。*/
	animation: animation1 0.2s both;	/*animation.cssの、animation1を実行する。0.2sは0.2秒の事。*/
	text-align: center;	/*内容をセンタリング*/
	color: var(--color-white);		/*文字色*/
}
.s #menubar.db a {
	display: block;
	color: var(--color-white);	/*リンクテキストの文字色*/
}


/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*開閉用のスタイル*/
#menubar_hdr.db {display: flex;}
#menubar_hdr.dn {display: none;}

/*３本バーを囲むブロック*/
#menubar_hdr {
    position: fixed;
    z-index: 101;
    cursor: pointer;
    right: 5px;

    top: 40px; /* ヘッダー高さ80pxの半分 */
    transform: translateY(-50%);

    padding: 16px 14px;
    width: 46px;
    height: 46px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: rgba(0,0,0,0.5);
    border-radius: 50%;
}

/*バー１本あたりの設定*/
#menubar_hdr span {
	display: block;
	transition: 0.3s;	/*アニメーションにかける時間。0.3秒。*/
	border-top: 2px solid var(--color-white);	/*線の幅、線種、色*/
}

/*×印が出ている状態の設定。※１本目および２本目のバーの共通設定。*/
#menubar_hdr.ham span:nth-of-type(1),
#menubar_hdr.ham span:nth-of-type(3) {
	transform-origin: center center;	/*変形の起点。センターに。*/
	width: 20px;						/*バーの幅*/
}

/*×印が出ている状態の設定。※１本目のバー。*/
#menubar_hdr.ham span:nth-of-type(1){
	transform: rotate(45deg) translate(3.8px, 5px);	/*回転45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※３本目のバー。*/
#menubar_hdr.ham span:nth-of-type(3){
	transform: rotate(-45deg) translate(3.8px, -5px);	/*回転-45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※２本目のバー。*/
#menubar_hdr.ham span:nth-of-type(2){
	display: none;	/*２本目は使わないので非表示にする*/
}


/*mainブロック設定
---------------------------------------------------------------------------*/
/*mainブロック*/
main {
	padding-top: 50px;
}

/*mainブロック内のh2タグ*/
main h2 {
	margin: 0 0 1em;		/*上、左右、下へのタグの外にとるスペース*/
	line-height: 1.5;		/*行間を少し狭く*/
	font-size: 3em;			/*文字サイズ。3倍。*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.2em;	/*文字間隔を少しだけ広くとる設定*/
	color: var(--color-primary);			/*文字色*/
	font-family: 'Lato';	/*GoogleFontsの指定*/
	font-weight: 400;		/*文字の太さ*/
}

/*h2内のsupanタグ。小文字部分です。*/
main h2 span {
	display: block;
	font-weight: normal;
	color: #777;		/*文字色*/
	font-size: 13px;	/*文字サイズ*/
}

/*mainブロック内のh3タグ*/
main h3 {
	margin: 0 0 1em;		/*上、左右、下へのタグの外にとるスペース*/
	color: #002776;			/*文字色*/
}

/*mainブロックのpタグ*/
main p {
	margin: 0 20px 30px;	/*上、左右、下へ空けるスペース*/
}
main p + p {margin-top: -15px;}


/*アクセス設定
---------------------------------------------------------------------------*/

.map {
    max-width: 1000px;
	margin: 0 auto;
	line-height: normal;
	position: relative;
	z-index: 5;
}

.map iframe{
    height:450px;
    border:0;
}


.access-list {
  max-width: 600px;
  margin: 0 auto;
}

.access-item {
  display: flex;
  gap: 60px;
  margin-bottom: 28px;
}

.access-title {
  width: 90px;
  font-weight: bold;
  flex-shrink: 0;
  text-align: center;
}

.access-text {
  font-weight: bold;
  line-height: 1.7;
}

.access-text p {
  margin: 0 0 20px;
}

.access-text span {
  font-size: 20px;
  line-height: 1;
}


/*料金プラン
---------------------------------------------------------------------------*/
.price-wrap {
  /* max-width: 650px; */
  margin: 0 auto;
  width: 90%;
}

.price-table {
  border-collapse: collapse;
  padding: 0;
  width: 100%;
  table-layout: fixed;
}

.price-table tr {
  background-color: #e6f2f5;
  padding: .35em;
  border-bottom: 2px solid var(--color-white);
}

.price-table tbody tr:last-child {
	border: none;
}

.price-table th,
.price-table td {
  padding: 1em 10px 1em 1em;
  border-right: 2px solid var(--color-white);
}

.price-table th:last-child,
.price-table td:last-child {
  border:none;
}

.price-table th {
  font-size: 1.2em;
  text-align: center;
}
.price-table thead tr{
  background-color: #167F92;
  color:var(--color-white);
}
.price-table tbody th {
    background: #78bbc7;
    color: var(--color-white);
}
.txt{
   text-align: left;
   font-size: .85em;
}
.price{
  text-align: center;
  color: #167F92;
  font-weight: bold;
}
.non{
  background:var(--color-white)
}

.price-text {
	font-weight: 500;
}

@media screen and (max-width: 767px) {
	.price-table th {
	font-size: 0.8rem;
	}
}


/*利用方法
---------------------------------------------------------------------------*/

.howto-card {
    border: 1px solid #dbe6f5;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.howto-text {
	margin: 20px;
	font-size: 1.5em;
    font-weight: 600;
}


/*Googleカレンダー
---------------------------------------------------------------------------*/
.availability {
  margin-top: 50px;
  text-align: center;
}

.calendar-wrap {
  max-width: 900px;
  margin: 20px auto 0;
}

.calendar-wrap iframe {
  width: 100%;
  height: 600px;
  border: solid 1px #777;
}



/* 会社概要
------------------------------------------------------------*/
/* 外枠（白背景） */
.company-wrap {
  /* background: var(--color-white); */
  /* padding: 40px; */
  /* box-shadow: 0 0 10px rgba(0,0,0,0.05); ←ほんのり影 */
  max-width: 600px;
  margin: 40px auto;
}

/* テーブル本体 */
.company-table {
  width: 100%;
  border-collapse: collapse;
}

/* セル共通 */
.company-table th,
.company-table td {
  padding: 15px;
  border-bottom: 1px solid var(--color-border);
  text-align: left;
}

/* 左側（項目名） */
.company-table th {
  width: 30%;
  background: var(--color-table-bg);
  font-weight: 600;
}



/*フッター設定
---------------------------------------------------------------------------*/
footer small {font-size: 100%;}

footer {
	font-size: 0.7rem;		/*文字サイズ*/
	text-align: center;		/*内容をセンタリング*/
	padding: 20px;			/*ボックス内の余白*/
	background: var(--color-accent);		/*背景色*/
	color: var(--color-white);			/*文字色*/
}

/*リンクテキスト*/
footer a {text-decoration: none;color: var(--color-white);}

/*著作部分*/
footer .pr {display: block;}


/*フッターメニュー設定
---------------------------------------------------------------------------*/
/* フッターメニュー */
#footermenu {
    background: var(--color-accent);
    padding: 30px 20px;
    text-align: center;
}

/* 共通 */
#footermenu ul {
    margin: 0;
    padding: 0;
    list-style: none;

    display: flex;
    justify-content: center;
    flex-wrap: wrap;

    gap: 10px 30px;
}

/* 2段目 */
#footermenu .footer-policy {
    margin-top: 15px;
}

/* リンク */
#footermenu a {
    color: var(--color-white);
    text-decoration: none;
    transition: .2s;
}

#footermenu a:hover {
    color: var(--color-text-muted);
}

/*「お知らせ」ブロック
---------------------------------------------------------------------------*/
/*お知らせブロック*/
#news {
	padding-top: clamp(50px, 6vw, 90px);
}

#new {
	margin: 0;
	display: flex;		/*flexボックスを使う指定*/
	flex-wrap: wrap;	/*折り返す指定*/
	padding: 0 20px;	/*上下、左右へのボックス内の余白*/
}

/*日付(dt)、記事(dd)共通設定*/
#new dt,
#new dd {
	padding: 5px 0;		/*上下、左右へのボックス内の余白*/
	line-height: 2;
}

/*日付(dt)設定*/
#new dt {
	width: 8em;	/*幅。8文字(em)分。※下の「900px以上」の端末用の設定に再設定があります。*/
}

/*日付の横のマーク（共通設定）*/
#new dt span {
	display: none;	/*小さな端末では非表示にしておく。*/
}

/*記事(dd)設定*/
#new dd {
	width: calc(100% - 8em);	/*「8em」は上の「#new dt」のwidthの値です。※下の「900px以上」の端末用の設定に再設定があります。*/
}

/*「サービス」ブロック
---------------------------------------------------------------------------*/

.service-info {
  list-style: none;
  padding: 0;
  margin: 30px auto;
  width: fit-content;
}

.service-info li {
  margin-bottom: 10px;
  font-weight: 700;
}

.equipment {
  font-weight: 700;
  text-align: center;
}

.service-link {
  display: inline-block;
  margin-top: 20px;
  padding: 12px 28px;

  border: 2px solid var(--color-accent);
  color: var(--color-accent);
  text-decoration: none;

  border-radius: 30px;
  font-weight: bold;
  transition: .3s;
}

.service-link:hover {
  background: var(--color-accent);
  color: var(--color-white);
}

.service-btn {
    text-align: center;
    margin-top: 30px;
}


/*FAQ
---------------------------------------------------------------------------*/
/*FAQボックス全体*/
.faq {
	padding: 0 5px;	/*上下、左右へのボックス内の余白*/
}

/*質問*/
.faq dt {
	border-radius: 3px;		/*枠を角丸にする指定*/
	margin-bottom: 20px;	/*下に空けるスペース*/
	background: linear-gradient(var(--color-white), var(--color-header-bg));	/*背景グラデーション*/
	text-indent: -2em;				/*テキストのインデント。質問が複数行になった際に、テキストの冒頭を揃える為に設定しています。*/
	padding: 5px 1em 5px 3em;		/*ボックス内の余白。ここを変更する場合、上のtext-indentも調整します。*/
	border: 1px solid var(--color-border-light);		/*枠線の幅、線種、色*/
}

.faq dt .faq-icon {
  display: inline-block;
  width: 2em;
  text-indent: 0;
  text-align: center;
  margin-right: 0.4em;
  color: var(--color-accent);
}

/*回答*/
.faq dd {
	padding: 5px 1em 30px 3em;		/*ボックス内の余白**/
}

/*opencloseを適用した要素のカーソル*/
.openclose {
	cursor: pointer;	/*カーソルの形状。リンクと同じスタイルにしてクリックできると認識してもらう。*/
}

.faq dt span {text-indent: 0;}


/*btnの設定
---------------------------------------------------------------------------*/
a.btn1, a.btn2 {
	display: inline-block;text-decoration: none;
	letter-spacing: 0.1em;
	border-radius: 3px;
	padding: 5px 30px;
	font-size: 1.2em;
	box-shadow: 1px 2px 3px rgba(0,0,0,0.2);
}
a.btn1 {
	background: var(--color-accent2);
	color: var(--color-white);
}
a.btn2 {
	background: var(--color-primary);
	color: var(--color-white);
}
.radius {
	border-radius: 100px !important;
}
a.btn1 i, a.btn2 i {
	margin-left: 20px;
}
a:hover.btn1, a:hover.btn2 {
	transform: scale(1.03);
	filter: brightness(1.1);
}


/* お問い合わせページ
------------------------------------------------------------*/
.Form {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 80px;
  padding: 0 25px;
  max-width: 1200px;
  background: var(--color-white);
}

.Form .section-title {
  background: var(--color-white);
}

.Form-Row {
  padding-top: 24px;
  padding-bottom: 24px;
  border-top: 1px solid var(--color-border);
}

.Form-Row:last-of-type {
  border-bottom: 1px solid var(--color-border);
}

.Form-Item-Label {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 0;
  letter-spacing: 0.05em;
  font-weight: bold;
  font-size: 18px;
  color: var(--color-black);
}

.Form-Item-Label-Textarea {
  padding-top: 8px;
}

.Form-Item-Label-Required,
.Form-Item-Label-Optional {
  display: inline-block;
  width: 48px;
  text-align: center;
  border-radius: 6px;
  margin-right: 8px;
  padding: 6px 0;
  font-size: 12px;
  color: var(--color-white);
}

.Form-Item-Label-Required {
  background: var(--color-primary);
}

.Form-Item-Label-Optional {
  background: var(--color-text-muted);
}

.Form-Item-Input,
.Form-Item-Textarea {
  width: 100%;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-textarea);
  font-size: 18px;
  box-shadow: none;
}

.Form-Item-Input {
  height: 48px;
  padding-left: 1em;
  padding-right: 1em;
  max-width: 410px;
}

.Form-Item-Textarea {
  height: 216px;
  padding: 1em;
  /* max-width: 410px; */
  resize: vertical;
}

.Form-Item-Input:focus,
.Form-Item-Textarea:focus {
  background: var(--color-border);
  border-color: var(--color-border);
  box-shadow: none;
}

.Form-Btn {
  display: inline-block;
  margin-top: 32px;
  margin-left: auto;
  margin-right: auto;
  width: 280px;
  padding: 20px 0;
  border: none;
  border-radius: 6px;
  background: var(--color-primary);
  color: var(--color-white);
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.05em;
  transition: 0.3s;
}

.Form-Btn:hover {
  opacity: 0.9;
}

@media screen and (max-width: 767.98px) {
  .Form {
    margin-top: 40px;
  }

  .Form-Row {
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .Form-Row > div:first-child {
    margin-bottom: 12px;
  }

  .Form-Item-Label {
    font-size: 15px;
  }

  .Form-Item-Label-Textarea {
    padding-top: 0;
  }

  .Form-Item-Label-Required {
    width: 36px;
    margin-right: 8px;
    padding: 5px 0;
    border-radius: 4px;
    font-size: 10px;
  }

  .Form-Item-Input,
  .Form-Item-Textarea {
    max-width: 100%;
    font-size: 16px;
  }

  .Form-Item-Input {
    height: 40px;
  }

  .Form-Item-Textarea {
    height: 200px;
  }

  .Form-Btn {
    width: 160px;
    margin-top: 24px;
    padding: 8px 0;
    font-size: 16px;
  }
}


/* プライバシーポリシー------------------------------------------------------------*/
.policy-inner {
  max-width: 1300px;
  margin: 0 auto;
  padding: 80px 60px 90px;
}

.policy-lead {
  margin-bottom: 70px;
  font-size: 18px;
  line-height: 2.1;
  text-align: left;
}

.policy-block {
    margin-bottom: 65px;
    text-align: left;
}

.policy-block h3 {
  margin: 0 0 30px;
  border-left: 5px solid var(--border-left-color);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-text);
}

.policy-block p {
  margin: 0 0 20px;
  font-size: 18px;
  line-height: 2.1;
  text-align: left;
}

.policy-block ol {
  margin: 20px 0 0 1.5em;
  padding: 0;
}

.policy-block li {
  margin-bottom: 10px;
  font-size: 18px;
  line-height: 2.1;
}

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

	.policy-inner {
		margin-top: 20px;
		padding: 20px 20px;
	}

	.policy-inner h2 {
		margin: 0;
		padding: 15px;
		font-size: 30px;
	}

	.policy-lead {
		margin: 10px 0px 30px;
		font-size: 16px;
		line-height: 2;
	}

	.policy-block h3 {
		margin-bottom: 20px;
		padding-left: 14px;
		font-size: 22px;
		line-height: 1.5;
	}

	.policy-block p,
	.policy-block li {
		font-size: 16px;
		line-height: 2;
	}
}


/* 利用規約------------------------------------------------------------*/
.term-inner {
  max-width: 1300px;
  margin-top: 20px;
  padding: 20px 20px;
  margin: 0 auto;
}

.term-lead {
  margin-bottom: 70px;
  font-size: 18px;
  line-height: 1.8;
  text-align: left;
}

.term-block {
    margin-bottom: 65px;
    text-align: left;
}

.term-block h3 {
  margin: 0 0 20px;
  border-left: 5px solid var(--border-left-color);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-text);
}

.term-block p {
  margin: 0 0 20px;
  font-size: 18px;
  line-height: 1.5;
  text-align: left;
}


/*背景色パターン
---------------------------------------------------------------------------*/
.bg1 {
	background: #eee;
}
.bg2 {
	background: #bbe0e8;
}
.bg3 {
	background-image: linear-gradient(229deg, rgba(248, 248, 248, 0.04) 0%,
	 rgba(248, 248, 248, 0.04) 54%,rgba(112, 112, 112, 0.04) 54%,
	 rgba(112, 112, 112, 0.04) 100%),linear-gradient(239deg, rgba(252, 252, 252, 0.04) 0%,
     rgba(252, 252, 252, 0.04) 66%,rgba(111, 111, 111, 0.04) 66%,
	 rgba(111, 111, 111, 0.04) 100%),linear-gradient(141deg, rgba(40, 40, 40, 0.04) 0%,
	 rgba(40, 40, 40, 0.04) 44%,rgba(168, 168, 168, 0.04) 44%,
	 rgba(168, 168, 168, 0.04) 100%),linear-gradient(287deg, rgba(40, 40, 40, 0.04) 0%,
	 rgba(40, 40, 40, 0.04) 78%,rgba(141, 141, 141, 0.04) 78%,
	 rgba(141, 141, 141, 0.04) 100%),linear-gradient(90deg, rgb(224, 234, 241),rgb(219, 239, 229));
}

/* .bg3 h2 {
	color: #555;
} */

.section-pattern{
    position: relative;
    overflow: hidden;
    background:linear-gradient(90deg,#dfeef7,#def6e9);
}

.section-pattern::before{
    content:"";
    position:absolute;

    width:300px;
    height:300px;

    top:100px;
    left:100px;

    background:rgba(0,91,172,.03);

    transform:rotate(45deg);

    box-shadow:
		1050px -950px 0 rgba(0,91,172,.03),
        300px 250px 0 rgba(0,91,172,.03);

	z-index: 0;
	pointer-events: none;
}

.section-pattern::after{
    content:"";
    position:absolute;

    width:150px;
    height:150px;

	top:100px;
    right:100px;

    background:rgba(0,91,172,.03);

    transform:
        rotate(45deg);
        /* translate(0,0); */

    box-shadow:
        -900px 1250px 0 rgba(0,91,172,.03),
        250px 350px 0 rgba(0,91,172,.03);

	z-index: 0;
	pointer-events: none;
}





/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
.pagetop-show {display: block;}

/*ボタンの設定*/
.pagetop a {
	display: block;text-decoration: none;text-align: center;z-index: 9;
	position: fixed;	/*スクロールに追従しない(固定で表示)為の設定*/
	right: 20px;		/*右からの配置場所指定*/
	bottom: 20px;		/*下からの配置場所指定*/
	color: var(--color-white);		/*文字色*/
	font-size: 1.5em;	/*文字サイズ*/
	background: rgba(0,0,0,0.2);	/*背景色。0,0,0は黒の事で0.2は色が20%出た状態。*/
	width: 60px;		/*幅*/
	line-height: 60px;	/*高さ*/
	border-radius: 50%;	/*円形にする*/
}


/*その他
---------------------------------------------------------------------------*/
.clearfix::after {content: "";display: block;clear: both;}
.c {text-align: center !important;}
.small {font-size: 0.6em; letter-spacing: normal !important;}
.large {font-size: 1.8em !important;}
.block {display: block !important;}
.sh {display: block;}
.pc {display: none;}
.hidden {position: absolute; top: -9999px; left: -9999px;}



/*---------------------------------------------------------------------------
ここから下は画面幅400px以下の追加指定
---------------------------------------------------------------------------*/
@media (max-width:400px) {


/*btnの設定
---------------------------------------------------------------------------*/
a.btn1, a.btn2 {
	padding: 0px 15px;
}
a.btn1 i, a.btn2 i {
	margin-left: 10px;
}


/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/

}



/*---------------------------------------------------------------------------
ここから下は画面幅900px以上の追加指定
---------------------------------------------------------------------------*/
@media (min-width:900px) {


/*全体の設定
---------------------------------------------------------------------------*/
html, body {
	font-size: 15px;	/*基準となるフォントサイズの上書き*/
}


/*2カラムブロック
---------------------------------------------------------------------------*/
/*２カラムを囲むブロック*/
.c2 {
	flex-direction: row;			/*子要素を横並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	align-items: center;			/*垂直揃えの指定。天地中央に配置されるように。*/
	
	margin-left: -6%;
	margin-right: -6%;
}
/*画像ブロック*/
.c2 .image {
	width: 50%;
}

/*テキストブロック*/
.c2 .text {
	width: 50%;
	max-width: 600px;
  margin: 0 auto;
}

.c2 p {
  font-size: 16px;
}

/*最初(左)に配置*/
.c2 .l {
	order: -1;
}

/*画像を右側に配置する場合の設定*/
.c2 .image.r {
	overflow: hidden;
	/*margin-right: -6%;	画像を画面枠ギリギリまで移動する*/
	border-radius: 100px 0px 0px 100px;	/*角を丸くする指定。左上、右上、右下、左下への順番。*/
}

/*画像を左側に配置する場合の設定*/
.c2 .image.l {
	overflow: hidden;
	/*margin-left: -6%;	画像を画面枠ギリギリまで移動する*/
	border-radius: 0px 100px 100px 0px;	/*角を丸くする指定。左上、右上、右下、左下への順番。*/
}


.c2 .image figure {
  margin: 0;
}

.c2 .image img {
  display: block;
  width: 100%;
  height: auto;
}


/*トップページのメイン画像
---------------------------------------------------------------------------*/
/*テキストブロック*/
#mainimg #text {
	width: 50%;		/*幅*/
}


/*menubarブロック設定
---------------------------------------------------------------------------*/
/*メニューブロックの設定*/
#menubar {
	font-weight: 500;
}
#menubar ul {
	display: flex;	/*flexボックスを使う指定*/
}

/*メニュー１個あたりの設定*/
#menubar a {
	padding: 10px 15px;	/*上下、左右への余白*/
}


/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*ハンバーガーメニューを非表示にする*/
#menubar_hdr {display: none;}


/*「お知らせ」ブロック
---------------------------------------------------------------------------*/
/*日付(dt)設定*/
#new dt {
	width: 14em;	/*幅。14文字(em)分。*/
	display: flex;	/*flexボックスを使う指定*/
	justify-content: space-between;	/*日付とアイコンをそれぞれ端に寄せる*/
}

/*日付の横のマーク（共通設定）*/
#new dt span {
	display: inline-block;	/*表示させる*/
	width: 6em;				/*幅。6文字(em)分。*/
	background: var(--color-text-muted);		/*背景色*/
	color: var(--color-white);			/*文字色*/
	font-size: 0.8em;		/*文字サイズを80%に。*/
	text-align: center;		/*文字をセンタリング*/
	margin-right: 1em;		/*アイコンの右側に空けるスペース*/
	align-self: flex-start;	/*高さを間延びさせない指定*/
	line-height: 1.8;		/*行間を少し狭く*/
	position: relative;top: 0.4em;	/*上下の配置バランスの微調整*/
}

/*bg1設定。「サービス」と書いてあるマーク*/
#new dt span.icon-bg1 {
	background: #002776;	/*背景色*/
}

/*記事(dd)設定*/
#new dd {
	width: calc(100% - 14em);	/*「14em」は上の「#new dt」のwidthの値です。*/
}


/*フッターメニュー設定
---------------------------------------------------------------------------*/
/*ボックス全体の設定*/
#footermenu {
	font-size: 0.8em;	/*文字サイズ*/
	padding: 20px 50px;	/*上下、左右へのボックス内の余白*/
}




/*その他
---------------------------------------------------------------------------*/
.ws {width: 48%;display: inline;}
.sh {display: none;}
.pc {display: inline-block;}


/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/

}




/* =========================
   1280px以下
========================= */
@media (max-width: 1280px){

	#mainimg #text h2 {
		font-size: 60px;
	}
}


/* =========================
   767px以下
========================= */
@media (max-width: 767px){

	#mainimg {
		height: 60vh;       /* 画面高さの60% */
		background: none;
	}

	.top-image {
		width: 100%;
		height: 100%;
		clip-path: none;
	}

    #text {
        width: 100%;
        /* justify-content: center; */
        /* text-align: center; */
    }

	#mainimg #text h2 {
		font-size: 2rem;
	}

	#mainimg #text > div {
		transform: translateY(40px);
	}
}




