/**
 * Default Theme, v4.
 *
 */

/* Selector for entire element. */
.gsc-control-cse {
  background-color: #fff;
  border: 1px solid #fff;
}

.gsc-control-cse .gsc-table-result {
  width: auto;
}

.gsc-resultsHeader {
  border: block;
}

/* Search input */
.gsc-input {
  font-size: 16px;
}

/* Hide clear input X added by MSIE. */
.gsc-input::-ms-clear {
  display: none;
  height: 0;
  width: 0;
}

.gsc-input-box {
  border: 1px solid #dfe1e5;
  background: #fff;
}

.gsc-search-box .gsc-input>input:focus,
.gsc-input-box-focus {
  border: 1px solid #4d90fe;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, .3);
  outline: none;
}

/* Search button */
.gsc-search-button-v2 {
  font-size: 0;
  padding: 6px 27px;
  width: auto;
  vertical-align: middle;

  border: 1px solid #666;
  border-radius: 2px;

  border-color: #3079ed;
  background-color: #4d90fe;
  background-image: linear-gradient(top, #4d90fe, #4787ed);
}

.gsc-search-button-v2:hover {
  border-color: #2f5bb7;
  background-color: #357ae8;
  background-image: linear-gradient(top, #4d90fe, #357ae8);
}

.gsc-search-button-v2 svg {
  fill: #fff;
}

/* Firefox button fix */
button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

/* Inactive tab */
.gsc-tabHeader.gsc-tabhInactive {
  color: #666;
}

/* Active tab */
.gsc-tabHeader.gsc-tabhActive {
  border-bottom: 2px solid #1a73e8;
  color: #1a73e8;
}

.gsc-refinementHeader {
  text-decoration: none;
  color: #666;
  font-weight: bold;
  line-height: 27px;
  margin-right: 0;
}

.gsc-refinementHeader.gsc-refinementhActive {
  border-bottom: 2px solid #1a73e8;
  color: #1a73e8;
}

/* Inner wrapper for a result */
.gsc-webResult.gsc-result {
  border: 1px solid #fff;
}

/* Set link colors. */
.gs-result .gs-title *,
.gsc-cursor-page,
.gs-spelling a {
  color: #15c;
}

/* Snippet text color */
.gs-webResult .gs-snippet,
.gs-fileFormatType {
  color: #333;
}

/*Promotion Settings*/
/* The entire promo */
.gsc-webResult.gsc-result.gsc-promotion {
  background-color: #f6f6f6;
  border-color: #f6f6f6;
}

/* Promotion links */
.gs-promotion .gs-title:link,
.gs-promotion .gs-title:link *,
.gs-promotion .gs-snippet a:link {
  color: #15c;
}

.gs-promotion .gs-title:visited,
.gs-promotion .gs-title:visited *,
.gs-promotion .gs-snippet a:visited {
  color: #15c;
}

.gs-promotion .gs-title:hover,
.gs-promotion .gs-title:hover *,
.gs-promotion .gs-snippet a:hover {
  color: #15c;
}

.gs-promotion .gs-title:active,
.gs-promotion .gs-title:active *,
.gs-promotion .gs-snippet a:active {
  color: #15c;
}

/* Promotion snippet */
.gs-promotion .gs-snippet,
.gs-promotion .gs-title .gs-promotion-title-right,
.gs-promotion .gs-title .gs-promotion-title-right * {
  color: #000;
}

/* Promotion url */
.gs-promotion .gs-visibleUrl,
.gs-webResult .gs-visibleUrl {
  color: #093;
}

/* Style for auto-completion table
 * .gsc-completion-selected: styling for a suggested query which the user has moused-over
 * .gsc-completion-container: styling for the table which contains the completions
 */
.gsc-completion-selected {
  background: #eee;
}

.gsc-completion-container {
  font-family: Roboto, sans-serif;
  font-size: 16px;
  background: white;
  border: 1px solid #ccc;
  /* The top, left, and width are set in JavaScript. */
}

.gsc-completion-title {
  color: #15c;
}

.gsc-completion-snippet {
  color: #000;
}

.gsc-results .gsc-cursor-box {
  margin: 10px;
}

.gsc-results .gsc-cursor-box .gsc-cursor-page {
  text-decoration: none;
  color: #666;
}

.gsc-results .gsc-cursor-box .gsc-cursor-page:hover {
  text-decoration: underline;
}

.gsc-results .gsc-cursor-box .gsc-cursor-current-page {
  color: #1a73e8;
}

.gsc-context-box .gsc-facet-label {
  width: 65px;
  padding-left: 2px;
  text-decoration: underline;
  color: #15c;
  cursor: pointer;
}

.gsc-context-box .gsc-chart {
  width: 32em;
  padding: 3px;
  border-left: 1px solid #15c;
  border-right: 1px solid #15c;
}

.gsc-context-box .gsc-top {
  border-top: 1px solid #15c;
}

.gsc-context-box .gsc-bottom {
  border-bottom: 1px solid #15c;
}

.gsc-context-box .gsc-chart div {
  background: #15c;
  height: 9px;
}

.gsc-context-box .gsc-facet-result {
  color: #15c;
  width: 30px;
  text-align: right;
  padding-right: 5px;
}

.gs-webResult .gs-title .gs-title.gsc-usr-group-heading {
  color: #15c;
  cursor: pointer;
}

.gs-webResult .gs-title .gs-title.gsc-usr-group-heading b {
  color: #15c;
}

.gcsc-find-more-on-google {
  color: #15c;
}

.gcsc-find-more-on-google-magnifier {
  fill: #15c;
}


.ttl h2 {
	text-align:left;
}
/* 20240305リニューアル */
#carousel {
  position: relative;
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  border: 3px solid #133469;
}

.carousel-container {
  position: relative;
  width: 100%;
  padding-top: 33.33%;
  overflow: hidden;
  border-bottom: 3px solid #133469;
}

.carousel-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
  pointer-events: none; /* 追加 */
}
.carousel-container img.active {
  opacity: 1;
  pointer-events: auto; /* 追加 */
}

