@charset "utf-8";

/*
Theme Name: MyThemes
Theme URI:      テーマのURL
Description:    テーマの説明
Author:        あなたの名前
Author URI:     あなたのウェブサイトのURL
Version:       テーマのバージョン
License:       テーマのライセンス
License URI:    ライセンスのURL
Text Domain:   テキストドメイン
*/

body {
  font-family: '游ゴシック', YuGothic, 'Hiragino Kaku Gothic ProN', sans-serif;
}

/*main*/
.top_mv_wrap{
  height: auto;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.top_mv_wrap img{
  width: 100%;
  padding: 90px 0 0 0;
}
.main_container_wrap{
  width: 100%;
  margin: auto;
  padding-bottom: 30px;
}
@media screen and (max-width:768px){
  .top_mv_wrap{
  padding: 90px 3% 0;
  }
	.top_mv_wrap img{
padding: 90px 5% 0;
	}
  }
.main_container{
  padding: 60px 0;
}
.main_inner_frame{
  padding: 0 5%;
}
.top_list_wrap{
  width: 70%;
  margin: auto;
}
.top_list_wrap li{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; /* 行の折り返しを禁止 */
}
@media screen and (max-width:768px){
.main_container{
padding: 30px 0;
  margin: 0 2%;
}
  .top_list_wrap{
    width: 100%;
  }
  }
.top_list_wrap li{
  padding: 0.8em;
}
.top_list_wrap li:nth-child(odd){
  background-color: #e8f5ff; /* 奇数番目の背景色 */
}
.top_list_wrap li:nth-child(even){
  background-color: #fff; /* 偶数番目の背景色 */
}
.top_list_wrap li time{
  margin: 0 1em 0 0;
  font-size: 12px;
}
.top_list_item a{
  font-weight: 500;
}
.top_2column_parts_wrap{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
}
.top_2column_parts{
  width: 100%;
}
.top_2column_parts img{
  border-radius: 30px;
}
@media screen and (max-width:768px){
  .top_2column_parts{
    width: 100%;
  }
  }
.top_2column_parts_r_item{
  padding: 10px;
}
@media screen and (max-width:768px){
  .top_2column_parts_r_item{
    padding: 10px 20px 50px;
  }
  }
.top_2column_parts_r_item p{
  margin: 0 0 2em 0;
  font-size: 16px;
    height: 7em;
}
@media screen and (max-width:768px){
  .top_2column_parts_r_item p{
    font-size: 16px;
	  height: auto;
  }
  }
.top_2column_parts_r_btn{
  display: block;
  text-align: center;
  width: 90%;
  border: 1px solid #333;
  padding: 1em;
  margin: auto;
}
.top_2column_parts_r_btn:hover{
  color: #000;
  background-color: #fff;
}

.top_newslist_btn{
  padding: 2em 0 0;
  text-align: center;
  margin: auto;
}
.top_newslist_btn a{
  border-bottom: 1px solid #000;
}

/*heading*/
h2{
  margin: 0 0 30px;
  text-align: center;
  font-size: 24px;
}
.sabtitle{
  display: block;
  font-size: 0.5em;
}
h3{
  font-size: 20px;
  margin-bottom: 0.5em;
}
@media screen and (max-width:768px){
  h3{
    font-size: 16px;
    margin-bottom: 0.5em;
  }
  }
/*breadcrumbs*/
.breadcrumb{padding: 2em 0px;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.breadcrumb a{
  font-weight: bold;
}

#breadcrumbs{
  padding: 0 5%;
}
#breadcrumbs ul{
  display: flex;
  justify-content: start;
}
#breadcrumbs ul li{
  padding: 1em 1em 1em 0;
  font-size: 12px;
}

#breadcrumbs ul li::after{
  content: "";
  padding-left: 0.5em;
}
#breadcrumbs ul li:not(:last-child)::after{
  content: "\003E";
  margin-left: 0.5em;
}

/*comon*/
@media screen and (min-width:767px){
  .pc-none{
      display: none !important;
  }
  }
@media screen and (max-width:768px){
  .sp-none{
      display: none !important;
  }
  }

pre {
    white-space: pre-wrap;       /* 折り返しを許可 */
    overflow-x: auto;           /* 横スクロールバーを必要に応じて表示 */
    max-width: 90%;            /* コンテナの幅を超えないように制限 */
    box-sizing: border-box;     /* padding と border を幅に含める */
	background-color: #000;
    color: #fff;
    padding: 1em;
    margin-bottom: 3em;
    font-weight: bold;
}