@charset "UTF-8";
/*------------------------------------------------
	Font
------------------------------------------------*/
/*
[77% = 10px]
[85% = 11px]
[93% = 12px]
[100% = 13px]
[108% = 14px]
[116% = 15px]
[123.1% = 16px]
[131% = 17px]
[138.5% = 18px]
[146.5% = 19px]
[153.9% = 20px]
[161.6% = 21px]
[167% = 22px]
[174% = 23px]
[182% = 24px]
[189% = 25px]
[197% = 26px]
*/


@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 200;
  src: url('fonts/NotoSerifJP-ExtraLight.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/NotoSerifJP-Light.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/NotoSerifJP-Regular.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/NotoSerifJP-Medium.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/NotoSerifJP-SemiBold.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/NotoSerifJP-Bold.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 800;
  src: url('fonts/NotoSerifJP-ExtraBold.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 900;
  src: url('fonts/NotoSerifJP-Black.woff') format('woff');
  font-display: swap;
}


html {
  font-size: 13px; /* ← 13px を 100% に */
}

body {
  font-size: 100%; /* = 13px */
  line-height: 1.231;
  font-family: "Noto Serif Japanese", serif, sans-serif;
}

body {
  word-wrap: break-word;
  background-image: url("../img/ifj_2nd_backimg.jpg");
	background-size: cover;
	background-repeat: no-repeat;
  color: #000000;
  overflow-x: hidden; /*	横スクロール非表示*/
	padding-top: 90px;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
img{
    max-width:100%;/*画像が親要素からはみ出すのを防ぐ*/
    height:auto;
}
a {
    text-decoration: none;
    color: #A40000;
}
a:hover {
    opacity: 0.7;
}
.underline {
  text-decoration: underline;
}
/*------------------------------------------------
	Layout
------------------------------------------------*/
html {
  height: 100%;
  /*scroll-padding-top: 120px; アンカーリンク箇所表示用固定ヘッダー天地分*/
}
.displaynone {
    display: none;
}
.pc {
    display: block !important;
}
.sp {
    display: none !important;
}
/* ########## 767px以下 ########## */
@media (max-width: 767px) {
 
.pc {
    display: none !important;
}
.sp {
    display: block !important;
}
}


.pt0em {
    padding-top: 0em;
}
.pt05em {
    padding-top: 0.5em;
}
.pt1em {
    padding-top: 1em;
}
.pt2em {
    padding-top: 2em;
}
.pt3em {
    padding-top: 3em;
}
.pt9em {
    padding-top: 9em;
}
.pt20px {
    padding-top: 20px;
}
.pt30px {
    padding-top: 30px;
}
.pt40px {
    padding-top: 40px;
}
.pt50px {
    padding-top: 50px;
}
.pt60px {
    padding-top: 60px;
}
.pt70px {
    padding-top: 70px;
}
.pt80px {
    padding-top: 80px;
}
.mt02em {
    margin-top: 0.2em;
}
.mt03em {
    margin-top: 0.3em;
}
.mt04em {
    margin-top: 0.4em;
}
.mt05em {
    margin-top: 0.5em;
}
.mt2em {
    margin-top: 2em;
}
.mt3em {
    margin-top: 3em;
}
.mt20px {
    margin-top: 20px;
}
.mt30px {
    margin-top: 30px;
}
.mt40px {
    margin-top: 40px;
}
.mt80px {
    margin-top: 80px;
}
.mb3px {
    margin-bottom: 3px;
}
.pbmb0em {
    padding-bottom: 0;
    margin-bottom: 0;
}
.pb1em {
    padding-bottom: 1em;
}
.pb2em {
    padding-bottom: 2em;
}
.pb5em {
    padding-bottom: 5em;
}
.fs50 {
    font-size: 50%;
}
.fs60 {
    font-size: 60%;
}
.fs70 {
    font-size: 70%;
}
.fs80 {
    font-size: 80%;
}
.fs90 {
    font-size: 90%;
}
.fs100 {
    font-size: 100%;
}
.fs110 {
    font-size: 110%;
}
.fs120 {
    font-size: 120%;
}
.fs175 {
    font-size: 175%;
}
.fw_n {
    font-weight: normal;
}
.fw-b {
	font-weight: bold;
}
.infomr {
    margin-right: 0.3em;
}
.mr02 {
    margin-right: 0.2em;
}
.mr05 {
    margin-right: 0.5em;
}
.ml2p {
    margin-left: 2%;
}
.ml05 {
    margin-left: 0.5em;
}
.mb1 {
    margin-bottom: 1em;
}
.mb2 {
    margin-bottom: 2em;
}
.mb10px {
    margin-bottom: 10px;
}
.mb20px {
    margin-bottom: 20px;
}
.mb30px {
    margin-bottom: 30px;
}
.mb40px {
    margin-bottom: 40px;
}
.mb50px {
    margin-bottom: 50px;
}
.mb60px {
    margin-bottom: 60px;
}
.mb70px {
    margin-bottom: 70px;
}
.mb80px {
    margin-bottom: 80px;
}
.mb90px {
    margin-bottom: 90px;
}
.mb100px {
    margin-bottom: 100px;
}
.ml05em {
    margin-left: 0.5em;
}
.ml2em {
    margin-left: 2em;
}
.txtbol {
    font-weight: bold;
}
.tex_break {
  overflow-wrap: break-all;
}
.lh_160p {
	line-height: 160%;
}

.mbpb0 {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.flot-r {
    float: right;
}
.flot-L {
    float: left;
}
.t-r {
    text-align: right;
}
.t-l {
    text-align: left;
}
.t-c {
    text-align: center;
}
/* ◆パーセント */
.w5p {
    width: 5%;
}
.w10p {
    width: 10%;
}
.w15p {
    width: 15%;
}
.w20p {
    width: 20%;
}
.w25p {
    width: 25%;
}
.w30p {
    width: 30%;
}
.w35p {
    width: 35%;
}
.w40p {
    width: 40%;
}
.w45p {
    width: 45%;
}
.w49p {
    width: 49%;
}
.w50p {
    width: 50%;
}
.w60p {
    width: 60%;
}

.w70p {
    width: 70%;
}
.w80p {
    width: 80%;
}
.w90p {
    width: 90%;
}
.w95p {
    width: 95%;
}
.w100p {
    width: 100%;
}
.w90p-sp100p {
    width: 90%;
}

.w66-67p {
  width: 66.67%;
	margin-left: auto;
	margin-right: auto;
}
.w100plrauto {
  width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.spbr {
    display: none;
}
.border_box_gre {
    border: 1px solid #979797;
}

.nowrap {
  white-space: nowrap;
}
.domain::before {
        content: '@';
    }

.color_white {
	color: #ffffff;
}


/*------------------------------------------------
	Header
------------------------------------------------*/
header {
  width: 100%;
	height: 90px;
  background-color: #200B68;
  position: fixed;
  display: flex;
  justify-content: space-between; /*メニューを右端に置く1*/
  padding: 5px 30px;
	margin: 0;
  align-items: center;
  z-index: 99999;
  top: 0; /*ヘッダーの位置を固定（上0）*/
  left: 0; /*ヘッダーの位置を左固定（左０）*/
}
header h1 {
  width: 435px;
  height: auto;
	padding-right: 30px;
}
header p {
  font-size: 13px;
  margin-left: 20px;
}
nav.globalMenuSp ul {
  display:flex;
  align-items:center;
  list-style:none;
}
nav.globalMenuSp ul li {
  margin-left:30px;
  font-size: 123%;
}
nav.globalMenuSp ul li a {
  text-decoration:none;
  color:#ffffff;
}
/*nav.globalMenuSp ul li:last-child a {
  color:#ffffff;
}*/
nav.globalMenuSp {
  margin-left:auto; /*メニューを右端に置く２*/
}
nav.globalMenuSp ul li a:hover {
  opacity: 0.5;
}

/* ボタンのスタイル */
.btn_01 {
  display: block;
  width: auto;
  box-sizing: border-box;
  background: linear-gradient(90deg, #9e00a4, #ae008c, #b70074, #bb005c, #bb0045, #b6002f, #af001a, #a40000);
  padding: 5px 20px;
  font-size: 16px;
  text-align: center;
  color: #ffffff;
  border-radius: 10px;
  font-weight: 300;
}
.btn_01::after {
  content: "";
  display: inline-block;
  margin-left: 0.5em;
  vertical-align: 1px;
  width: 9px;
  height: 9px;
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  transform: rotate(-45deg);
}



@media screen and (max-width: 768px) {
  /*　ハンバーガーメニューボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 20px;
  top   : 25px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #BBBBBB;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* スマホメニューを開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  background :#fff;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  background :#fff;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

/* メニュー背景　*/
nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #fff;
  background: rgba(36,4,110,0.9);
  text-align: center;
  width: 100%;
  opacity: 0;
  display: none;
  transition: opacity .6s ease, visibility .6s ease;
  height: 100vh;
}

nav.globalMenuSp ul {
  flex-direction: column; 
  margin: 100px auto 0;
  padding: 0;
  width: 100%;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 10px 0;
  width: 100%;
  transition: .4s all;
  margin-left: 0px;
  font-size: 20px;
}
/*nav.globalMenuSp ul li:last-child {
  padding: 0;
  margin-top: 20px;
}
  nav.globalMenuSp ul li:last-child:hover {
  background :none;
}*/
nav.globalMenuSp ul li:hover{
  background :#452292;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
  padding: 1em 0;
  text-decoration :none;
}

/* クリックでjQueryで追加・削除 */
nav.globalMenuSp.active {
  opacity: 100;
  display: block;
}
  
/* ボタンのスタイル */
.btn_01 {
  width: 70%;
  padding: 10px 10px;
  font-size: 20px;
  margin-left: auto;
  margin-right: auto;
}
.btn_01::after {
  width: 12px;
  height: 12px;
} 
  
}


/*------------------------------------------------
	右サイド追従ボタン
------------------------------------------------*/
.admission-adulation {
  position: fixed;
  top: 225px;
  right: 0px;
  padding: 0px;
  width: 51px;
  z-index: 999;
}
/* ボタンのスタイル */
.btn_04 {
  display: inline-block;
  width: auto;
  box-sizing: border-box;
  background: linear-gradient(90deg, #9e00a4, #ae008c, #b70074, #bb005c, #bb0045, #b6002f, #af001a, #a40000);
  padding: 30px 10px;
  font-size: 24px;
  text-align: center;
  color: #ffffff;
  border-radius: 15px 0px 0px 15px;
  font-weight: 300;
}
.btn_04::before {
  content: '';
  display: inline-block;
  width: 36px;
  height: 33px;
  background-image: url("../img-old/tk_side_btn_logo.png");
  background-size: contain;
  margin-bottom: 10px;
}
.admission-adulation p {
  display: table-cell;
  width: 51px;
  height: auto;
  writing-mode: vertical-rl;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
.admission-adulation {
  top: 280px;
  width: 30px;
}
/* ボタンのスタイル */
.btn_04 {
  padding: 20px 5px;
  font-size: 18px;
}
.btn_04::before {
  width: 24px;
  height: 22px;
}
.admission-adulation p {
  width: 30px;
  text-align: center;
  vertical-align: middle;
}
}


/*------------------------------------------------
	パンくず
------------------------------------------------*/
.breadcrumb-001 {
  display: flex;
  gap: 0 15px;
  list-style: none;
  padding: 0;
  font-size: 108%;
	font-weight: 600;
  width: 1050px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0px;
  margin-bottom: 25px;
}

.breadcrumb-001 li {
  display: flex;
  align-items: center;
}

.breadcrumb-001 li:not(:last-child)::after {
  display: inline-block;
  transform: rotate(45deg);
  width: .6em;
  height: .6em;
  margin-left: 10px;
  border-top: 1.4px solid #333333;
  border-right: 1.4px solid #333333;
  content: '';
}

.breadcrumb-001 a {
  color: #000000;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .breadcrumb-001 {
		width: 100%;
    overflow-x: auto;
    margin-top: 20px;
    margin-bottom: 40px;
    padding-left: 20px;
    padding-right: 20px;
  }
}





/*------------------------------------------------
	hero_area
------------------------------------------------*/
/* スライドの親要素をposition: relativeに */
.hero_area {
  position: relative;
  margin: 0;
  padding: 0;
  overflow: hidden; /* はみ出しを防ぐ */
}

/* 固定で重ねる画像 */
.slider-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5; /* ドットより低くする */
  width: 100%;
  height: 100%;
  pointer-events: none; /* ← マウス操作をスライダーに通す */
}

.slider-overlay img {
  width: 100%;
  height: auto;
  display: block;
}

/* slick-dotsを画像の下部に重ねて表示 */
.slider .slick-dots {
  position: absolute;
  bottom: 10px; /* 下から10pxの位置に調整（好みに合わせて変更可） */
  left: 50%;
  transform: translateX(-50%);
  z-index: 10; /* ドットはoverlayより前面 */
}

/* ドットの背景が画像に重なるため視認性を上げたい場合 */
.slider .slick-dots li button:before {
  color: white; /* ドットの色を白に変更（背景が暗い画像におすすめ） */
  opacity: 1;
}
/* Dots */
.slick-dotted.slick-slider
{
    margin-bottom: 0px !important;
}

.slider .slick-dots li button:before {
  font-size: 12px;
  color: white;
  opacity: 0.5;
}
.slider .slick-dots li.slick-active button:before {
  color: #ff6600;
  opacity: 1;
}

/*.hero_area-box {
  max-width: 1536px;
  padding:  0px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}

.hero_area-box-item {
  color: #676767;
  margin: 0px 30px;
  width: 50%;
}

.hero_area-box-item:nth-child(1) {
}
.hero_area-box-item:nth-child(2) {
}
.hero_area-box-item:nth-child(2) img {
  border-radius: 30px;
}*/

/*.herocatch {
  font-size: clamp(23px,3vw,53px);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 140%;
}
.herotxt {
  font-size: clamp(19px,2vw,23px);
  font-weight: 200;
  letter-spacing: 0.1em;
  margin-top: 20px;
}*/

@media screen and (max-width: 768px) {
  .hero_area {
  margin: 0px;
}
  .hero_area-box {
    flex-direction: column;
  }
  .hero_area-box-item {
  width: 100%;
}
  .herocatch {
  font-size: clamp(25px,5vw,59px);
}
  .herotxt {
    font-size: clamp(19px,5vw,25px);
margin-bottom: 30px;
  }
  
}



/*------ スライダーの横幅 ------*/
.slider{
  width:100%;
  margin:0px auto;
	height: auto!important;
	line-height: 0;
}

/*------ スライダー画像 ------*/
.slider img{
	width:100%;
	height: auto!important;
	display: block;
}

/*-------- 高さ調整 ----------*/
.slider .slick-slide{
	height:auto!important;
}

/*---------- 矢印 ----------*/
.slider .slick-next{
    right:30px !important;
}
.slider .slick-prev{
    left:30px !important;
}
.slider .slick-arrow{
    width: initial!important;
    height: initial!important;
    z-index:99!important;
}
.slider .slick-arrow:before{
    font-size: 25px!important;
}







/*------------------------------------------------
	見出し
------------------------------------------------*/
/* 大枠ボックス */
.ttlebox{
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 0 auto;
	
}

/* 背景画像の読み込み */
.ttle-bg{
  background: url("../img/ifj_02.png") no-repeat  center top;
  background-size: 50%;
	padding: 1rem 0 4.5rem 0; /* 上下の余白を追加 */
}

/* 重ねる文字の基本設定 */
.ttle-txt{
  color: #000000;
  letter-spacing: 0.4rem;
}


.container p {
	font-size: 138.5%;
	line-height: 180%;
	font-weight: 500;
}


.h1-bg-top {
	position: relative;
	margin-bottom: 60px;
}
.h1-bg-top h1 {
	position: absolute;
  top: 40%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
	font-size: clamp(24px,4vw,48px);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 140%;
}

.h1-bg-top img {
	width: 40%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
}




.h1-bg {
	position: relative;
}
.h1-bg h1 {
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
	padding: 0;
	width: 100%;
	text-align: center;
	font-size: clamp(24px, 4vw, 40px);
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 140%;
}


.h1-bg img {
	width: 50%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
}




.h2-bg {
	position: relative;
	margin: 80px 0 50px 0;
}
.h2-bg h2 {
	position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
	font-size: clamp(22px,2vw,30px);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 140%;
}

.h2-bg img {
	width: 100%;
	height: auto;
}


.h2-bg2 {
  text-align: center;
  margin: 80px 0 50px 0;
}

.h2-bg2 h2 {
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 140%;
  margin: 0;
  padding: 0;
  margin-bottom: 10px; /* 画像との間隔 */
}

.h2-bg2 img {
  display: block;
  width: 50%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}


.top2-bg-top {
  position: relative;
  margin: 120px 0 0 0;
  padding: 100px 20px;
  text-align: center;
  background: url("../img/ifj_05.jpg") no-repeat center center;
  background-size: cover;
  color: #000000;
  z-index: 0; /* 疑似要素より上にくるように */
}

.top2-bg-top::before,
.top2-bg-top::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(to right, transparent, #C29B40, transparent);
  z-index: -1; /* 背景の下に配置 */
}

.top2-bg-top::before {
  top: 0;
}

.top2-bg-top::after {
  bottom: 0;
}


.top2-bg-top h2 {
  font-size: clamp(18px, 4vw, 24px);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 140%;
  margin-bottom: 1em;
  text-shadow: 1px 1px 4px rgba(231,206,152,0.50); /* 背景に対する可読性UP */
}

.top2-bg-top p {
  font-size: clamp(14px, 2vw, 18px);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 180%;
  max-width: 800px;
  margin: 0 auto;
  text-shadow: 1px 1px 4px rgba(231,206,152,0.50);
}










/*------------------------------------------------
	Layout
------------------------------------------------*/
.container {
  max-width: 1050px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
  padding-bottom: 0;
}


.conte_bac_gra {
	margin: 0 calc(50% - 50vw);
  width: 100vw;
	background: linear-gradient(to bottom, rgba(0, 35, 73, 0.1), rgba(0, 35, 73, 0));
}

.conte_bac_gra .container h2 {
	font-size: 216%;
	font-weight: 500;
	letter-spacing: 5%;
	text-align: center;
	padding-top: 60px;
	padding-bottom: 40px;
	color: #000000;
}

.conte-wline {
  width: 66.67%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 6px;
  margin-bottom: 6px;
  border: solid 2px #000;     /* 内側の線 */
  outline: solid 1px #000;    /* 外側の線 */
  outline-offset: 10px;
}
.container .conte-wline p {
	width: auto; /* 親に合わせる */
  margin: 0;   /* 自動の左右マージンを打ち消す */
  padding: 20px;
}



.conte-yoko-2-box {
  display: flex;
  justify-content: space-between;
	flex-wrap: wrap;
}

.conte-yoko-2-box-item {
  color:  #000000;
  margin:  0px;
  width: 49%;
	min-width: 350px;
}
.conte-yoko-2-box .conte-yoko-2-box-item p {
	width: 100%;
}
.conte-yoko-2-box .conte-yoko-2-box-item img {
	width: 100%;
	height: auto;
}
@media screen and (max-width: 767px) {
  .conte-yoko-2-box {
    flex-direction: column;
  }

  .conte-yoko-2-box-item {
    width: 100%;
    min-width: unset;
  }

}


.conte-img {
	width: 66.67%;
	height: auto;
  margin-left: auto;
  margin-right: auto;
  margin-top: 50px;
}
.conte-img img {
	width: 100%;
	height: auto;
}


.cote-table1 {
	width: 100%;
	margin: 0;
	padding: 0;
}
.cote-table1 table {
  border-collapse: separate;
  border-spacing: 0px 3px;
  margin: 0 auto;
}
.cote-table1 table td,th {
  padding: 10px;
}
.cote-table1 table th {
	width: 25%;
  background: #D5C162;
  color: #000000;
	font-size: 146%;
	font-weight: 400;
	line-height: 150%;
	letter-spacing: 5%;
	padding: 30px;
}
.cote-table1 table td {
	width: 75%;
  background: #F5EECF;
	color: #000000;
	font-size: 120%;
	font-weight: 400;
	line-height: 180%;
	letter-spacing: 5%;
	padding: 30px;
}

.conte-notes {
	font-size: 120%;
	margin-top: 30px;
}




.news-box {
  display: flex;
  justify-content: flex-start;
	flex-wrap: wrap;
	gap: 30px;
}

.news-box-item {
  width: 24%;
  min-width: 250px;
  display: flex;
  flex-direction: column;
}
.news-box .news-box-item p {
	margin-bottom: 10px;
	line-height: 130%;
}
.news-box .news-box-item .data-text {
	font-size: 123.1%;
	margin-bottom: 5px;
}
.news-box .news-box-item h2 {
	font-size: 123.1%;
	font-weight: 600;
	line-height: 140%;
	margin-bottom: 10px;
}
.news-box .news-box-item .news-text {
	font-size: 123.1%;
	line-height: 140%;
}
.news-box .news-box-item .news-img {
	margin-bottom: 10px;
	max-width: 100%; /* 画面幅を超えないようにする */
  overflow: hidden; /* 必要に応じてはみ出た部分を隠す */
	aspect-ratio: 338 / 200; /* 元画像の縦横比を維持 */
	border: 1px solid #BABABA;
}
.news-box .news-box-item .news-img img {
  width: 100%; /* 親要素の幅に合わせる */
  height: auto; /* 自動で高さを調整 */
  display: block; /* インライン要素の隙間を防ぐ */
}
.btn-wrap {
  margin-top: auto; /* この要素を一番下に押し下げる */
  text-align: left; /* 必要なら left/right/center 調整可 */
}

.btn-style2 { 
	display: inline-block;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid #A692D3;
  background-color: #ffffff;
  color: #000000;
  transition: background-color 0.3s, color 0.3s;
  font-size: 108%;
  padding: 5px 20px;
  width: auto;
  border-radius: 4px;
}

.btn-style2:hover { 
	background-color: #200B68; 
	color: white; 
}



.news-box2 .news-box2-item {
  display: flex; /* 横並びにする */
  align-items: flex-start; /* 上揃え */
  gap: 30px; /* 画像とテキストの間に余白をつける */
	margin-bottom: 50px;
	padding-bottom: 50px;
	border-bottom: 1px solid #B3B3B3;
}

.news-box2-item .news-summary p {
	margin-bottom: 10px;
}
.news-box2 .news-box2-item .news-summary {
	display: flex;
	flex-direction: column;
	width: 75%;
}
.news-box2-item .news-summary h2 {
	font-size: 138.5%;
	font-weight: 600;
	margin-bottom: 10px;
}
.news-box2 .news-box2-item .data-text {
	font-size: 138.5%;
	margin-bottom: 5px;
}
.news-box2 .news-box2-item .news-text {
	font-size: 123.1%;
	line-height: 140%;
	margin-bottom: 10px;
}

.news-box2 .news-box2-item .news-img {
  width: 20%;
  aspect-ratio: 338 / 200;
  flex-shrink: 0;
  border: 1px solid #BABABA;
  overflow: hidden;
}

.news-box2 .news-box2-item .news-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top; /* ← ここがポイント：画像の上部を表示 */
  display: block;
}


.news-summary-btn {
	width: auto;
	margin-top: 10px;
}

@media screen and (max-width: 768px) {
	.news-box {
  display: flex;
  justify-content: space-between;
	flex-wrap: wrap;
}

.news-box-item {
  width: 100%;
	padding-bottom: 50px;
	margin-bottom: 50px;
	border-bottom: 1px solid #B3B3B3;
}

	.news-box2 .news-box2-item {
  flex-direction: column;
}
	.news-box2 .news-box2-item .news-summary {
	display: flex;
	flex-direction: column;
	width: 100%;
}
	.news-box2 .news-box2-item .news-img {
  width: 100%;
}

	
		.conte-img {
	width: 100%;
}
	
	
}









.conte-box {
	background: url("../img/ifj_06.png") no-repeat top; /* 金箔風背景 */
}

.section + .section {
  margin-top: 60px;
}

/* セクション共通スタイル */
.section {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  width: 1050px;
  margin: 0 auto; /* 中央配置 */
  padding: 4rem 0;
}


/* 背景装飾用 */
.bg-deco {
  position: absolute;
  top: 0;
  left: 40%;
  transform: translateX(-50%);
  z-index: 0;
  width: 100%;
  max-width: 1200px;
  pointer-events: none;
}

.bg-gradation {
  width: 100%;
  max-width: 650px;
  opacity: 0.3;
}

/* 特定セクション（由緒・歴史）の移動位置 */
.section.history .bg-gradation {
  position: relative;
  left: 370px;
  top: 120px;
}
.section.events .bg-gradation {
  position: relative;
  left: 300px;
	top: 120px;
}



.icon-img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120px;
  transform: translate(-50%, -50%);
  z-index: 1;
}

/* 由緒・歴史セクション専用位置調整 */
.section.history .icon-img {
  position: relative;
  left: 300px;
  top: 10px;
	width: 170px;       /* 130% に拡大 */
  transform: none;
}
/* eventsセクション（ifj_11.png）の右移動 */
.section.events .icon-img {
  position: relative;
  left: 950px;
	top: -150px;
}


/* テキストブロック */
.text-block {
  flex: 1 1 300px;
  max-width: 600px;
  /*background: rgba(255, 255, 255, 0.6);*/
  padding: o;
  border-radius: 8px;
  position: relative;
  z-index: 2;
}

.text-block h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
  font-weight: bold;
}

