@charset "utf-8";

/*----------------------------------------------------------------------
 Base
----------------------------------------------------------------------*/
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  overflow-y: scroll;
}
body {
	color: #222;
}
/*a:focus {
  outline: none;
}*/
.clear {
  clear: both;
}
.bold {
  font-weight: bold !important;
}
.center {
  text-align: center !important;
}
.left {
  text-align: left !important;
}
.right {
  text-align: right !important;
}
.float_left {
  float: left;
}
.float_right {
  float: right;
}

/* Accessibility */
fieldset {
  border: 0;
  padding: 0.01em 0 0 0;
  margin: 0;
  min-width: 0;
}
legend {
  display: inline;
}

/*----------------------------------------------------------------------
 Font Size
----------------------------------------------------------------------*/
.fs10 {
  font-size: 10px !important;
  font-size: 1.0rem !important;
}
.fs12 {
  font-size: 12px !important;
  font-size: 1.2rem !important;
}
.fs14 {
  font-size: 14px !important;
  font-size: 1.4rem !important;
}
.fs16 {
  font-size: 16px !important;
  font-size: 1.6rem !important;
}
.fs18 {
  font-size: 18px !important;
  font-size: 1.8rem !important;
}
.fs20 {
  font-size: 20px !important;
  font-size: 2.0rem !important;
}
.fs22 {
  font-size: 22px !important;
  font-size: 2.2rem !important;
}
.fs24 {
  font-size: 24px !important;
  font-size: 2.4rem !important;
}
.fs26 {
  font-size: 26px !important;
  font-size: 2.6rem !important;
}
.fs28 {
  font-size: 28px !important;
  font-size: 2.8rem !important;
}
.fs30 {
  font-size: 30px !important;
  font-size: 3.0rem !important;
}
.fs40 {
  font-size: 40px !important;
  font-size: 4.0rem !important;
}
.fs50 {
  font-size: 50px !important;
  font-size: 5.0rem !important;
}
.fs60 {
  font-size: 60px !important;
  font-size: 6.0rem !important;
}

/*----------------------------------------------------------------------
 Color
----------------------------------------------------------------------*/
.red {
  color: #e60027 !important;
}
.blue {
  color: #006bb6 !important;
}
.green {
  color: green !important;
}
.black {
  color: #2C3236 !important;
}

