﻿@charset "utf-8"; /*文字コード指定*/

/* ----- css reset(各ブラウザで指定されているスタイルを初期化)と全体設定 ----- */

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, input, textarea, p, th, td, img {
	margin: 0; /*ボックス外側の余白(値1つは上下左右をまとめて指定)*/
	padding: 0; /*ボックス内側の余白(値1つは上下左右をまとめて指定)*/
	border: 0; /*境界線指定*/
}

body {
	background-color: #ffffff; /*背景色設定*/
	line-height: 2;	/*行の高さ指定(数値のみの場合はfont-sizeの倍数)*/
	font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro"; /*フォントの種類指定(左から優先順位)*/
	font-size: 70%; /* フォントサイズ指定(%はブラウザに設定した標準文字サイズ(通常16px)に対する値)*/
	color: #000000; /*文字色指定*/

}

ol, ul {
	margin: 10px;
}

a { /*リンクの文字設定(マウスをのせる前)*/
	color: #0000FF; /*文字色指定*/
	text-decoration: none; /*テキストの装飾指定(下線、上線など)(noneはなし)*/
}

a:hover { /*リンクの文字設定(マウスをのせた時)*/
	color: #C74B15; /*文字色指定*/
	text-decoration: underline; /*テキストの装飾指定(下線、上線など)(underlineは下線を引く)*/
}

.color1 {
	color: #d92727; /*文字色指定*/
}

/* ----- ヘッダー(ページの一番上の部分) ----- */

#header {
	position: relative; /*ボックスの配置方法(relativeは相対位置配置)*/
	height: 80px; /*領域の高さ指定*/
	width: 900px; /*幅指定*/
	margin: 10px auto; /*ボックス外側の余白(値2つは左から上下,左右の値)*/
}

/* ----- ロゴ ----- */

#logo {
	position: absolute; /*ボックスの配置方法(absoluteは絶対位置配置)*/
	left: 0; /*左からの距離(positionで指定している場合に適用)*/
	top: 10px; /*上からの距離(positionで指定している場合に適用)*/
	line-height: 30px; /*行の高さ指定*/
	font-family: 'IM Fell Great Primer SC', serif; /*Webフォントの種類指定*/
	font-size: 2.5em; /* フォントサイズ指定(emはフォントの高さを１とした相対指定)*/
	text-align: center; /*行の水平方向の揃え方(centerは中央揃え)*/
}

#logo a {
	color: #555; /*文字色指定*/
}

#logo a:hover {
	text-decoration: none; /*テキストの装飾指定(下線、上線など)(noneはなし)*/
}

/* ----- ナビゲーションメニュー(ヘッダー内のメインメニュー) ----- */

#menu {
	position: absolute; /*ボックスの配置方法(absoluteは絶対位置配置)*/
	left: 250px; /*左からの距離(positionで指定している場合に適用)*/
	top: 20px; /*上からの距離(positionで指定している場合に適用)*/
	text-align: center; /*行の水平方向の揃え方(centerは中央揃え)*/
}

#menu a {
	color: #555; /*文字色指定*/
	font-family: 'IM Fell Great Primer SC', serif; /*Webフォントの種類指定*/
	font-size: 1.8em; /*フォントサイズ指定(emはフォントの高さを１とした相対指定)*/
	text-transform: capitalize; /*フォントの大文字小文字指定(capitalizeは先頭文字を大文字)*/
	text-decoration: none; /*テキストの装飾指定(下線、上線など)(noneはなし)*/
	margin-right: 30px; /*ボックス外側右の余白*/
}

#menu a:hover, #menu a.active {
	color: #b22222; /*文字色指定*/
}

/* ----- 区切り線（グラデーション設定） ----- */

