@charset "utf-8";
@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=Cinzel:wght@400;500;600;700;800;900&display=swap');
/*====================================
	General
====================================*/
body {
  color: #333;
  font-family: 'Noto Sans JP', sans-serif, "メイリオ", Meiryo, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  position: relative;
}

h1, .h1 {
	font-size: 1.8rem;
	font-weight: 700;
}

h2, .h2 {
	font-size: 1.5rem;
	font-weight: 700;
}

h3, .h3 {
	font-size: 1.3rem;
	font-weight: 700;
}

h4, .h4 {
	font-size: 1.2rem;
  font-weight: 700;
}


/* costom header */

a {
	color: #333;
	outline: none;
}

a:hover {
	color: #c81411;
  text-decoration: none;
  transition: 0.2s;
}

section {
  padding: 0;
  position: relative;
}

section {
	padding: 40px 0;
}

section.sub-section {
	padding-top: 20px;
}

section.sub-section:not(:last-child) {
	padding-bottom: 20px;
}

@media (min-width: 650px) {
section {
	padding: 80px 0;
}
}

img {
  display: block;
  margin: auto;
  max-width: 100%;
}

figure {
  margin: 0 0 10px 0;
	position: relative;
}

figure img {
  display: block;
  margin: auto;
  max-width: 100%;
}

figcaption {
  font-size: 0.8125rem;
  text-align: center;
  margin: 0 0 15px 0;
}

ul {
  padding-left: 0;
	list-style: none;
}

ul li, ol li {
  line-height: 1.7;
}

ul.ul-disc li {
  list-style: disc!important;
}

p {
  word-break: break-word;
	line-height: 1.7;
}

label {
	margin: 0;
}

/* util */
.lead {
	font-size: 1.125rem;
	font-weight: 400;
}

.visuallyhidden {
	position: absolute;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(0px 0px 99.9% 99.9%);
	clip-path: inset(0px 0px 99.9% 99.9%);
	overflow: hidden;
	height: 1px;
	width: 1px;
	padding: 0;
	border: 0;
}

.letter-spacing-0 {
	letter-spacing: 0;
}

.bg-gray {
	background: #eee;
}

.mt-0 {
	margin-top: 0px!important;
}

.mt-5 {
	margin-top: 5px!important;
}

.mt-10 {
	margin-top: 10px!important;
}

.mt-15 {
	margin-top: 15px!important;
}

.mt-20 {
	margin-top: 20px!important;
}

.mt-25 {
	margin-top: 25px!important;
}

.mt-30 {
	margin-top: 30px!important;
}

.mt-35 {
	margin-top: 35px!important;
}

.mt-40 {
	margin-top: 40px!important;
}

.mt-45 {
	margin-top: 45px!important;
}

.mt-50 {
	margin-top: 50px!important;
}

.mt-55 {
	margin-top: 55px!important;
}

.mt-60 {
	margin-top: 60px!important;
}

.mt-65 {
	margin-top: 65px!important;
}

.mt-70 {
	margin-top: 70px!important;
}

.mt-75 {
	margin-top: 75px!important;
}

.mt-80 {
	margin-top: 80px!important;
}

.mb-0 {
	margin-bottom: 0px!important;
}

.mb-5 {
	margin-bottom: 5px!important;
}

.mb-10 {
	margin-bottom: 10px!important;
}

.mb-15 {
	margin-bottom: 15px!important;
}

.mb-20 {
	margin-bottom: 20px!important;
}

.mb-25 {
	margin-bottom: 25px!important;
}

.mb-30 {
	margin-bottom: 30px!important;
}

.mb-35 {
	margin-bottom: 35px!important;
}

.mb-40 {
	margin-bottom: 40px!important;
}

.mb-45 {
	margin-bottom: 45px!important;
}

.mb-50 {
	margin-bottom: 50px!important;
}

.mb-55 {
	margin-bottom: 55px!important;
}

.mb-60 {
	margin-bottom: 60px!important;
}

.mb-65 {
	margin-bottom: 65px!important;
}

.mb-70 {
	margin-bottom: 70px!important;
}

.mb-75 {
	margin-bottom: 75px!important;
}

.mb-80 {
	margin-bottom: 80px!important;
}

.mb-90 {
	margin-bottom: 90px!important;
}

.mb-100 {
	margin-bottom: 100px!important;
}

.pt-0 {
	padding-top: 0px!important
}

.pt-10 {
	padding-top: 10px!important
}

.pt-20 {
	padding-top: 20px!important
}

.pt-30 {
	padding-top: 30px!important
}

