
@charset "UTF-8";
/*-------------------
// setting
---------------------*/

@font-face {
	font-family: "Original Yu Gothic";
	src: local("Yu Gothic");
	font-weight: 300;
}

@font-face {
	font-family: "Original Yu Gothic";
	src: local("Yu Gothic");
	font-weight: 500;
}

@font-face {
	font-family: "Original Yu Gothic";
	src: local("Yu Gothic");
	font-weight: bold;
}

@font-face {
	font-family: "Helvetica Neue";
	src: local("Helvetica Neue Regular");
	font-weight: 100;
}

@font-face {
	font-family: "Helvetica Neue";
	src: local("Helvetica Neue Regular");
	font-weight: 200;
}

html {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Original Yu Gothic", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
}

/* IE10以上 */

html body {
	font-weight: normal;
	background-color: #ffffff;
	line-height: 1.75;
	color: #333333;
}

/*-------------------
// responsive setting
---------------------*/

.mt-container {
	width: auto;
	padding: 0 16px;
	position: relative;
	margin: 0 auto;
}

.invisible {
	display: none;
}

/*-------------------
// header
---------------------*/

.header {
	width: 100%;
	height: 60px;
	display: table;
	background-color: #cccccc;
	z-index: 100;
	line-height: 0;
}

.header h1 {
	font-size: 2rem;
	line-height: 60px;
	padding: 0;
	margin: 0;
}

.header .header__title {
	display: table-cell;
}

.header .header__title img {
	height: 60px;
	padding: 0px;
}

.header .header__navi {
	display: table-cell;
	float: right;
	line-height: 60px;
}

.header .header__navi li {
	margin-right: 1rem;
}

.header .header__navi li:last-child {
	margin-right: 0px;
}

.header__navi li {
	padding: 0px;
	margin: 0px;
	float: left;
	display: inline-block;
}

/*-------------------
// underLayer
---------------------*/

.UL-header {
	width: 100%;
	height: 200px;
	display: block;
}

.UL-mainArea {
	margin: 1rem 0 2rem;
}

/*-------------------
// footer
---------------------*/

.footer {
	font-size: 0.75rem;
}

.copyright {
	text-align: center;
	margin: 12px auto;
}

/*-------------------
// iphome menu
---------------------*/

#navToggle {
	display: none;
	position: absolute;
	right: 20px;
	top: 15px;
	width: 30px;
	height: 25px;
	cursor: pointer;
}

#navToggle div {
	position: relative;
}

#navToggle span {
	display: run-inblock;
	position: absolute;
	width: 100%;
	border-bottom: solid 3px #ffffff;
}

#navToggle span:nth-child(1) {
	top: 0;
}

#navToggle span:nth-child(2) {
	top: 11px;
}

#navToggle span:nth-child(3) {
	top: 22px;
}

/*-------------------
// breadcrumbs list
---------------------*/

.breadcrumbs__list {
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex; /* Safari */
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
}

.breadcrumbs__list li {
	font-size: 0.75rem;
}

.breadcrumbs__list li:after {
	content: ">";
	margin-left: 4px;
}

.breadcrumbs__list li:last-child:after {
	content: "";
}

/*-------------------
// gototop
---------------------*/

.gototop {
	text-align: right;
}

.gototop__link:before {
	content: "\025b2";
}

/*-------------------
// mainpage
---------------------*/

.mainImg {
	margin: 1rem 0 2rem;
}

.mainImg .mt-container {
	padding: 0px;
}

.mainImg__img {
	background-color: #cccccc;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	width: 100%;
	height: 160px;
	display: block;
	overflow: hidden;
}

.mainNews {
	margin-bottom: 2rem;
}

.mainNews .mainNews__header {
	font-size: 2em;
	margin-bottom: 0.5rem;
	font-weight: bold;
	border-bottom: 1px solid #cccccc;
}

.mainNews .mainNews__list li {
	margin-bottom: 0.5rem;
}

.mainNews .mainNews__list .mainNews__list--date {
	margin-right: 1rem;
}

.mainPages {
	margin-bottom: 3rem;
}

.mainPages .mainPages__header {
	font-size: 2em;
	margin-bottom: 0.5rem;
	font-weight: bold;
	border-bottom: 1px solid #cccccc;
}