.text-block p {
	font-size: 110%;
  line-height: 1.6;
}

.text-block a {
  display: inline-block;
  margin-top: 1rem;
  color: #4b0082;
  text-decoration: none;
}

.text-block a:hover {
  text-decoration: underline;
}

/* 画像ブロック */
.image-block {
  flex: 1 1 300px;
  max-width: 500px;
  position: relative;
  z-index: 2;
}

.image-block img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}



/* レイアウト順調整 */
.section:nth-child(odd) .text-block {
  order: 1;
}

.section:nth-child(odd) .image-block {
  order: 2;
}

.section:nth-child(even) .text-block {
  order: 2;
}

.section:nth-child(even) .image-block {
  order: 1;
}

/* ▼ スマホ・タブレット幅（768px以下）で縦積みに変更 */
@media (max-width: 1023px) {
 .section {
    flex-direction: column;           /* 上から縦並びに */
    width: 100%;
    padding: 2rem 1rem;
    gap: 1.5rem;
  }

  .text-block,
  .image-block {
    max-width: 100%;
    flex: 1 1 100%;
  }

  .image-block img {
    width: 100%;
    height: auto;
    border-radius: 8px;
  }

  /* 背景装飾を非表示 */
  .bg-deco,
  .bg-gradation,
  .icon-img {
    display: none;
  }

  .section.history .image-block {
    order: 1;
  }
  .section.history .text-block {
    order: 2;
  }

  .section.events .image-block {
    order: 1;
  }
  .section.events .text-block {
    order: 2;
  }

  /* テキスト内の余白調整（任意） */
  .text-block h2 {
    font-size: 1.4rem;
    margin-bottom: 0.8rem;
  }

  .text-block p {
    line-height: 1.6;
    font-size: 120%;
  }

  .text-block a {
    font-size: 0.95rem;
  }
}