.pt-40 {
	padding-top: 40px!important
}

.pt-50 {
	padding-top: 50px!important
}

.pt-60 {
	padding-top: 60px!important
}

.pt-70 {
	padding-top: 70px!important
}

.pt-80 {
	padding-top: 80px!important
}

.pt-90 {
	padding-top: 90px!important
}

.pt-100 {
	padding-top: 100px!important
}

.pb-0 {
	padding-bottom: 0px!important
}

.pb-10 {
	padding-bottom: 10px!important
}

.pb-20 {
	padding-bottom: 20px!important
}

.pb-30 {
	padding-bottom: 30px!important
}

.pb-40 {
	padding-bottom: 40px!important
}

.pb-50 {
	padding-bottom: 50px!important
}

.pb-60 {
	padding-bottom: 60px!important
}

.pb-70 {
	padding-bottom: 70px!important
}

.pb-80 {
	padding-bottom: 80px!important
}

.pb-90 {
	padding-bottom: 90px!important
}

.pb-100 {
	padding-top: 100px!important
}

.align-Center {
  display: flex!important;
  align-items: center!important;
}

/*====================================
  rayout
====================================*/
.content {
	padding-top: 91px;
}

@media (min-width: 900px) {
.content {
	padding-top: 114px;
}
}

@media (min-width: 576px) {
.container {
	max-width: 100%;
}
}


.page-column {
	padding-top: 0;
}

.separation {
	margin-bottom: 15px;
}
/* -- 2column rayout -- side-nav*/
.col-content-side .btn {
	width: 50px;
	height: 50px;
	margin: 0;
}

.col-content-side .btn-link {
	border-radius: 0;
	border: none;
	outline: none;
	box-shadow: none;
	background-color: #fff;
}

.col-content-side .btn-link:focus {
	outline: none !important;
}

.col-content-side .btn-link:focus {
	box-shadow:none !important;
}

/* category-list-nav */
.category-list-nav {
	margin-bottom: 30px;
}

@media (max-width: 767px){
.category-list-nav {
	margin: 30px 0 30px 0;
}
}

.category-list-nav .panel-heading {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #e70012;
	width: 100%;
	padding: 12px 10px;
}

.category-list-nav .panel-heading a {
	color: #fff;
	font-size: 1.125rem;
}

.category-list-nav .panel-heading a:hover {
	color: #ccc;
}

/* + button */
.col-content-side .btn-link .switching {
	position: relative;
	right: 0;
	width: 16px;
	height: 16px;
}

.col-content-side .btn-link .switching:before, .col-content-side .btn-link .switching:after {
	position: absolute;
	top: 7px;
	right: 0;
	content: '';
	display: inline-block;
	width: 16px;
	height: 1px;
	border-top: 2px solid #999;
	border-bottom: none;
	transition: 0.5s;
}

.col-content-side .btn-link .switching:after {
	border-right: 0;
	border-left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	transform: rotate(90deg);
}

.col-content-side button.btn-link[aria-expanded="true"] .switching::after {
	opacity: 0;
	transition: 0.5s;
}

.btn-category {
	display: flex;
	background: #efefef;
	margin: 1px 0;
	padding: 0;
	align-items: center;
	position: relative;
}

.btn-category a {
	color: #333;
	font-size: 1rem;
	font-weight: 400;
	padding: 13px 0 13px 30px;
	width: 100%;
}

.btn-category a:hover {
  color: #c81411;
  text-decoration: underline;
}

.btn-category.active a {
	color: #e70012;
	font-weight: 500;
}

.nav-item {
  margin-bottom: 0;
}

.nav-item ul {
	padding: 0;
}

.nav-item > ul > li {
	background: #e6effc;
	margin: 1px 0;
	padding: 0;
	position: relative;
}

.nav-item > ul > li:first-child {
	margin-top: 0;
}

.nav-item > ul > li > a {
	color: #333;
	display: block;
	font-size: 1rem;
	position: relative;
	padding: 13px 35px 13px 40px;
}

.nav-item > ul > li.current a {
	color: #003b99;
	font-weight: 500;
}