/*----------------------------------------------------------------------
 Margin
----------------------------------------------------------------------*/
.mt00 {
  margin-top: 0 !important;
}
.mt05 {
  margin-top: 5px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt25 {
  margin-top: 25px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt35 {
  margin-top: 35px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mt45 {
  margin-top: 45px !important;
}
.mt50 {
  margin-top: 50px !important;
}
.mt70 {
  margin-top: 70px !important;
}
.mt80 {
  margin-top: 80px !important;
}
.mb00 {
  margin-bottom: 0 !important;
}
.mb05 {
  margin-bottom: 5px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb25 {
  margin-bottom: 25px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb35 {
  margin-bottom: 35px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mb45 {
  margin-bottom: 45px !important;
}
.mb50 {
  margin-bottom: 50px !important;
}
.ml00 {
  margin-left: 0 !important;
}
.ml05 {
  margin-left: 5px !important;
}
.ml10 {
  margin-left: 10px !important;
}
.ml15 {
  margin-left: 15px !important;
}
.ml20 {
  margin-left: 20px !important;
}
.ml25 {
  margin-left: 25px !important;
}
.ml30 {
  margin-left: 30px !important;
}
.ml35 {
  margin-left: 35px !important;
}
.ml40 {
  margin-left: 40px !important;
}
.ml45 {
  margin-left: 45px !important;
}
.ml50 {
  margin-left: 50px !important;
}
.mr00 {
  margin-right: 0 !important;
}
.mr05 {
  margin-right: 5px !important;
}
.mr10 {
  margin-right: 10px !important;
}
.mr15 {
  margin-right: 15px !important;
}
.mr20 {
  margin-right: 20px !important;
}
.mr25 {
  margin-right: 25px !important;
}
.mr30 {
  margin-right: 30px !important;
}
.mr35 {
  margin-right: 35px !important;
}
.mr40 {
  margin-right: 40px !important;
}
.mr45 {
  margin-right: 45px !important;
}
.mr50 {
  margin-right: 50px !important;
}

/*----------------------------------------------------------------------
 Padding
----------------------------------------------------------------------*/
.pt00 {
  padding-top: 0 !important;
}
.pt05 {
  padding-top: 5px !important;
}
.pt10 {
  padding-top: 10px !important;
}
.pt15 {
  padding-top: 15px !important;
}
.pt20 {
  padding-top: 20px !important;
}
.pt25 {
  padding-top: 25px !important;
}
.pt30 {
  padding-top: 30px !important;
}
.pt35 {
  padding-top: 35px !important;
}
.pt40 {
  padding-top: 40px !important;
}
.pt45 {
  padding-top: 45px !important;
}
.pt50 {
  padding-top: 50px !important;
}
.pb00 {
  padding-bottom: 0 !important;
}
.pb05 {
  padding-bottom: 5px !important;
}
.pb10 {
  padding-bottom: 10px !important;
}
.pb15 {
  padding-bottom: 15px !important;
}
.pb20 {
  padding-bottom: 20px !important;
}
.pb25 {
  padding-bottom: 25px !important;
}
.pb30 {
  padding-bottom: 30px !important;
}
.pb35 {
  padding-bottom: 35px !important;
}
.pb40 {
  padding-bottom: 40px !important;
}
.pb45 {
  padding-bottom: 45px !important;
}
.pb50 {
  padding-bottom: 50px !important;
}
.pl00 {
  padding-left: 0 !important;
}
.pl05 {
  padding-left: 5px !important;
}
.ml10 {
  padding-left: 10px !important;
}
.ml15 {
  padding-left: 15px !important;
}
.pl20 {
  padding-left: 20px !important;
}
.pl25 {
  padding-left: 25px !important;
}
.pl30 {
  padding-left: 30px !important;
}
.pl35 {
  padding-left: 35px !important;
}
.pl40 {
  padding-left: 40px !important;
}
.pl45 {
  padding-left: 45px !important;
}
.pl50 {
  padding-left: 50px !important;
}
.pr00 {
  padding-right: 0 !important;
}
.pr05 {
  padding-right: 5px !important;
}
.pr10 {
  padding-right: 10px !important;
}
.pr15 {
  padding-right: 15px !important;
}
.pr20 {
  padding-right: 20px !important;
}
.pr25 {
  padding-right: 25px !important;
}
.pr30 {
  padding-right: 30px !important;
}
.pr35 {
  padding-right: 35px !important;
}
.pr40 {
  padding-right: 40px !important;
}
.pr45 {
  padding-right: 45px !important;
}
.pr50 {
  padding-right: 50px !important;
}


/*----------------------------------------------------------------------
 Module
----------------------------------------------------------------------*/
#content p {
	margin: 0 0 20px;
}
#content .main p:last-child {
  margin-bottom: 0;
}
ul,
ol,
dl,
dt,
dd {
  margin: 0;
  padding: 0;
}
ul {
  list-style-type: none;
}
#content ul,
#content ol {
  margin: 0;
  padding: 0;
}
#content ul.disc {
  margin-left: 18px;
  list-style-type: disc;
}
#content ol {
  margin-left: 24px;
  list-style-type: decimal;
}
#content li {
	margin: 0;
}
#content dt {
	margin: 0 0 5px;
}
#content dd {
	margin: 0 0 20px;
}

/* line height */
#content dl,
#content li,
#content th,
#content td {
	line-height: 1.6;
}

#content p.kome {
  padding-left: 1.1em;
  line-height: 1.4;
}
#content p.kome:before {
  margin-left: -1.1em;
  position: relative;
  display: inline-block;
  width: 1.1em;
  content: "※";
}
#content.en p.kome:before {
  margin-left: -1.1em;
  position: relative;
  display: inline-block;
  width: 1.1em;
  content: "*";
}

