@charset "utf-8";

/* 固定 */
*, article, aside, canvas, details, figcaption, figure,
header, footer, hgroup, nav, section, summary {
  margin: 0;
  padding: 0;
}

/* 固定 */
html,body{ height:100%;}

/* 背景（一部適宜書き換え） */
body {
  line-height: 1.7;/* 固定 */
  color: #333333;/* 固定 */
  font-family: Arial, Roboto, "Droid Sans", "メイリオ", Meiryo, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 93%;
  background: linear-gradient(to bottom, rgba(13,29,49,1) 0%,rgba(5,171,224,1) 100%) fixed;
}


/* 画像全体（固定） */
img {
  border: 0;
  vertical-align: top;
  max-width: 100%;
}

/* 見出し（固定） */
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

/* リスト（固定） */
ol, ul, li {
  list-style-image: none;
  list-style-position: outside;
  list-style-type: none;
}

/* テーブル（固定） */
table {
  border-collapse: collapse;
}

/* HTML5, 5.1 で追加 */
article, aside, canvas, details, figcaption, figure, footer,
header, hgroup, main, menu, nav, picture, section, summary {
  display: block;
}

/* コンテンツ全体（適宜書き換え） */
#contents_all {
  width:100%;
  height:auto !important;
  height:100%;
  margin:0 auto;
  min-height:684px;
}

header{
  margin-right: auto;
}


/* コンテンツ（適宜書き換え） */
#contents {
  margin: 0 auto;
}

.container {
  width: 900px;
  margin: auto;
  padding: 30px;
  background-color: #FFFFFF;
  box-shadow: 0px 0px 10px 1px rgb(0 0 0 / 20%);
}
.container h1 {
  font-weight: bold;
  font-size: clamp(26px, 5vw, 32px);
  margin-bottom: clamp(20px, 4vw ,50px);
  line-height: 1.5;
  letter-spacing: 1px;
  display: block;
  text-align: center;
  box-sizing: border-box;
  padding: 5px 15px;
  box-shadow: 2px 3px 0px rgb(0 0 0 / 10%);
  background: #3f7895;
  color: #FFFFFF;
}

.subtitle {
  text-align: center;
  margin-bottom: 2em;
}



/* フッター */
footer {
  max-width: 960px;
  width: 100%;
  text-align: center;
  vertical-align: middle;
  font-size: 16px;
  margin: 0 auto;
  padding: 16px 30px;
  box-sizing: border-box;
  background-color: #1a1a1a;
  color: #FFFFFF;
}

/* サブページ内（適宜書き換え） */
#main {
  width: 100%;
  padding:0 25px 40px;
  position:relative;
  min-height:560px;
  box-sizing: border-box;
}

/* サブページ大見出し */

/* 一番最初にくる時はアキなしにする場合はここに書き足す */
#main h3:first-child, #main h4:first-child, #main h5:first-child, #main p:first-child, #main table tr td p:first-child, #main blockquote p:first-child {
	margin-top: 0;
}

/* 組み合わせでアキなしする場合はここに書き足す */
#main h3 + h4, #main h4 + h5, #main h3 + p ,#main h4 + p, #main h5 + p {
	margin-top:0;
}

/* サブページ中見出し（適宜書き換え） */
#main h4 {
  margin-bottom: 1em;
  padding: 0.25em 0;
  font-size: clamp(20px,4vw,24px);
  font-weight: bold;
  border-bottom: 4px solid #BBBBBB;
  position: relative;
}
#main h4::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 20%;
  height: 4px;
  content: '';
  background: #3f7895;
}

/* サブページ小見出し（適宜書き換え） */
#main h5 {
  font-size: 120%;
  margin: 1em 0 0.8em 0;
  padding:0.2em 0;
  font-weight: bold;
  border-bottom: 1px solid #999999;
  color: #92344a;
	position: relative;
}
#main h5::before {
	content: '';   
	width: 100%;  
	height: 1px;  
	border-bottom: solid 1px #999999; 
	position: absolute; 
	left: 0px;  
	bottom: -3px;  
}
#main h6 {
  font-size: 110%;
  margin: 1em 0 0.2em 0;
  padding:0.2em 0;
  font-weight: bold;
  color: #0066CC;
}

/* サブページ段落（固定） */
#main p {
  margin-top: 1em;
}

/* サブページリスト（基本は固定） */
#main ul {
  margin-left: 1em;
}
#main ul li {
  list-style: disc;
}
#main ol {
  margin-left: 1.5em;
}
#main ol li {
  list-style: decimal;
}

/* 準備中（固定） */
p.jyunbi {
  text-align: center;
  padding-top: 100px;
}

/* endai */

/* 別ページで開く------------------- */

/* 別ページで開くここまで------------------- */

/* kigyo */

/* accsess*/

/* リンク（固定） */
p.link {
	background:url(../images/icon_link.png) no-repeat left center;
	padding-left:15px;
	margin-bottom:0;
}
p.link a:link,p.link a:visited {
	color:#333333;
	text-decoration:none;
}
p.link a:hover,p.link a:active {
	color:#666666;
	text-decoration:underline;
}