.conte-box2 {
	background-color: #200B68;
	padding-bottom: 120px;
}

.h2-bg3 {
  text-align: center;
  margin: 80px 0 30px 0;
}

.h2-bg3 h2 {
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 140%;
  margin: 0;
  padding: 0px 0 0 0;
  margin-bottom: 10px; /* 画像との間隔 */
	color: #ffffff;
}

.h2-bg3 img {
  display: block;
  width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}


.top-column-box {
  display: flex;
  justify-content: space-between;
	margin: 0;
	padding: 0;
}

.top-column-box-item {
  width: 49%;
	height: auto;
}













footer {
  padding: 30px;
  background-image: url("../img/ifj_footer-backimg.png");
  background-size: cover;
  margin-top: 150px;
  color: #000000;
}

.f-lbox .f-lbox-1line h1 a {
	font-size: clamp(22px, 4vw, 34px);
	color: #000000;
	white-space: nowrap;
	margin-bottom: 0;
}
footer nav ul {
  display:flex;
  align-items:center;
	flex-wrap: wrap;
  list-style:none;
  padding: 0;
}
footer nav ul li {
  font-size: 118.5%;
	font-weight: 700;
  margin-right: 30px;
  margin-left: 0;
	line-height: 130%;
	margin-bottom: 1em;
}
footer nav ul li a {
  text-decoration:none;
  color:#000000;
}
/*footer nav {
  margin-left:90px;
}*/
footer nav ul li a:hover {
  opacity: 0.5;
}