.mainPages .mainPages__cardWrap {
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.mainPages .mainPages__card {
	width: 100%;
	margin: 0.5rem 1rem 1rem 0px;
	border: 1px solid #cccccc;
	padding: 0.5rem;
}

.mainPages .mainPages__title {
	font-size: 1.25rem;
	font-weight: bold;
	margin-bottom: 0.25rem;
}

/*-------------------
// entrylist
---------------------*/

.entryList__pagename {
	font-size: 1.25em;
	font-weight: bold;
	margin-bottom: 0.5rem;
}

.entryList__categorylistWrap {
	margin: 0rem 0 3rem 0;
	padding-top: 1rem;
	border-top: 1px solid #cccccc;
}

.entryList__categorylist {
	margin-bottom: 0.5rem;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.entryList__categorylist li:after {
	content: "/";
	padding: 0 4px;
}

.entryList__categorylist li:last-child:after {
	content: "";
}

.entryList__card {
	margin-bottom: 2rem;
}

.entryList__card .entryList__textHead .entryList__category {
	color: #cccccc;
}

.entryList__card .entryList__title {
	font-size: 2em;
	font-weight: bold;
	margin-bottom: 0.5rem;
	line-height: 1.25;
}

.entryList__card .entryList__textWrap {
	margin-bottom: 2rem;
}

.entryList__card .entryList__img {
	margin-left: 0;
	margin-top: 1rem;
}

.entryList__card .entryList__img img {
	width: 100%;
	height: auto;
}

.entryList__naviWrap {
	margin-bottom: 1rem;
}

.entryList__navi {
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.entryList__navi li {
	margin-right: 0.5rem;
}

.entryList__navi li:last-child {
	margin: 0;
}

.entryList__navi .entryList__navi--prev:before {
	content: "\025c0";
}

.entryList__navi .entryList__navi--next:after {
	content: "\025b6";
}

/*-------------------
// entry, pages
---------------------*/

.entry__pagename,
.pages__pagename {
	font-size: 1.5rem;
	font-weight: bold;
	margin-bottom: 1rem;
}

.entry__category,
.pages__header {
	font-size: 1rem;
}

.entry__category,
.pages__category {
	color: #cccccc;
}

.entry__title,
.pages__title {
	font-size: 1.75rem;
	margin: 1.5rem 0;
	line-height: 1.25;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	-moz-text-align-last: left;
	text-align-last: left;
	text-align: justify;
}

.entry__text,
.pages__text {
	margin-bottom: 2rem;
}


/*-------------------
本文内
---------------------*/
.wysiwyg h2 {
	font-size: 1.75rem;
	margin: 1.5rem 0;
	line-height: 1.25;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	-moz-text-align-last: left;
	text-align-last: left;
	text-align: justify;
}

.wysiwyg h3 {
	font-size: 1.75em;
	margin-bottom: 0.5em;
	line-height: 1.25;
	font-weight: bold;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	-moz-text-align-last: left;
	text-align-last: left;
	text-align: justify;
	padding: 8px;
	border-bottom: 3px double #cccccc;
}

.wysiwyg h4 {
	font-size: 1.5rem;
	margin-bottom: 0.5em;
	padding-left: 0.75rem;
	font-weight: bold;
	border-bottom: 1px solid #cccccc;
	position: relative;
	line-height: 2.25rem;
}

.wysiwyg h4:before {
	content: "";
	width: 4px;
	height: 100%;
	display: block;
	background-color: #cccccc;
	margin-right: 4px;
	position: absolute;
	left: 0px;
	bottom: 0px;
}

.wysiwyg h5 {
	font-size: 1.25em;
	margin-bottom: 0.25em;
	font-weight: bold;
}

.wysiwyg h5:before {
	content: "■";
	margin-right: 4px;
}

.wysiwyg h6 {
	font-size: 1.07em;
	margin-bottom: 0.25em;
	font-weight: bold;
	color: #cccccc;
}

.wysiwyg p {
	margin-bottom: 1rem;
}

.wysiwyg p + h3,
.wysiwyg p + h4,
.wysiwyg p + h5,
.wysiwyg p + h6 {
	margin-top: 2rem;
}

.wysiwyg ul {
	margin-bottom: 1rem;
	margin-left: 1.5rem;
}

.wysiwyg ul li {
	list-style: disc;
}

.wysiwyg ol {
	margin-bottom: 1rem;
	margin-left: 1.5rem;
}

.wysiwyg ol li {
	list-style: decimal;
}

.wysiwyg ul + h3,
.wysiwyg ul + h4,
.wysiwyg ul + h5,
.wysiwyg ul + h6 {
	margin-top: 2rem;
}

.wysiwyg ol + h3,
.wysiwyg ol + h4,
.wysiwyg ol + h5,
.wysiwyg ol + h6 {
	margin-top: 2rem;
}

.wysiwyg blockquote {
	position: relative;
	padding: 1rem;
	background-color: #f6f6f6;
}

.wysiwyg blockquote:before {
	content: "";
	position: absolute;
	width: 2px;
	height: 100%;
	background-color: #cccccc;
	left: 0px;
	top: 0px;
}

.wysiwyg blockquote + h3,
.wysiwyg blockquote + h4,
.wysiwyg blockquote + h5,
.wysiwyg blockquote + h6 {
	margin-top: 2rem;
}

.wysiwyg img {
	margin-bottom: 1rem;
	width: 100%;
	height: auto;
}

.wysiwyg strong {
	font-weight: bold;
}

.wysiwyg table {
	border: 1px solid #333333;
	margin: 0 0 1em;
}

.wysiwyg table th {
	padding: 4px;
	background-color: #cccccc;
	border: 1px solid #333333;
}

.wysiwyg table td {
	padding: 4px;
	border: 1px solid #333333;
}

@media screen and (min-width: 730px) {
.mt-container {
	width: 670px;
}

.mainImg .mt-container {
	width: 698px;
}

.mainImg__img {
	height: 280px;
}

.entryList__card .entryList__img img {
	width: auto;
	max-width: 100%;
}

.wysiwyg img {
	width: 100%;
}
}

@media screen and (min-width: 880px) {
.mt-container {
	width: 820px;
}

.invisible.is-open {
	height: auto;
}

.invisible {
	height: auto;
	display: block;
}

.mainImg .mt-container {
	width: 848px;
}

.mainPages .mainPages__card {
	width: 376px;
}
}

@media screen and (min-width: 960px) {
.mt-container {
	width: 945px;
	padding: 0px;
}

.mainImg .mt-container {
	width: 945px;
}

.mainPages .mainPages__card {
	width: 436px;
}

.entryList__card .entryList__img {
	float: left;
	margin-left: 1rem;
	margin-top: 0;
}
}

@media screen and (max-width: 880px) {
.header .header__navi {
	position: fixed;
	top: 12px;
	right: -500px; /*out of view*/
	width: 400px;
	padding: 0 1rem;
	z-index: 999;
	line-height: 0;
	background-color: #666666;
}

.header__navi li {
	width: 400px;
	border-bottom: 1px solid #ffffff;
	float: none;
}

.header__navi li:last-child {
	border-bottom: none;
}

.header__navi li a {
	padding: 20px 0px;
	display: block;
}

.header__navi li .current,
.header__navi li a:hover {
	background-color: rgba(255, 255, 255, 0);
}

/* Toggle(Button) */

#navToggle {
	z-index: 1000;
	display: block;
}

/* Click Toggle(Button) */

.openNav #navToggle span:nth-child(1) {
	top: 11px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.openNav #navToggle span:nth-child(2),
.openNav #navToggle span:nth-child(3) {
	top: 11px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*header menu*/
.openNav .header__navi {
	-webkit-transform: translateX(-300px);
	transform: translateX(-300px);
}
}

/*メインページ*/

.mainNews .mainNews__list li{
  margin-bottom:5rem;
}

.mainNews__list{
 justify-content:flex-start;
 margin-top:40px;
  flex-wrap:wrap;
  gap:40px;
}
.mainNews__list li{
    width:calc((100% - 80px) / 3);
  padding-left:0;
    position:relative;
  margin-bottom:5rem;
}

.mainNews__list a{
  text-decoration:none;
}

.mainNews__list a::after{
    content:none;
}

.mainNews__list .blue-txt{
color:#61C0F7;
}

.mainNews__list .mainNews__list--date{
 margin-right:0;
  text-align:left;
  color:#484848;
  font-size:0.85rem;
}

.mainNews__list .mainNews__list--category a{
  font-size:0.85rem;
  background:#61C0F7;
  color:#fff;
  display:inline-block;
  padding:0 5px;
  position:absolute;
  right:0;
  border-radius:5px;
  margin-top:5px;
}

.mainNews__list .mainNews__list--category a::after{
   content:none;

}

.mainNews__list .mainNews__img{
  border-radius:10px;
}

@media screen and (max-width: 880px){
  .mainNews__list li{
    width:100%;
  }
  
    .wysiwyg h2{
  font-size:1.2rem;
  line-height:1.5;
}
  
  .wysiwyg h4{
  font-size:1rem;
  }
  
  .wysiwyg h3{
    font-size:1.2em
  }

}

/*記事ページ*/
.entry__header{
  margin-top:20px;
}
.entry__title{
  font-weight:bold;
  color:#61C0F7;
}

.entry__category{
font-size:0.85rem;
  background:#61C0F7;
  color:#fff;
  padding:0 5px;
  border-radius:5px;
  margin-left:10px;
}

 .entry__text a{
  display:inline-block;
   white-space:normal;
   word-break:break-all;
}

.wysiwyg h4{
  border-bottom:none;
}

.wysiwyg h4:before{
  background-color:#EAF7FF;
}

.article__footer__links{
  margin-top:60px;
}

.wysiwyg h3{
  border-bottom:5px solid #EAF7FF;
}

.entry__text p{
  font-size:18px;
}

.ct_mv__img{
  border-radius:10px;
  width:100%;
}

.responsive_iframe_auto{
  margin-bottom:40px;
  padding: 0 40px;
}

.back-news-top{
  text-align:center;
  font-size:1.75rem;
  padding:0;
}

.entryList__categoryList{
  margin-top:10%;
  justify-content:center;
  display:flex;
}

.entryList__categoryList li{
  padding-left:0px;
    font-size:18px;
  margin-right:15px;
}
.entryList__categoryList li:last-child{
  margin-right:0;
}

.entryList__categoryList li a{
  margin-right:15px;
}

.entryList__categoryList li a:last-child{
  margin-right:0;
}

@media screen and (max-width: 880px){
  .entry__text p{
  font-size:16px;
}
  .entryList__categoryList{
  margin-top:20%;
}
}

.mainNews{
 padding-top:20px;
}

.gototop{
  padding-top:0;
}

/* -------------------------------------------
 * スマホ（880px以下）の横スクロール設定
 * ------------------------------------------- */
@media (max-width: 880px) {
    
    /* 1. 全体の余白を保持するコンテナ (.mt-container) */
    /* セレクターを section.latest__News .mt-container にして詳細度を上げる */
    section.latest__News .mt-container {
        /* 通常のサイトの左右パディングをここで保持（例: 15px） */
        padding-left: 15px;
        padding-right: 15px; 
        
        /* mainNews__list がこの外側まで広がるための準備 */
        overflow: hidden; 
    }

    /* 2. ul要素で横スクロールを有効化（余白の外側まで広げる） */
    section.latest__News .mainNews__list {
        flex-wrap: nowrap;
        overflow-x: auto;
        
        /* ul全体を左へずらして、左側の余白分を画面外に出す */
        margin-left: -15px; 
        
        /* ul全体の幅を広げ、右側も画面右端まで届くようにする */
        width: calc(100% + 30px); 
        
        /* スクロールバーの調整（任意） */
        padding-bottom: 20px; 
        
        /* スクロールバー非表示設定 */
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
    section.latest__News .mainNews__list::-webkit-scrollbar {
        display: none;
    }
    
    /* 3. li要素の幅と間隔を設定 */
    section.latest__News .mainNews__list li {
        width: 80vw; 
        flex-shrink: 0; 
        margin-right: 15px; 
        margin-left: 0; 
    }

    /* 4. 最初の li 要素にのみ左余白を追加 (これが重要) */
    section.latest__News .mainNews__list li:first-child {
        margin-left: 15px; /* mt-containerのpadding-leftと同じ値 */
    }

    /* 5. 最後の li 要素の右側の隙間を削除 */
    section.latest__News .mainNews__list li:last-child {
        margin-right: 15px; 
    }

    /* 補足: PC向けのレイアウトも section.latest__News で限定 */
    section.latest__News .mainNews__list {
        display: flex; 
        /* ... 他のPC用スタイル ... */
    }
}
.mainNews__list .pagenate-next{
  position: absolute;
    bottom: -20px;
    right: 0;
    font-size: 20px;
}

.mainNews__list .pagenate-prev{
  position: absolute;
    bottom: -20px;
    left: 0;
    font-size: 20px;
}

@media screen and (max-width: 880px){
  .mainNews__list .pagenate-next{
      bottom: -100px;
    right: 15px;
  }
  .mainNews__list .pagenate-prev{
    bottom: -100px;
    left: 15px;
  }

}