/* 文章中のリンク（固定） */
a:link, a:visited {
  color: #0066CC;
  text-decoration: none;
}
a:hover, a:active {
  color: #0066CC;
  text-decoration: underline;
}


/* 外部リンク（固定） */
a.external {
  background: url(../images/external.png) no-repeat right center;
  padding-right: 20px;
}

/* テンプレート（適宜書き換え） */
table.hyou_aaa {
  width: 100%;
  margin-bottom: 1em;
}
table.hyou_aaa td {
  border: 1px solid #AAAAAA;
  background-color: #FFFFFF;
  padding: 0.5em;
  vertical-align: top;
  text-align: left;
}
table.hyou_aaa th {
	border: 1px solid #AAAAAA;
	background-color: #FFFFDE;
	padding: 0.5em;
	vertical-align: top;
	text-align: left;
	font-weight: normal;
	width: 20%;
}
table.hyou_aaa tr {
  padding: 0.5em;
  vertical-align: top;
  text-align: left;
}


/* table line_none */
table.non {
  border: none;
}
table.non td {
  text-align: left;
  vertical-align: top;
}
table.non th {
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
  font-weight: normal;
}

/* ※一字下げ */
.kome{
  padding-left:1em;
  text-indent:-1em;
}

/* text */
.mbm1 {margin-bottom:-1em;}
.mb1 {margin-bottom:1em;}
.mb2 {margin-bottom:2em;}
.mb3 {margin-bottom:3em;}
.mb03 {margin-bottom:0.3em;}
.mb05 {margin-bottom:0.5em;}
.mb15 {margin-bottom:1.5em;}

.pl05 {padding-left:0.5em;}
.pl1 {padding-left:1em;}

.ml1 {margin-left:1em;}

.f85 {font-size:85%;}
.f90 {font-size:90%;}
.f95 {font-size:95%;}
.f100 {font-size:100%;}
.f105 {font-size:105%;}
.f110 {font-size:110%;}
.f115 {font-size:115%;}
.f120 {font-size:120%;}
.f130 {font-size:130%;}
.f140 {font-size:140%;}

.uchikeshi {
   background:
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAABGdBTUEAAK/INwWK6QAAAANQTFRFAAAAp3o92gAAAApJREFUCB1jYAAAAAIAAc/INeUAAAAASUVORK5CYII=)
0 center repeat-x;
}
.uchikeshi.red {
   background:
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAABGdBTUEAAK/INwWK6QAAAANQTFRF/wAAGeIJNwAAAApJREFUCB1jYAAAAAIAAc/INeUAAAAASUVORK5CYII=
) 0 center repeat-x;
}
.underline {
  text-decoration:underline;
}
.red {color: #FF0000;
}
.blue {color: #1d2777;
}

/* 太字 */
.bold{
  font-style:normal;
  font-weight:bold;
}

.text_r{
  text-align:right;
}
.text_c{
  text-align:center;
}

.white_space {
  white-space: nowrap;
}

/* PCで非表示 */
.sp_only{display: none;}


.prevbtn_wrapper a {
  text-decoration: none;
  color: #FFFFFF;
  margin: 50px;
  box-shadow: 0px 0px 10px 1px rgb(0 0 0 / 20%);
}

.prevbtn {
  position: relative;
  display: inline-block;
  padding: 16px 32px;
  background: #333333;
  border: 2px solid #FFFFFF;
  border-radius: 4px;
  color: #FFFFFF;
  text-decoration: none;
  font-size: 18px;
  font-weight: bold;
  -webkit-transition: .8s;
  transition: .8s;
}
.prevbtn span {
  position: relative;
  z-index: 1;
}
.prevbtn::before,
.prevbtn::after {
  content: "";
  position: absolute;
  top: 0;
  display: block;
  width: 51%;
  height: 100%;
  -webkit-transition: .2s;
  transition: .2s;
  background: #00693e;
}
.prevbtn::before {
  left: 0;
}
.prevbtn::after {
  right: 0;
}
.prevbtn:hover::before,
.prevbtn:hover::after {
  width: 0;
  background: #00693e;
}
.prevbtn:hover {
  color: #ffffff;
}

a.btn {
  color: #fff;
  background-color: #0066CC;
  border-radius: 100vh;
  padding: 0.5em 2em;
  font-size: 120%;
  box-shadow: 0px 0px 10px 1px rgb(0 0 0 / 30%);
}
a.btn:hover {
  color: #fff;
  opacity: 0.8;
}


/*------------------------------------------*/
/* タブレット用 */
/*------------------------------------------*/
@media screen and (max-width:895px){
  
  .container {
    width: 93.75%;
    margin: auto;
    padding: 30px 3.125%;
  }
  .container h1 {
    font-size: 26px;
  }
    /* 下記は削除しない */
  }

/*------------------------------------------*/
/* スマホ用 767px */
/*------------------------------------------*/

@media screen and (max-width:767px){
  /* スマホで非表示 */
  .pc_only {
    display: none;
  }
  /* スマホで表示 */ 
  .sp_only {
    display: inline-block;
  }

  .subtitle {
    text-align: left;
    margin-bottom: 1em;
  }


    /* 下記は削除しない */
  }