.carousel-container img:first-child {
  display: block;
}
.carousel-thumbnails {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  margin-bottom: 10px;
}
.thumbnail {
  width: 150px;
  height: 50px; /* 3:1の比率 */
  margin: 0 5px;
  cursor: pointer;
  border: 3px solid #133469;
  object-fit: cover;
}
.thumbnail.active {
  border-color: #CF0001;
}
.thumbnail-wrapper {
  display: flex;
  overflow: hidden;
}
.carousel-controls {
  margin-top: -50px;
  margin-right: 5px;
  text-align: center;
  float: right;
}

.carousel-controls button {
  margin: 0 4px;
}
.prev-link,
.next-link {
  text-decoration: none;
  color: #333;
  font-weight: bold;
  margin: 0 10px;
}
@media screen and (max-width: 768px) {
  #carousel {
    width:auto;
  }
  .carousel-thumbnails,
  .carousel-controls {
    display: none;
  }
  .carousel-container {
    border:none;
  }
}
@media screen and (max-width: 768px) {
	#mainContent {
		padding: 15px 5px;
	}
	#fragment-2 {
		margin-bottom:30px !important;
	}
}

h2.top-h2 {
	background: url(/main_content/000269704.gif) no-repeat 0 bottom;
	border: medium none;
	display: block; font-size: 1.4em !important;
	height: 32px !important;
	margin: 0 auto;
	width: 980px;
	margin-bottom:25px !important;
	padding-left:25px !important;
	clear:both !important;
}
@media screen and (max-width: 768px) {
  h2.top-h2 {
	width: auto;
  }
}
/* 200pxバナー */
.topics_new {
	margin: 0 0 30px 0px;
	width: 980px;
}
.banner-list {
  display: flex;
  flex-wrap: wrap;
  max-width: 960px;
  margin: 0 auto;
  list-style: none;
  padding: 0;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .topics_new {
	width: auto;
  }
}
.banner-list li {
  max-width:200px;
  width: calc(25% - 24px);
  margin: 12px;
  text-align: center;
}

.banner-list li img {
  max-width: 100%;
  height: auto;
}

@media screen and (max-width: 768px) {
  .banner-list li {
    width: calc(50% - 24px);
  }
  .banner-list li img {
    width: 100%;
    height: auto;
  }
}

/* 428pxバナー */
.banner-list2 {
  display: flex;
  flex-wrap: wrap;
  max-width: 960px;
  margin: 0 auto;
  list-style: none;
  padding: 0;
  justify-content: center;
}

.banner-list2 li {
  max-width:428px;
  width: calc(50% - 24px);
  margin: 12px;
  text-align: center;
}
.banner-list2 li img {
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .banner-list2 li {
    width: calc(50% - 24px);
  }
  .banner-list2 li img {
    width: 100%;
    height: auto;
  }
}

/* フッターサイトマップ
-------------------------------------------------- */
@media screen and (min-width: 769px) {
#footer-sitemap {
  background: #4f4f5e;
}
 
#footer-sitemap .cont {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 30px 0 40px 200px;
}
 
#footer-sitemap .cont-item {
  display: block;
  width: calc(80% / 4);
}
 
#footer-sitemap .nav a {
  display: block;
  color: #ccc;
}
 
#footer-sitemap .nav .ttl {
  display: block;
  margin: 30px 0 6px;
  font-size: 12px;
  font-weight: bold;
  color: #ccc;
}
 
#footer-sitemap .nav .ttl:first-child {
  margin-top: 0;
}
 
#footer-sitemap .nav .ttl + .ttl {
  margin-top: 10px;
}
 
#footer-sitemap .nav ul {
  display: block;
  font-size: 12px;
  line-height: 2;
}
 
#footer-sitemap .nav li {
  display: block;
  font-size: 12px;
  line-height: 2;
}
 
#footer-sitemap .nav li:first-child {
  margin-top: 0;
}
 
#footer-sitemap .nav li ul {
  margin: 0 0 0 2em;
}
 
#footer-sitemap .nav li li {
  position: relative;
}
 
#footer-sitemap .nav li li:before {
  position: absolute;
  top: 50%;
  left: -10px;
  content: "";
  display: block;
  width: 4px;
  height: 1px;
  background-color: #fff;
}
footer .nav-child li {
	height:2rem;
	line-height:2rem;
	text-align:left;
	padding-left:2rem;
}
}
@media screen and (max-width: 768px) {
	.nav-child {
		display: none;
	}
	.f-btn {
		display: block;
		margin-right:2rem;
	}
	.ttl {
		border-top:1px solid #fff;
	}
	.ttl {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.ttl h2 {
		margin: 0;
		padding:20px;
	}
	.ttl h2 a{
		color:#fff;
	}
	#footer {
		padding-top:0;
	}
	footer .nav-child {
		background-color: #fff;
		color: #333;
		list-style: inside;
		list-style-type: square !important;
	}
	.f-btn {
		background: none;
		border: none;
		cursor: pointer;
		padding: 0;
	}
	.f-btn img {
		vertical-align: middle;
		width:25px;
	}
	footer .nav-child li {
		height:2rem;
		line-height:2rem;
		text-align:left;
		padding-left:2rem;
	}
	footer .nav-child-banner {
		margin-bottom:1rem;
	}
	footer .nav-child-banner img {
		margin-top:0 !important;
	}
}
@media screen and (min-width: 769px) {
	.f-btn {
		display: none;
	}
}