hr.style-one {
	border: 0; /*境界線指定*/
	height: 1px; /*領域の高さ指定*/
	background: #999; /*背景に関する指定をまとめて行う*/
	background-image: -webkit-linear-gradient(left, #eee, #999, #eee); /*背景画像指定*/
	background-image:    -moz-linear-gradient(left, #eee, #999, #eee); /*背景画像指定*/
	background-image:     -ms-linear-gradient(left, #eee, #999, #eee); /*背景画像指定*/
	background-image:      -o-linear-gradient(left, #eee, #999, #eee); /*背景画像指定*/
}

/* ----- h1

h1 {
	margin-bottom: 50px; /*ボックス外側下の余白
	color: #777; /*文字色指定
	font-weight: normal; /*フォントの太さ指定(normalは標準)
	font-size: 2.2em; /*フォントサイズ指定(emはフォントの高さを１とした相対指定)
	text-align: center; /*行の水平方向の揃え方(centerは中央揃え)
}----- */

/*------タイトルデザイン01--------*/
.heading-1 {
	font-size: 2em;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #72a6cb;
    font-family: serif;
}

.heading-1::before,
.heading-1::after {
    width: 3px;
    height: 40px;
    background-color: #72a6cb;
    content: '';
}

.heading-1::before {
    transform: rotate(-35deg);
    margin-right: 30px;
}

.heading-1::after {
    transform: rotate(35deg);
    margin-left: 30px;
}

/*------タイトルデザイン02--------*/

.heading-2 {
	font-size: 3em;
	/* display: flex; */
    justify-content: center;
    align-items: center;
    font-family: serif;
}

/*------タイトルデザイン02--------*/

.heading-3 {
	line-height: 1;
	/* display: flex; */
    justify-content: center;
    align-items: center;
    color: #a9a9a9;
    padding:0;
    font-family: serif;
}


/*------テキストボックス--------*/
.box-01 {
    max-width: 1000px;
    margin: 0 auto;
    padding: .5em 1.5em 1em;
    border-top: 5px solid #2589d0;
    border-radius: 3px;
    background-color: #f0f8ff;
}

.box-01 > div {
    margin-bottom: .5em;
    color: #2589d0;
    font-weight: 600;
    font-size: 1.5em;
}

.box-01 > p {
    margin: 0;
    color: #333;
    font-size: 1.4em;
    line-height:normal;
}

.box-text {
	margin-top: 0;
	margin-bottom: 1rem;
}







/*------吹き出し見出し--------*/

.heading-4 {
    position: relative;
    padding: .5em .7em .4em;
    border-bottom: 3px solid #2f3370;
    color: #fff;
    text-align: left;
    background-color: #2f3370;
}

.heading-4:nth-of-type(even):before,
.heading-4:nth-of-type(even):after {
    position: absolute;
    left: 140px;
    bottom: -15px;
    width: 30px;
    height: 15px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}

.heading-4:nth-of-type(odd):before,
.heading-4:nth-of-type(odd):after {
    position: absolute;
    left: calc(100% - 140px - 30px);
    bottom: -15px;
    width: 30px;
    height: 15px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}

.heading-4::before {
    background-color: #2f3370;
}

.heading-4::after {
    bottom: -11px;
    background-color: #2f3370;
}

/*------コンテナ--------*/
.flex-item{
	display: flex;
	justify-content: space-between;
}
/* 最後の要素以外に余白を追加 */
.flex-item:not(:last-child){
	margin-bottom: 50px;
}
/* 反対バージョンを作る場合はoddをevenに変更する */
.flex-item:nth-child(odd){
	/* flex-direction: row-reverse; */
}

/* 画像 */
.flex-item__img {
	width: 100%;
	align-items: center;
	padding-right: 10px;
}
.flex-item__img img {
	width: auto;
	height: 200px;
	object-fit: cover;
}

/*-----コメントタイトル--------*/
.coment-title{
	color:#999;
}





 /* テキスト */
.flex-item__txt { 
	/* width: 58%; */

}

.name-p{
	padding: 0 20px;
	text-align: right;
  font-size: 15px;
}


.text-p {
	padding: 10px 20px 10px 20px;
	font-size: 1rem;
	text-align: left;
}

.flex-item__txt h2 {
	font-size: 18px;
	padding: 10px 0;
}
.flex-item__txt p {
	line-height: 1.5;
}
 /* レスポンシブ */
 @media screen and (max-width: 767px) {
.flex-item{
	flex-direction: column;
	align-items: center;
}

.flex-item:nth-child(odd) {
	flex-direction: column;
}

.flex-item__img {
	width: 100%;
	height: 250px;
	padding-bottom: 30px;
}

.flex-item__txt {
	width: 100%;
}
}




/*------フレックボックス--------*/

.column-wrapper {
  width: 100%;
  display: flex;
}

:nth-of-type(even) {
flex-direction: row-reverse;
}

.column1, .column2 {
  width: 50%;
  display: flex;
  align-items: center;
  text-align:left;
}

.column1 {
  background: #fff;
  padding: 30px;
  box-sizing: border-box;
}

.column-wrapper:nth-of-type(2n) .column1:nth-of-type(1){
  background: #f;
}

.column1title {
  font-size: 25px;
}

.column1txt {
  font-size: 15px;
  line-height: normal;
}

.column2 img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

@media screen and ( max-width:500px )
{
  .column-wrapper {
    flex-direction: column-reverse;
  }
  
  .column1, .column2 {
  width: 100%;
}

  .column1 {
  padding: 25px;
} 
}




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

#container { /*container(入れ物、容器)の中に各要素(ボックス)を配置*/
	width: 1100px; /*幅指定*/
	margin: 0 auto; /*ボックス外側の余白(値2つは左から上下,左右の値(左右autoで中央配置))*/
}

#content {
	margin: 50px 0; /*ボックス外側の余白(値2つは左から上下,左右の値)*/
	text-align: center; /*行の水平方向の揃え方(centerは中央揃え)*/
}

@media screen and (max-width: 1100px) {
  #container {
    width: 100%;
  }
}

/* ----- フッター(ページの一番下の部分) ----- */
/* ====== FOOTER -------------======*/


.footer {
  padding: 2rem;
  font-size: 15px;
   color: #fff;
  background: #2f3370;

}

.footer__navi-heading {
  font-weight: 600;
}

.footer__logo {
  display: inline-block;
  margin: 10px 20px 10px 20px;
}



.navi-list {
  color: #FFF;
}

.footer__navi li {
  margin-bottom: 0.75rem;
}

.footer__address {
  text-align: inherit;
  margin: 10px 50px 10px 10px;
  font-style: normal;
}

.footer__address a {
  text-decoration: underline;
}

.copyright {
  text-align: center;
  margin-bottom: 0;
  font-size: 10px;
}

@media (min-width: 768px) {
  .md-flex {
    display: flex;
  }

  .md-justify-between {
    justify-content: center;
  }

  .grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  
  .footer__address a {
    text-decoration: none;
    pointer-events: none;
  }
}

@media (min-width: 1024px) {
  .lg-flex {
    display: flex;
  }
}


.navi-list {
  color: #FFF;
}

.footer__navi li {
  margin-bottom: 0.75rem;
}

.footer__address {
  text-align: inherit;
  font-style: normal;
}

.footer__address a {
  text-decoration: underline;
}






#footer {
	height: 50px; /*領域の高さ指定*/
	width: 100%; /*幅指定(100%は画面横幅いっぱいに表示)*/
}