.nav-item > ul > li::after,
.level-end::after {
	content: "";
	position: absolute;
	top: 0;
	right: 22px;
	bottom: 0;
	margin: auto;
	width: 8px;
	height: 8px;
	border-top: 2px solid #e70012;
	border-right: 2px solid #e70012;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* category-list-info */
.category-list-info {
	background: #eee;
	margin-bottom: 30px;
}

.category-list-info ul {
	padding: 30px;
	margin: 0;
	list-style: none;
}
.category-list-info ul li {
	position: relative;
	margin-left: 18px;
	line-height: 2;
}
.category-list-info ul li::before {
	content: "";
	position: absolute;
	top: 0;
	left: -18px;
	bottom: 0;
	margin: auto;
	width: 8px;
	height: 8px;
	border-top: 1px solid #999;
	border-right: 1px solid #999;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.category-list-info ul li a {
	color: #333;
	font-size: 0.875rem;
}

.category-list-info ul li a.current {
    color: #003b99;
    font-weight: 500;
}






@media (min-width: 992px) {
.row.row-70 {
  margin-left: -35px;
  margin-right: -35px
}
.row.row-70 > [class*='col-'] {
  padding-right: 35px;
  padding-left: 35px
}
.row.row-60 {
  margin-left: -30px;
  margin-right: -30px
}
.row.row-60 > [class*='col-'] {
  padding-right: 30px;
  padding-left: 30px
}
.row.row-50 {
  margin-left: -25px;
  margin-right: -25px
}
.row.row-50 > [class*='col-'] {
  padding-right: 25px;
  padding-left: 25px
}
.row.row-40 {
  margin-left: -20px;
  margin-right: -20px
}
.row.row-40 > [class*='col-'] {
  padding-right: 20px;
  padding-left: 20px
}
.row.row-20 {
  margin-left: -10px;
  margin-right: -10px
}
.row.row-20 > [class*='col-'] {
  padding-right: 10px;
  padding-left: 10px
}
}

/* custom break point */
@media (min-width: 650px) {
.col-md-1 {
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-md-2 {
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-md-3 {
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-md-4 {
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-md-5 {
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-md-6 {
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-md-7 {
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-md-8 {
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-md-9 {
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-md-10 {
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-md-11 {
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
}

@media (min-width: 992px) {
.col-lg-3 {
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-lg-4 {
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
}

/* custom container-xl */
@media (min-width: 1200px) {
.container {
	max-width: 1230px;
}
.container-xl {
	max-width: 100%;
}
}
@media (min-width: 1650px) {
.container-xl {
	max-width: 1630px;
}
}

/*====================================
  rayout - unit
====================================*/
/* title */
section[id$="section-title"] {
	padding: 0;
}

/* .h1 */
.h1-border {
  display: block;
  position: relative;
  text-align: center;
}

.h1-border:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -10px;
  display: inline-block;
  width: 60px;
  height: 2px;
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%);
  background-color: #c81411;  
}

.article h1 {
  font-size: 1.8rem;
}

/* Cinzel */
.cinzel {
  text-align: center;
}

.cinzel .section-title-en {
	color: #c81411;
	font-family: 'Cinzel';
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: 0;
}

.cinzel .section-title-en .s-char {
	font-size: 80%;
}

.cinzel .section-title-ja {
	color: #333;
	font-size: 1rem;
	font-weight: 400;
	margin-top: 5px;
}

/* h3 */
h3 {
	border-bottom: 1px solid #c81411;
}

/* h4 */
h4:before {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  background: #a40000;
  border-radius: 50%;
  vertical-align: middle;
  margin-right: 15px;
  position: relative;
  top: -2px;
}

/* p */
.p-title {
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 10px;
}

@media (min-width: 992px) {
.h2 .section-title-en {
	font-size: 2.5rem;
}

.h2 .section-title-ja {
	font-size: 1rem;
}
}

/* unit-full-img-story */
.unit-full-img-story {
	margin: 30px 0;
}

.unit-full-img-story li {
	margin: 0;
}

.unit-full-img-story .img-panel {
	height: 100%;
	background: #eee;
	min-height: 380px;
	object-fit: cover;
}

.unit-full-img-story .img-panel img {
	width: 100%;
	object-fit: cover;
	height: 100%;
}

.unit-full-img-story .col-text-left,
.unit-full-img-story .col-text-right {
	background: /*#f5f3d6*/ #fff;
}

.unit-full-img-story .story-panel {
	padding: 15px;
	margin-bottom: 10px;
}

.unit-full-img-story .story-panel .title {
	font-size: 1.5rem;
	font-weight: 700;
	margin-bottom: 10px;
	text-align: left;
}
.unit-full-img-story .story-panel p {
	margin-bottom: 0;
}

@media (min-width: 992px) {
.unit-full-img-story .col-text-left .col-text-left-box {
	float: right;
}

.unit-full-img-story .story-panel {
	padding: 60px;
}

.unit-full-img-story .story-panel .title {
	font-size: 2.25rem;
	margin-bottom: 15px;
}

.unit-full-img-story .story-panel p {
	margin-bottom: 25px;
}
}

@media (min-width: 1499px) {
.unit-full-img-story .story-panel {
	width: 750px;
	padding: 60px 60px;
}	
}

/* unit-img-story */
.unit-img-story {
	margin: 30px 0;
}

.unit-img-story .img-panel,
.unit-img-story .story-panel {
	margin-bottom: 15px;
}

.unit-img-story .story-panel .title {
	text-align: left;
	margin-bottom: 10px
}

.unit-img-story .title {
	font-size: 1.5rem;
	font-weight: 700;
}

.unit-img-story .title-small {
	font-size: 1.125rem;
	font-weight: 700;
}

@media (min-width: 992px) {
.unit-img-story .title {
	font-size: 2.25rem;
}

.unit-img-story .title-small {
	font-size: 1.25rem;
}
}

/* unit-frame */
.unit-frame {
	border: 1px solid #ccc;
	height: 100%;
	padding: 30px;
}

.unit-frame.red {
	border: 1px solid #c81411;
}

/* unit-tab */
.unit-tab {
	/*background: #eee;*/
	padding: 60px 0;
}

.unit-tab-label {
  padding: 0;
  list-style:none;
  margin: 0;
	border-bottom: 0;
}

.unit-tab-label li {
  margin: 0;
}

.unit-tab-label li a{
  background:#fff;
  margin: 0;
	font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  display: block;
  padding: 5px 0;
  position: relative;
  z-index: 1;
  transition: 0s;
	height: 100%;
	border-bottom: 3px solid #fff;
}

.unit-tab-label li a span {
	display: block;
	padding: 0 10px;
}

.unit-tab-label li:not(:last-child) a span {
	border-right: 1px solid #ccc;
}

.unit-tab-label li a:hover{
  color: #a40000;
  background: #fff;
  transition: 0s;
  text-decoration: none;
}

.unit-tab-label li.active a{
  background: #fff;
	color: #333;
	border-bottom: 3px solid #c81411;
}

.unit-tab-content-item {
  display: none;
  opacity: 0;
  background: #fff;
  padding: 30px 0;
}

.unit-tab-content-item.is-active {
  display: block;
  opacity: 1;
}

.unit-tab-content-label {
	font-size: 1.25rem;
	font-weight: 700;
	text-align: left;
	margin-bottom: 15px;
}

/* unit-accordion */
.unit-accordion li {
	/*border-top: 1px solid #ccc;*/
}

.unit-accordion li:last-child {
	/*border-bottom: 1px solid #ccc;*/
}

.unit-accordion li:not(:last-child){
	margin-bottom: 10px;
}

.unit-accordion-label {
	background: #c81411;
	color: #fff;
	cursor: pointer;
	font-size: 1.125rem;
	position: relative;
	margin: 0;
  padding: 10px 13% 10px 25px;
}

.unit-accordion-content {
	display: none;
	background: #eee;
	/*margin-bottom: 25px;*/
	padding: 25px 30px;
}

.unit-accordion-icon-wrap {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translatey(-50%);
  width: 24px;
  height: 24px;
  background: #fff;
	border-radius: 50%;
}

.unit-accordion-icon {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
}

.unit-accordion-icon:before,
.unit-accordion-icon:after {
  position: absolute;
  content: "";
  display: block;
  transition: all 0.4s;
  background: #c81411;
  left: 50%;
  top: 50%;
  width: 50%;
  height: 2px;
  transform: translate(-50%, -50%);
}

.unit-accordion-icon:before {
  transform: translate(-50%, -50%) rotate(90deg);
}

.unit-accordion-icon.open:before {
  transform: translate(-50%, -50%) rotate(0deg);
}

/*====================================
  parts
====================================*/
/* icon link */
.ext-link,
.file-link,
.pdf-link,
.text-link,
.text-link2 {
	position: relative;
	line-height: 1.3;
}

.text-link2 li {
  line-height: 1.3;
}

.ext-link:hover,
.file-link:hover,
.pdf-link:hover,
.text-link:hover,
.text-link2:hover {
	text-decoration: underline;
}

a.text-link {
	margin-left: 15px;
  display: inline-block;
}

.text-link:before {
	background: none;
	border: 0px;
	border-right: solid 2px #a40000;
	border-top: solid 2px #a40000;
	content: "";
	height: 8px;
	width: 8px;
	left: -15px;
	position: absolute;
	top: 3px;
	bottom: 0;
	margin: auto;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.ext-link:after {
	content: "";
	display: inline-block;
	height: 12px;
	width: 13px;
	background: url(/common/img/icon_ext.png) no-repeat;
	position: relative;
	vertical-align: middle;
	margin-left: 7px;
	top: -2px;
}

.file-link:after {
	content: "";
	display: inline-block;
	height: 12px;
	width: 9px;
	background: url(/common/img/icon_file.png) no-repeat;
	position: relative;
	vertical-align: middle;
	margin-left: 7px;
	top: -2px;
}

.pdf-link:after {
	content: "";
	display: inline-block;
	height: 12px;
	width: 12px;
	background: url(/common/img/icon_pdf.png) no-repeat;
	position: relative;
	vertical-align: middle;
	margin-left: 7px;
	top: -2px;
}

.text-link2 > li {
  padding-left: 15px;
  position: relative;
}

.text-link2 > li:before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  border-right: solid 2px #a40000;
  border-top: solid 2px #a40000;
  height: 8px;
  width: 8px;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* btn special 340px for top page */
@media (min-width: 650px) {
.btn-special {
	min-width: 340px;
}
}

/* custom btn */
.btn-link {
	margin: 30px 0 0 0;
  /*max-width: 280px;*/
}

.btn-link:hover {
	color: inherit;
	text-decoration: none;
}

.custom-btn:not([href]) {
	color: #fff;
	text-decoration: none;
	cursor: pointer;
}

.custom-btn {
	background: #c81411;
	color: #fff!important;
	margin: 0;
	font-size: 1.125rem;
	font-weight: 500;
	text-align: center;
	display: block;
  padding: 8px 15px;
	border: 2px solid #c81411;
	position: relative;
	z-index: 1;
	transition: 0.2s;
	border-radius: 30px;
}

.custom-btn.btn-large {
  padding: 13px 15px;
}

.custom-btn:hover{
  color: #c81411!important;
	background: #fff;
	border: 2px solid #c81411;
	opacity: 0.9;
  transition: 0.2s;
	text-decoration: none;
}

.btn-gray {
	background: #999;
	color: #fff;
	border: 2px solid #999;
}

.btn-gray:hover {
  color: #333;
	background: #fff;
	border: 2px solid #999;
}

.btn-gray:hover:after {
	border-top: 2px solid #999;
}

.custom-btn .arrow,
.btn-red .arrow,
.btn-gray .arrow {
	display: inline-block;
	position: relative;
}

.custom-btn .arrow::after,
.btn-red .arrow::after,
.btn-gray .arrow::after {
	border-right: solid 2px #fff;
	border-top: solid 2px #fff;
	content: "";
	height: 6px;
	width: 6px;
	position: absolute;
	right: -13px;
	top: 0;
	bottom: 0;
	margin: auto;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.custom-btn:hover .arrow::after,
.btn-red:hover .arrow::after {
	border-right: solid 2px #c81411;
	border-top: solid 2px #c81411;
}

.btn-gray:hover .arrow::after {
	border-right: solid 2px #333;
	border-top: solid 2px #333;
}
/* custom icon ext */
.custom-btn .ext-link::after {
	background: url(/common/img/icon_ext_w.png) no-repeat;
}

.custom-btn:hover .ext-link::after {
	background: url(/common/img/icon_ext.png) no-repeat;
}

.custom-btn .ext-link:hover {
    text-decoration: none;
}

/* custom btn button element */
button.custom-btn[disabled] {
  cursor: default!important;
	background: #999;
	color: #fff;
	border: 2px solid #999;
}

button.custom-btn {
	width: 100%;
}

button.custom-btn[disabled]:hover {
	background: #888;
	color: #fff!important;
	border: 2px solid #999;
}

button.custom-btn[disabled]:hover .arrow::after {
	border-right: solid 2px #fff;
	border-top: solid 2px #fff;
}

/* img-hover */
.img-hover-zoom{
	cursor: pointer;
  height: 100%;
  overflow: hidden;
}

.img-hover-zoom figure {
  overflow: hidden;
}

.img-hover-zoom img {
  transition: transform 0.2s;
}

.img-hover-zoom:hover img {
  transform: scale(1.1);
}

/** list **/
.circle-list > li {
	padding-left: 21px;
	position: relative;
}

.circle-list > li::before {
	content: '';
	width: 10px;
	height: 10px;
	background: #c81411;
	border-radius: 50%;
	position: absolute;
	top: 8px;
	left: 0;
}

.disc-list > li {
	padding-left: 15px;
	position: relative;
}

.disc-list > li::before {
	content: '';
	width: 4px;
	height: 4px;
	background: #333;
	border-radius: 50%;
	position: absolute;
	top: 12px;
	left: 0;
}

.annotation-list > li {
  list-style: none;
  counter-increment: cnt;
  text-indent:-2.6em;
  padding:0;
}

.annotation-list > li::before {
	content: "※" counter(cnt) ;
  margin-right: 1rem;
}

.annotation-list-nonum {
  padding-left: 0;
}

.annotation-list-nonum > li {
  padding-left: 21px;
  position: relative;
}

.annotation-list-nonum > li::before {
	content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

/** anchor **/
.anchor-link {
	display: flex;
	flex-wrap: wrap; /* 折返し指定 */
	gap: 20px 20px; /* 余白 */
}

.anchor-link li {
	min-width: inherit;
	width: 100%;
	display: flex;
  flex-direction: column;
}

.anchor-link li a {
	border-radius: 10px;
	background: #eee;
	font-weight: 700;
	padding: 15px 45px 15px 15px ;
	height: 100%;
	display: flex;
	align-items: center;
	position: relative;
	transition: 0.2s;
}

.anchor-link li a:hover {
	background: #ddd;
}

.anchor-link li a::after {
	background: none;
	border: 0px;
	border-right: solid 2px #c81411;
	border-top: solid 2px #c81411;
	content: "";
	height: 10px;
	width: 10px;
	left: inherit;
	position: absolute;
	right: 18px;
	top: calc( 50% -5px );
	-ms-transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}

@media screen and (min-width: 768px) {
.anchor-link li {
	min-width: 224px;
	width: auto;
}
}
/*====================================
  navi
====================================*/
.navbar {
  box-shadow: 1px 1px 5px #ddd;
	background: #fff;
	padding: 10px 0;
}

#navbar-content {
	position: relative;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0 15px;
}

#navbar-top {
	width: 55%;
}

#navbar-top-right {
	display: none;
}

#navbar-top-right > div {
	display: inherit;
}

#navbar-sns a {
	margin-right: 15px;
}

#navbar-sns img {
	width: 31px;
	height: 31px;
}

#navbar-search {
	margin-right: 20px;
}

#navbar-language {
	font-size: 0.875rem;
	display: flex;
  margin-left: 5px;
}

.navbar-language-jp,
.navbar-language-en {
	padding: 11px;
	background: #999;
	color: #fff!important;
  border: 1px solid #fff;
	font-weight: 700;
}

.navbar-language-jp {
	background: #c81411;
  color: #fff!important;
}

.navbar-language-jp:hover {
  color: #c81411!important;
  background: #fff;
  border: 1px solid #c81411;
  text-decoration: none!important;
}

.navbar-language-en {
	background: #999;
  color: #fff!important;
}

.navbar-language-en:hover {
  color: #999!important;
  background: #fff;
  border: 1px solid #999;
  text-decoration: none!important;
}

.navbar-nav li.nav-item > a.nav-link {
	padding: 15px 25px;
}

a.nav-link .ext {
	position: relative;
}

a.nav-link .ext::after {
	content: "";
	height: 12px;
	width: 13px;
	background: url(/common/img/icon_ext_sw.png) no-repeat;
	position: absolute;
	top: 5px;
	right: -20px;
}

@media (min-width: 900px) {
.navbar {
	display: block;
	height: auto;
	padding: 15px 0;
}

#navbar-top {
	display: flex;
	width: 100%;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
}

#navbar-top-right {
	display: flex;
	flex-flow: wrap;
	align-items: center;
}

.navbar-nav > li {
	line-height: 18px;
}

.navbar-nav > li:not(:last-child){
	border-right:1px solid #ccc;
}

.navbar-nav li.nav-item > a.nav-link {
	padding: 0 8px;
}

a.nav-link .ext::after {
	background: url(/common/img/icon_ext_s.png) no-repeat;
	top: -5px;
	right: -10px;
}
}

@media (min-width: 900px) {
.navbar-expand-lg .navbar-toggler {
	display: none;
}

.navbar-expand-lg .navbar-collapse {
	display: -ms-flexbox!important;
	display: flex!important;
	-ms-flex-preferred-size: auto;
	flex-basis: auto;
}

.navbar-expand-lg .navbar-nav {
	-ms-flex-direction: row;
	flex-direction: row;
	height: auto;
}
}

@media (min-width: 1200px) {
.navbar-nav li.nav-item > a.nav-link {
	padding: 0 19px;	
}

.navbar-nav > li:last-child > a.nav-link {
	padding-right: 0;
}

a.nav-link .ext::after {
	top: 0px;
	right: -15px;
}
}

.navbar-brand {
	position: relative;
	top: 10px;
	left: 10px;
	z-index: 1;
	min-height: 65px;
  width: 200px;
}


/* ハンバーガー */
.navbar-light .navbar-toggler {
	border-color: rgba(0, 0, 0, 0);
	outline: none;
	position: relative;
}

.navbar-light .navbar-toggler-icon {
	background-image: none;
}

.navbar-toggler-icon {
	position: relative;
	width: 40px;
	height: 40px;
	background: none;
	appearance: none;
	cursor: pointer;
}

.navbar-toggler-icon span {
	display: inline-block;
	transition: all 0.4s;
	box-sizing: border-box;
}

.navbar-toggler-icon span {
	position: absolute;
	left: 5px;
	width: 80%;
	height: 4px;
	background-color: #c81411;
	border-radius: 1px;
}

.navbar-toggler-icon span:nth-of-type(1) {
	top: 8px;
}

.navbar-toggler-icon span:nth-of-type(2) {
	top: 20px;
}

.navbar-toggler-icon span:nth-of-type(3) {
	top: 32px;
	width: 50%;
}

.navbar-toggler[aria-expanded='true']  span.navbar-toggler-icon span:nth-of-type(1) {
	transform: translateY(12px) rotate(-315deg);
}

.navbar-toggler[aria-expanded='true']  span.navbar-toggler-icon span:nth-of-type(2) {
	opacity: 0;
}

.navbar-toggler[aria-expanded='true']  span.navbar-toggler-icon span:nth-of-type(3) {
	transform: translateY(-12px) rotate(315deg);
	width: 80%;
}

.navbar-toggler-text {
	color: #c81411;
	font-size: 0.75rem;
	position: absolute;
	bottom: -5px;
	left: 0;
	right: 0;
}

/* condition open */
#navbarCollapse {
	background: #c81411;
	color: #fff;
	font-weight: 700;
	position: relative;
	left: -15px;
	margin-right: -30px;
	top: 8px;
	overflow-y: auto;
	/*height: 100vh;*/
	border-top: 1px solid #ddd;
}

.navbar-nav {
	height: 100vh;
	padding-bottom: 500px;
	overflow: auto;
	z-index: 100;
}

@media (min-width: 900px) {
.navbar-nav {
	padding-bottom: 0;
	overflow: visible;
}
}

#navbarCollapse .navbar-nav a {
	color: #fff;
}

.nav-item, .dropdown-item {
	border-bottom: 1px solid #a50805;
}

.nav-item a.nav-link {
	position: relative;
}

.nav-item a.nav-link::after {
	background: none;
	border: 0px;
	border-right: solid 2px #fff;
	border-top: solid 2px #fff;
	content: "";
	height: 10px;
	left: inherit;
	position: absolute;
	right: 45px;
	top: 17px;
	top: 50%;
	margin-top: -5px;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 10px;
	opacity: 1;
}

@media (min-width: 900px) {
#navbarCollapse {
	background: #fff;
	position: relative;
	left: 0;
	margin-right: 0;
	top: 0;
	border-bottom: 1px solid #fff;
	overflow-y: inherit;
	height: auto;
	border: none;
}
.nav-item, .dropdown-item {
	border-bottom: none;
}
#navbarCollapse .navbar-nav a {
	color: #333;
}
#navbarCollapse .navbar-nav .active a {
	color: #c81411;
}
#navbarCollapse .navbar-nav .active a span {
	border-bottom: 3px solid #c81411;
	padding-bottom: 5px;
}
#navbarCollapse .navbar-nav a:hover {
	color: #c81411;
	}