#content ul.kome,
#content ol.kome {
  padding-left: 0;
  list-style-type: none;
}
#content ul.kome > li,
#content ol.kome > li {
  margin-left: 1.1em;
}
#content ul.kome > li:before,
#content ol.kome > li:before {
  margin-left: -1.1em;
  position: relative;
  display: inline-block;
  width: 1.1em;
  content: "※";
}

#content p.ast {
  margin-left: 1.1em;
}
#content p.ast:before {
  margin-left: -1.1em;
  position: relative;
  display: inline-block;
  width: 1.1em;
  content: "＊";
}

#content ul.ast,
#content ol.ast {
  padding-left: 0;
  list-style-type: none;
}
#content ul.ast > li,
#content ol.ast > li {
  margin-left: 1.1em;
}
#content ul.ast > li:before,
#content ol.ast > li:before {
  margin-left: -1.1em;
  position: relative;
  display: inline-block;
  width: 1.1em;
  content: "＊";
}

#content p.dot,
#content span.dot {
  margin-left: 1.1em !important;
}
#content p.dot:before,
#content span.dot:before {
  margin-left: -1.1em;
  position: relative;
  display: inline-block;
  width: 1.1em;
  content: "・";
}
#content p.circle,
#content p.square {
  padding-left: 1.1em;
}
#content p.circle:before,
#content p.square:before {
  margin-left: -1.1em;
  position: relative;
  display: inline-block;
  width: 1.1em;
  content: "●";
}
#content p.square:before {
  content: "□";
}

#content ul.dot,
#content ol.dot {
  padding-left: 0;
  list-style-type: disc;
}
#content ul.dot > li,
#content ol.dot > li {
  margin-left: 1.5em;
}

#content ul.num,
#content ol.num {
  padding-left: 0;
  list-style-type: decimal;
}
#content ul.num > li,
#content ol.num > li {
  margin-left: 2em;
}

#content ul.alp,
#content ol.alp {
  padding-left: 0;
  list-style-type: lower-latin;
}
#content ul.alp > li,
#content ol.alp > li {
  margin-left: 2em;
}

#content .txt_underline {
  text-decoration: underline;
}
#content .indent {
	text-indent: 1em;
}



/*----------------------------------------------------------------------
 Common/共通レイアウト
----------------------------------------------------------------------*/
html {
	padding: 10px;
  background: #1a4795;
	background: linear-gradient(90deg, #194695 0%, #aa1f21 100%);
}
body {
	background-color: #fff;
  color: #222;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Arial, "メイリオ", Meiryo, sans-serif;
  font-weight: normal;
	font-size: 1em;
  font-weight: 500;
  letter-spacing: .05em;
  line-height: 1.7;
	
	/*border: 10px solid;
  border-image: linear-gradient(to right, #194695, #aa1f21);
  border-image-slice: 1;*/
}

/*----------------------------------------------------------------------
 Links
----------------------------------------------------------------------*/
a {
	text-decoration: none;
	color: #b0080a;
	transition: 0.3s;
	opacity: 1;
}
a:hover {
  text-decoration: underline;
}


/*----------------------------------------------------------------------
 Header
----------------------------------------------------------------------*/
#header .header_inner {
	min-height: 104px;
  margin-left: 48px;
  margin-right: 48px;
  display: -webkit-box;
  display: flex;
　-webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  align-items: center;
}
#header .site_id .site_id_ja,
#header .site_id.es .site_id_en {
	display: block;
}
#header .site_id.es .site_id_ja,
#header .site_id .site_id_en {
	display: none;
}
#header .site_id {
  width: 300px;
	font-size: 0;
}
#header .header_contents {
  width: calc(100% - 300px);
}
#header .hd_unit {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: end;
  justify-content: flex-end;
	gap: 32px;
}
#header .hd_font_size {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  font-size: 14px;
}
#header .hd_font_size p {
  font-size: 14px;
}
#header .hd_font_size ul {
  margin: 2px 0 0 10px;
  padding: 0;
  font-size: 0;
}
#header .hd_font_size ul li {
	display: inline-block;
  padding: 5px 5px 6px 6px;
  background: #ccc;
  color: #fff;
	cursor: pointer;
  font-size: 14px;
	line-height: 14px;
	text-align: center;
	transition-duration: .3s;
}
#header .hd_font_size ul li:nth-of-type(2) {
  margin: 0 2px;
}
#header .hd_font_size ul li.active {
  background: #1a4795;
}