#footer p {
	margin-top: 10px; /*ボックス外側上の余白*/
	text-align: center; /*行の水平方向の揃え方(centerは中央揃え)*/
	font-size: 0.75em; /*フォントサイズ指定(emはフォントの高さを１とした相対指定)*/
	color: #000000; /*文字色指定*/
}

/* ----- コンテンツ ----- */

#content h2 {
	font-size: 2em; /*フォントサイズ指定(emはフォントの高さを１とした相対指定)*/
	font-weight: normal; /*フォントの太さ指定(normalは標準)*/
	/*margin: 10px 0;  ボックス外側の余白(値2つは左から上下,左右の値)*/
}

#content ul {
	margin-bottom: 20px; /*ボックス外側下の余白*/
}

#content ul li {
	padding: 10px 0; /*ボックス内側の余白(値2つは左から上下,左右の値)*/
	font-size: 1.2em; /*フォントサイズ指定(emはフォントの高さを１とした相対指定)*/
}

#content a:hover img {
	border: solid 1px #c9171e; /*境界線の一括指定(solidは1本線,線の太さ,線の色)*/
}


/* ----- まとめ ----- */
.box-019 {
    position: relative;
    margin-top: 1em;
    padding: 1.8em 1.5em 1em 1.5em;
    border: 2px solid #2589d0;
    font-size: 13.5px;
}

.box-019 > div {
    position: absolute;
    top: -1.85em;
    left: -.4em;
    padding: .4rem 1.2rem;
    border-radius: 25px;
    background-color: #2589d0;
    color: #fff;
    font-size: 20px;
}

.box-019 > div::before {
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 16px;
    height: 8px;
    background-color: #2589d0;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}

.box-019 p {
    margin: 0;
}








/* ----- テーブル設定 ----- */

.ta {
	width: 500px; /*幅指定*/
	margin: 0 auto; /*ボックス外側の余白(値2つは左から上下,左右の値(左右autoで中央配置))*/
	margin-bottom: 50px; /*ボックス外側下の余白*/
	border-collapse: collapse; /*境界線の表示指定(collapseは重ねて表示)*/
}

.ta th, td {
	border: none; /*境界線の一括指定(noneはなし)*/
	padding: 0 0 10px 10px; /*ボックス内側の余白(値4つは左から上,右,下,左の値)*/
	font-size: 1.2em; /*フォントサイズ指定(emはフォントの高さを１とした相対指定)*/
	font-weight: normal; /*フォントの太さ指定(normalは標準)*/
	text-align: center; /*行の水平方向の揃え方(centerは中央揃え)*/
}