.nav-item a.nav-link::after {
	content: none;
	text-indent: -5px;
}
}

/* nav search form */
.sp-navbar-info {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	padding: 10px;
}

#sp-navbar-sns {
	display: flex;
}
#sp-navbar-sns a {
	margin-right: 3px;
	display: inline-flex;
	flex-wrap:nowrap;
}

@media (min-width: 500px) {
#sp-navbar-sns a {
	margin-right: 10px;
}
}
/*#sp-navbar-sns img {
	width: 25%;
}*/

#sp-navbar-search .search-container input[type="text"] {
	height: 100%;
	border: none;
	font-size: 0.875rem;
	padding: 8px 15px;
	width: 150px; 
	background: #eee;
}

#sp-navbar-search .search-container input[type="submit"] {
	cursor: pointer;
	border: none;
	position: absolute;
	width: 40px;
	height: 120%;
	right: 0px;
	top: -4px;
	outline: none;
	background: #c81411 url(/common/img/icon_search_w.png) no-repeat 10px center;
}

@media (min-width: 900px) {
.sp-navbar-info {
	display: none;
}
}

.search-container {
	position: relative;
	box-sizing: border-box;
	border: 1px solid #fff;
	border-radius: 35px;
	width: 100%;
	overflow: hidden;
}

.search-container input[type="text"] {
	height: 100%;
	border: none;
	font-size: 0.875rem;
	padding: 8px 15px;
	width: 218px;
	background: #eee;
}