.footer_inner {
	display: flex;
  justify-content: space-between;
  align-items: stretch; /* ← 子要素の高さを等しくする */
	flex-wrap: wrap;
	gap: 30px;
}
/* 左ブロック（.f-lbox） */
.f-lbox {
  display: flex;
  flex-direction: column;
	flex-wrap: wrap;
}

.f-lbox:nth-child(1) {
  width: 20%;
}
.f-lbox:nth-child(2) {
  width: 60%;
}
.f-lbox:nth-child(3) {
  width: 15%;
}




/* 右ブロック（.footer_copyright_tex） */
.footer_copyright_tex {
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* 上下に配置 */
  flex: 1; /* ← 高さを自動で左と揃える */
  text-align: right;
}
.footer_copyright_tex a {
  display: inline-block;
}
.footer_copyright_tex p {
  margin: 0;
  font-size: 108%;
  font-weight: 400;
}


.f-lbox-1line {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.fl1 {
	font-size: 123.1%;
	font-weight: 700;
	margin: 0;
	white-space: nowrap;
}
.fl2 {
	font-size: 108%;
	font-weight: 400;
	margin: 0;
}

.fct-sns {
	display: flex;
	gap:15px;
}
.fct-sns-box {
	margin: 0;
	width: 40px;
	min-width: 30px;
	height: auto;
}
.fb-c {
	display: flex;
	justify-content: center;
}

/*------------------------------------------------
	レスポンシブ
------------------------------------------------*/
/* ########## 767px以下 ########## */
@media (max-width: 767px) {
 
.container {
  padding-left: 20px;
	padding-right: 20px;
}
.w66-67p {
  width: 100%;
	margin-left: auto;
	margin-right: auto;
}
	.container p {
	font-size: 120%;
}
.h2-bg2 img {
  width: 100%;
}
.h1-bg img {
	width: 70%;
}
.h1-bg-top img {
	width: 70%;
}
	
	
	
.conte_bac_gra .container h2 {
	font-size: 150%;
}

.conte-wline {
  width: 90%;
}
	
	
.cote-table1 table th {
	font-size: 130%;
	font-weight: 500;
	padding: 20px;
}
	
	
.f-lbox .f-lbox-1line h1 a {
	font-size: clamp(30px, 4vw, 44px);
}
.footer_inner {
	flex-direction: column;
}  
  
.f-lbox:nth-child(1) {
  width: 100%;
}
.f-lbox:nth-child(2) {
  width: 100%;
}
.f-lbox:nth-child(3) {
  width: 100%;
}  
  
  
.top-column-box {
  flex-direction: column;
	gap: 50px;
}

.top-column-box-item {
  width: 100%;
} 
  
  
  
  
  
}

@media screen and (min-width:768px) and ( max-width:1023px) {
/* ########## 768pxから1023pxまで ########## */

 header p {
  font-size: 10px;
}
nav.globalMenuSp ul li {
  margin-left:10px;
  font-size: 12px;
}
  
.breadcrumb-001 {
  margin-left: 20px;
  margin-right: 20px;;
}
  
/* ボタンのスタイル */
.btn_01 {
  padding: 5px 10px;
  font-size: 14px;
}
.btn_01::after {
  width: 6px;
  height: 6px;
}
  
  
.ent_area .baseBox .frontStr {
  margin-left: 20px;
  margin-right: 20px;
}
.ent_area .baseBox .frontPtx {
  margin-left: 20px;
  margin-right: 20px;
}
.container {
  padding-left: 20px;
  padding-right: 20px;
}
  
  
  
  
  
}