#header .hd_search {
  text-align: right;
}
#header form.google-top {
	margin: 0;
	padding: 0;
  font-size: 12px;
	white-space: nowrap;
}
#header form.google-top input.search {
	width: 250px;
	height: 36px;
	padding: 4px 10px 4px;
  background: #fff;
	border: 1px solid #ccc;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Arial, "メイリオ", Meiryo, sans-serif;
  font-weight: normal;
  outline: 0;
}
#header form.google-top input.searchsubmit {
  display: inline-block;
	min-width: 50px;
	min-height: 36px;
  margin-top: -5px;
  padding: 0 10px 1px;
	background: #1a4795;
	border: 0;
  font-size: 16px;
  color: #fff;
  line-height: 16px;
  text-align: center;
  vertical-align: middle;
}


.toggle-search-button,
.search_box {
	display: none;
}
#header .sp_search .hd_search {
  display: none;
}




#header .header_nav {
  text-align: right;
}
#header .header_nav li.language_en,
#header .header_nav.es li.language_ja {
  display: block;
}
#header .header_nav li.language_ja,
#header .header_nav.es li.language_en {
  display: none;
}
#header .header_nav li a {
	display: block;
	padding: 0 0 0 20px;
  color: #000;
	font-size: 16px;
	position: relative;
}
#header .header_nav li a::before {
	content: '';
	width: 16px;
	height: 16px;
	background: url("/common/images/icon_arrow_b.svg") no-repeat;
	background-size: contain;
	position: absolute;
	top: calc(50% + 1px);
	left: 0;
	transform: translateY(-50%);
}



/*----------------------------------------------------------------------
 Contents 
----------------------------------------------------------------------*/
#content {
	padding-bottom: 120px;
}
#content .inner {
  max-width: 1200px;
  margin: auto;
	position: relative;
	z-index: 1;
}


/*----------------------------------------------------------------------
 Footer
----------------------------------------------------------------------*/
#footer {
  background: #eee;
}
#footer .inner{
  max-width: 1200px;
  margin: auto;
}
#footer .footer_nav {
	padding: 32px 0;
  text-align: center;
}
#footer .footer_nav ul {
  font-size: 0;
}
#footer .footer_nav li {
	display: inline;
	margin-right: 42px;
	padding-left: 24px;
  font-size: 0.875rem;
}
#footer .footer_nav li a {
  color: #333;
}
#footer .footer_nav li a:hover {
  color: #b0080a;
	text-decoration: underline;
  opacity: 1;
}
#footer .footer_nav li+li {
	border-left: 1px solid #999;
}

#footer .copyright {
  padding: 26px 0 16px;
  background: #1a4795;
	background: linear-gradient(90deg, #194695 0%, #aa1f21 100%);
  color: #fff;
  font-family: Arial, Helvetica, "sans-serif";
  font-size: 14px;
  font-weight: 400;
	text-align: center;
}


/*----------------------------------------------------------------------
 Pagetop 
----------------------------------------------------------------------*/
.pagetop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 100;
}
.pagetop a {
	display: block;
	width: 70px;
	height: 70px;
  padding-top: 26px;
	border-radius: 50%;
	background-color: #194695;
	font-size: 0;
	opacity: .9;
	zoom: 1.0;
	text-align: center;
	color: #fff;
	text-decoration: none;
}
.pagetop a:hover {
	opacity: .75;
}
.pagetop a img {
	width: 25px;
}