.search-container input[type="text"]:focus {
	outline: 0;
}

.search-container input[type="submit"] {
	cursor: pointer;
	border: none;
	position: absolute;
	width: 40px;
	height: 120%;
	right: 0px;
	top: -4px;
	outline: none;
	background: #eee url(/common/img/icon_search.png) no-repeat 10px center;
}

.search-container ::-webkit-input-placeholder {
	color: #666;
}

/*====================================
  breadcrumb
====================================*/
.breadcrumb {
  background: none;
  margin: 0;
  padding: 20px 0px;
  font-weight: 400;
  font-size: 0.8rem;
  letter-spacing: 0.01rem;
	list-style: none;
}

.breadcrumb > li {
  position: relative;
}

.breadcrumb > li + li {
  padding-left: 30px;
}

.breadcrumb > li + li:before {
  border-right: solid 1px #000;
  border-top: solid 1px #000;
  content: "";
  height: 4px;
  left: 12px;
  margin-top: -4px;
  position: absolute;
  top: calc( 50% + 3px);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 4px;
  padding: 0;
}

.breadcrumb a {
  color: #c81411;
  text-decoration: none;
	border: none;
}

.scroll-menu {
  overflow-y: hidden;
}

.scroll-menu .breadcrumb {
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

.scroll-menu .breadcrumb li {
  height: auto;
}

/*====================================
  table
====================================*/
.table {
	border-collapse: collapse;
	border: none;
  word-break: initial;
}

.table thead, .table tbody {
	border: none;
}

.table tr {
	border: none;
}

.table th, .table td {
	padding: 10px 20px;
	vertical-align: middle;
}

.table thead th {
	border: 1px solid #fff;
}

.table th {
	background: #c81411;
	border: 1px solid #fff;
	border-collapse: collapse;
	color: #fff;
}

.table tbody th {
	background: #D3D3D3;
  color: #212529;
}

.table td {
	background: #eee;
	border: 1px solid #fff;
	border-collapse: collapse;
}

.table-400 {
	min-width: 400px;
}

.table-500 {
	min-width: 500px;
}

.table-600 {
	min-width: 600px;
}

.table-700 {
	min-width: 700px;
}

.table-800 {
	min-width: 800px;
}

.table-900 {
	min-width: 900px;
}

/*====================================
  footer
====================================*/
/*-- page top --*/
#page-top {
  bottom: 20px;
  height: 0;
  overflow: visible;
  text-align: right;
  width: 100%;
  z-index: 20;
}

#page-top > p {
  box-sizing: border-box;
  margin: 0 30px 0 0;
  float: right;
}

#page-top > p > a {
  display: inline-block;
}

#page-top > p > a:hover {
  opacity: 0.8;
}

#page-top img {

}

/*-- footer --*/
#footer {
	color: #fff;
}

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

#footer-top {
	background: #c81411;
	min-height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

#footer-top .container {
	padding: 0;
}

#footer-top ul {
	text-align: left;
	margin: 0;
}

#footer-top ul li {
	padding: 15px 0;
}

#footer-top ul li:not(:last-child) {
	border-bottom: 1px solid #dcdcdc;
}

 #footer-top ul li a {
	color: #fff!important;
	display: block;
	padding: 0 15px;
} 

#footer-bottom {
	background: #9b0907;
	min-height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px 0;
}
#footer-bottom p {
	text-align: center;
	font-size: 0.875rem;
}

@media (min-width: 900px) {
#footer-top {
	height: 60px;
	padding: 0;
}

#footer-top .container {
	padding: 0 15px;
}
	
#footer-top ul {
	text-align: center;
}

#footer-top ul li {
	display: inline-block;
  margin: 0;
	padding: 0;
}
	
#footer-top ul li:not(:last-child) {
    border-bottom: none;
}
	
#footer-bottom {
	min-height: 60px;
	padding: 0;
}
}

/*====================================
  form
====================================*/


