@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Asap');
@import url('https://fonts.googleapis.com/css?family=Catamaran');
@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
/* --------------------------------------------------------------------- */


/* base */


/* --------------------------------------------------------------------- */

*,
html {
  margin: 0px;
  padding: 0px;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  margin: 0px;
  padding: 0px;
  line-height: 100%;
  font-family:"Noto Sans Myanmar","ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  -webkit-text-size-adjust: none;
  background: #ffffff;
  color: black;
}



/* -------- 順番にふわっと出てくる --------*/
.delay-time01{
animation-delay: 0.2s;
}

.delay-time02{
animation-delay: 0.4s;
}

.delay-time03{
animation-delay: 0.6s;
}

.delay-time04{
animation-delay: 0.8s;
}

.delay-time05{
animation-delay: 1.0s;
}

.delay-time06{
animation-delay: 1.2s;
}

.delay-time07{
animation-delay: 1.4s;
}

.delay-time08{
animation-delay: 1.6s;
}

.delay-time09{
animation-delay: 1.8s;
}

.delay-time10{
animation-delay: 2s;
}

.delay-time11{
animation-delay: 2.2s;
}


.wrapper{
    overflow: hidden;
}
  
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeUpTrigger,
.fadeInTrigger,
.flipLeftTopTrigger {
opacity: 0;
}


/* その場で */
.fadeIn{
animation-name:fadeInAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* 下から */
.fadeUp{
animation-name:fadeUpAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 左上へ */
.flipLeftTop{
  animation-name: flipLeftTopAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  opacity:0;
}
  
  @keyframes flipLeftTopAnime{
    from {
     transform: translate(-20px,80px) rotate(-15deg);
       opacity: 0;
    }
  
    to {
     transform: translate(0,0) rotate(0deg);
      opacity: 1;
    }
}



/* --------------------------共通--------------------------------- */
.midashi-2 {
  width:90%;
  max-width:1200px;
  right:0;
  left:0;
  margin:auto;
}

.midashi-3 {
  width:100%;
  max-width:1200px;
  right:0;
  left:0;
  margin:auto;
}
@media screen and (max-width:757px) {
	.midashi-3 { width:90%; }
}

.midashi-logo {
  display: inline-block;
  width:40px;
}

.midashi-moji {
  display: inline-block;
  margin-left:20px;
  margin-bottom: -20px;
}

.midashi-moji-1 {
  font-size:28px;
  font-weight: bolder;
  line-height:30px;
  color:#003288;
  margin-bottom:0;
}
@media screen and (max-width:757px) {
	.midashi-moji-1 { font-size:25px; line-height:28px; }
}

.midashi-moji-2 {
  font-size:13px;
  font-weight: bold;
  line-height:30px;
  color:#4C4C4D;
}


.gray {
  background-color: #F7F5F5;
}


/* --------------------------First view--------------------------------- */
.firstview {
  position: relative;
  height:auto;
  background-color:#F7F5F5;
  padding-bottom:0;
}
@media screen and (max-width:757px) {
	.firstview { height:auto;}
}

.fv-movie {
  position: relative;
  width: 100%;
  height: min(100vh, calc(100vw * 9 / 16));
  background: #000;
  overflow: hidden;
}
@media screen and (max-width:757px) {
.fv-movie  { 
  height: 80vh;
}
}

.fv-movie__iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 100vh;
  width: calc(100vh * 16 / 9);
  transform: translate(-50%, -50%);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .fv-movie__iframe {
    width: 100vw;
    height: calc(100vw * 9 / 16);
    min-height: 100vh;
    min-width: calc(100vh * 16 / 9);
  }

  .fv-movie::before,
  .fv-movie::after {
    width: 22vw;
  }
}

/* 左右の黒〜透明グラデーション */
.fv-movie::before,
.fv-movie::after {
  content: "";
  position: absolute;
  top: 0;
  height: 100%;
  width: 100px;
  z-index: 2;
  pointer-events: none;
}

.fv-movie::before {
  left: calc(50% - ((100vh * 16 / 9) / 2));
  background: linear-gradient(
    to left,
    rgba(0,0,0,0),
    rgba(0,0,0,1)
  );
}

.fv-movie::after {
  left: calc(50% + ((100vh * 16 / 9) / 2) - 99px);
  background: linear-gradient(
    to right,
    rgba(0,0,0,0),
    rgba(0,0,0,1)
  );
}




.firstview-logo,
.date {
  position: relative;
  z-index: 3;
}

.firstview-logo {
  position: absolute;
  left: 30px;
  top: 30px;
  width: 400px;
  height: auto;
  opacity: 1;
  animation: hideLogo 0.5s ease forwards;
  animation-delay: 5s;
}

@keyframes hideLogo {
  to {
    opacity: 0;
    visibility: hidden;
  }
}

@media screen and (max-width:757px) {
	.firstview-logo { 
    left: 10px; 
    top: 10px; 
    width: 200px; 
  }
}

.date {
  margin:auto;
  text-align: center;
  background-color:#F7F5F5;
  padding-top:50px;
}
@media screen and (max-width:757px) {
	.date { 
    height:auto;
    padding-top:20px; 
    padding-bottom: 20px;
  }
}

.firstview-date {
  height:110px;
  width:auto;
  object-fit: cover;
}
@media screen and (max-width:757px) {
	.firstview-date { width:90%; height:auto; }
}


/* スライドショー全体 */
.slider {
  position: relative;
  width: 100%;
  height: 85vh; /* 画面の85%の高さ */
  overflow: hidden;
}
@media screen and (max-width:757px) {
	.slider { height:40vh; }
}

/* 画像のコンテナ */
.slides {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* 各画像のスタイル */
.slide {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

/* 最初に表示される画像 */
.slide.active {
  opacity: 1;
}

/* 画像が画面いっぱいに収まるように */
.slide img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 画像が切り取られないように */
}


/* -------------------------concept--------------------------------- */
.concept {
  width:90%;
  max-width:1200px;
  right:0;
  left:0;
  margin:auto;
  padding-top:120px;
}
@media screen and (max-width:757px) {
	.concept { padding-top:30px; }
}

.concept-moji-a {
  width:100%;
  vertical-align: top;
  margin-top:40px;
  padding-bottom:40px;
}
@media screen and (max-width:757px) {
	.concept-moji-a { display:block; width:100%; }
}

.concept-moji-1 {
  font-size:16px;
  font-weight: 600;
  line-height:35px;
  color:#4C4C4D;
  text-align: justify;
}
@media screen and (max-width:757px) {
	.concept-moji-1 { 
    font-size:15px;
    line-height: 2;
   }
}


.concept-moji-b {
  width:100%;
}

.concept-moji-2 {
  font-size:25px;
  line-height:45px;
  font-weight: bold;
  color:#4C4C4D;
  text-align: justify;
  margin-top:40px;
}
@media screen and (max-width:757px) {
	.concept-moji-2 { 
    font-size:20px; 
    line-height: 1.8;
  }
}

.concept-moji-3 {
  font-size:16px;
  line-height:35px;
  color:#4C4C4D;
  text-align: justify;
  margin-top:20px;
}
@media screen and (max-width:757px) {
	.concept-moji-3 { 
    font-size:15px; 
    line-height: 2;
  }
}

.concept-moji-3-b {
  line-height:35px;
  color:#4C4C4D;
  text-align: justify;
  margin-top:20px;

  font-weight:bold;
  font-size:21px;
  font-style: oblique;
  font-family: 'Noto Sans JP', sans-serif;
  display: inline-block;
  transform: skew(-22deg);
  font-style: normal;
}
@media screen and (max-width:757px) {
	.concept-moji-3-b{ 
    font-size:15px; 
    line-height: 2;
  }
}

.concept-moji-3-b2 {
  color:#4C4C4D;
  text-align: justify;
  font-weight: normal;
  font-size: 15px;
  margin-top:10px;
}


/* コンテナー */
.container {
  max-width: 100vw ;
  margin: 0 auto;
  padding-top:50px;
  padding-bottom:100px;
}
@media screen and (max-width:757px) {
	.container { padding-top:0px; padding-bottom:50px; }
}

.swiper-container {
  width: 100%;
  height: 300px; /* 必要に応じて高さを指定 */
}
@media screen and (max-width:757px) {
	.swiper-container { height:300px; }
}

/* スライダーのwrapper */
.infinite-slider .swiper-wrapper {
  transition-timing-function: linear;
}

/* スライド */
.infinite-slider .swiper-slide {
  height: auto !important; /* 高さを指定 */
  width:  auto !important;
}

.swiper-slide {
  display: inline-block;
}

/* スライド内の画像 */
.infinite-slider .swiper-slide-concept-img {
  width: auto;
  height: 100%;
}

.swiper-slide-concept-img {
  height: 250px !important; /* 高さを指定 */
  width: 350px !important;
  object-fit: cover;
  margin:20px;
  border-radius: 20px;
}
@media screen and (max-width:757px) {
	.swiper-slide-concept-img  { width:220px; height:150px; }
}





/* -------------------------award--------------------------------- */
.award-narabi {
  position: relative;
  padding-bottom:150px;
  height:1150px;
  overflow: hidden;
}
@media screen and (max-width:757px) {
	.award-narabi { height:1150px; }
}

.award {
  padding-top:100px;
  height: 980px
}
@media screen and (max-width:757px) {
	.award { padding-top:80px; height:1000px; }
}

.award-back-left {
  position: absolute;
  bottom:0;
  left:0;
  height:100%;
  width:auto;
  object-fit: cover;
  z-index:-1;
}
@media screen and (max-width:757px) {
	.award-back-left { height:50%; }
}

.award-back-right {
  position: absolute;
  top:0;
  right:0;
  height:100%;
  width:auto;
  object-fit: cover;
  z-index:-1;
}
@media screen and (max-width:757px) {
	.award-back-right { height:50%; }
}



.award-about {
  max-width: 1100px;
  right:0;
  left:0;
  margin:auto;
  margin-top:50px;
  margin-bottom:20px;
  mix-blend-mode: multiply;
}
@media screen and (max-width:757px) {
	.award-about { max-width:90%; }
}

.award-about-moji-1 {
  font-size: 28px;
  font-weight: bold;
  color: #003288;
  text-align: left;
  margin-bottom:10px;
}
@media screen and (max-width:757px) {
	.award-about-moji-1 { font-size:20px; }
}

.award-about-moji-2 {
  font-size:16px;
  line-height: 35px;
}
@media screen and (max-width:757px) {
	.award-about-moji-2 { 
    font-size:15px;
    line-height: 2;
   }
}


.kda-special-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  min-width: 300px;
  padding: 16px 20px 11px 20px;
  margin-top:15px;

  color: #003288;
  background: #fff;
  border: 2px solid #003288;
  border-radius: 10px;

  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
  text-decoration: none;

  transition: 0.3s ease;
}

.kda-special-link__icon {
  font-size: 18px;
  line-height: 1;
}

.kda-special-link:hover {
  color: #fff;
  background: #003288;
}

@media screen and (max-width: 767px) {
  .kda-special-link {
    width: 100%;
    min-width: 0;
    padding: 16px 20px;
    font-size: 14px;
    gap: 20px;
  }

  .kda-special-link__icon {
    font-size: 20px;
  }
}



.swiper-content {
  position: relative;
}

.swiper-container-2 {
  width: 100%;
  height: auto;
  overflow: visible; /* swiper-containerでも影が切れないように設定 */
}

.swiper {
  margin-top:80px;
  max-width:100%;
}

.award-wrapper {
  width: 95vw;
  max-width: calc(1200px + 20vw );
  float: right;
  position: relative;
  overflow: visible; /* 親要素も影が切れないように設定 */
}
@media screen and (max-width:757px) {
	.award-wrapper { width:95%; max-width:95%; }
}

.award-slide {
  border-radius: 20px;
  background-color: #fff;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3); /* 上下に少し余裕を持たせた影に調整 */
  overflow: visible; /* 影が切れないようにする */
  width:390px;
  margin-right: 15px;
  margin-left: 15px;
  padding-bottom: 25px;
}
@media screen and (max-width:757px) {
	.award-slide {  width:95%; margin-right:0; margin-left:0; }
}

.contents {
  width:390px;
  height:370px;
  text-align: center;
}
@media screen and (max-width:757px) {
	.contents { 
    width:98%; 
    height:330px;
  }
}

.contents-img {
  height: 270px; /* 高さを指定 */
  width: 350px ;
  object-fit: cover;
  border-radius: 20px;
  margin-top:20px;
	margin:20px;
}
@media screen and (max-width:757px) {
	.contents-img { 
    width:90%; 
    height: 230px;
  }
}

.contents-moji {
  text-align: center;
}

.contents-moji-1 {
  font-size:14px;
  color: #003288;
  font-weight:bold;
  margin-bottom:5px;
}

.contents-moji-2 {
  font-size:20px;
  color: #4C4C4D;
  font-weight:bold;
}

.contents-moji-3 {
  font-size:13px;
  color: #4C4C4D;
  font-weight:normal;
  margin-top:5px;
}



.swiper-pagination {
  bottom:-440px !important;        /* スライドの下に配置 */
}
@media screen and (max-width:757px) {
	.swiper-pagination { bottom:-400px !important;  }
}

.swiper-pagination-bullet {
  /*ドットの色を変更*/
  background-color:#003288;
}



.award-btn-narabi {
  margin:0 auto;
  text-align: center;
}

.award-btn-a {
  text-decoration: none;
}
@media screen and (max-width:757px) {
	.award-btn-a { margin:10px; }
}

.award-btn {
  right:0;
  left:0;
  margin:auto;
  width:400px;
  height:auto;
  padding: 20px;
  background-color: #003288;
  border-radius: 50px;
  text-align: center;
}
@media screen and (max-width:757px) {
	.award-btn { width:95%; padding-right:15px; padding-left:15px; }
}
.award-btn:hover {
  background-color:#01163b;;
  transition: background-color 0.5s;
}

.award-btn p {
  display: inline-block;
  font-family:"Noto Sans Myanmar","ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size:15px;
  text-align: center;
  color:#ffffff;
  letter-spacing: 0.5px;
}
@media screen and (max-width:757px) {
	.award-btn p { letter-spacing: 0px; }
}




/* -------------------------Inspiration to Action--------------------------------- */
.session {
  width:90%;
  max-width:1200px;
  right:0;
  left:0;
  margin:auto;
  padding-top:100px;
  padding-bottom:200px;
}
@media screen and (max-width:757px) {
	.session { padding-bottom:80px; padding-top:80px; }
}



.session-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 70px;
  max-width: 1100px;
  margin: 0 auto;
  margin-top:50px;
}
@media screen and (max-width:757px) {
	.session-container { display:block; gap:50px; max-width:100%; }
}

.session-card {
  overflow: hidden;
  text-align: center;
  margin-top:30px;

  display: flex;
  flex-direction: column;
  height: 100%;
}
@media screen and (max-width:757px) {
	.session-card { margin-top: 80px; }
}


.session-card img {
  width: 100%;
  aspect-ratio: 3 / 1.8;
  object-fit: cover;
  display: block;
  border-radius: 20px;
}

.session-content {
  margin-top: 30px;

  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%; /* 親要素の高さを確保 */
}
@media screen and (max-width:757px) {
	.session-content { margin-top:20px; }
}

.session-number {
  font-size: 27px;
  font-weight: bold;
  color: #003288;
  text-align: left;
  line-height: 1.3;
  min-height: 120px;

  display: flex;
  flex-direction: column;
}

.session-number span {
  font-size: 0.6em;
  display: block;
  margin-bottom: 10px;
  line-height: 1.3;
}

.session-number.ichi {
  min-height: 90px;
}

@media screen and (max-width:757px) {
	.session-number { font-size:23px; line-height: 1.3; min-height: 90px; }
}

.session-info {
  font-size:20px;
  font-weight: bold;
  color: #4C4C4D;
  text-align:justify;
}
@media screen and (max-width:757px) {
	.session-info { font-size:16px; margin-bottom:5px; }
}


.session-info span {
  font-size:14px;
  font-weight: normal;
  display: block;
  margin-bottom:15px;
}

.session-title {
  font-size:16px;
  font-weight: bold;
  color: #003288;
  margin-top: 5px;
  margin-bottom: 15px;
  text-align: left;
}
@media screen and (max-width:757px) {
	.session-title { font-size:15px; }
}

.btn-detail {
  display: inline-block;
  font-size:16px;
  font-weight: bold;
  width:100%;
  padding:25px;
  padding-bottom:20px;
  color: #003288;
  text-decoration: none;
  border: 2px solid #003288;
  background-color: #fff;
  border-radius: 50px;
  transition: background 0.3s;
  margin-bottom: 30px;

  min-height: 60px; /* 適宜調整 */
}

.btn-detail:hover {
  background: #003288;
  color: #fff;
}


.speaker-narabi {
  margin-top:150px;
}
@media screen and (max-width:757px) {
	.speaker-narabi { margin-top:100px; }
}

.session-container-2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 40px;
  max-width: 1100px;
  margin: 0 auto;
  margin-top:80px;
}
@media screen and (max-width:757px) {
	.session-container-2 { max-width:100%; display:block; margin-top:50px; }
}

.session-card-2 {
  overflow: hidden;
  text-align: center;
  margin-top:10px;
}
@media screen and (max-width:757px) {
	.session-card-2 { vertical-align:top; display:inline-block; width:45.5%; margin:2%; margin-bottom:30px; }
}

.session-card-2 img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  border-radius: 20px;
}

.session-content-2 {
  margin-top: 20px;
}
@media screen and (max-width:757px) {
	.session-content-2 { margin-top:10px; }
}

.session-name-1 {
  font-size:16px;
  font-weight: bold;
  color: #003288;
  margin-bottom:5px;
}
@media screen and (max-width:757px) {
	.session-name-1 { font-size:15px; margin-bottom:0px; }
}

.session-name-2 {
  font-size:20px;
  font-weight: bold;
  color: #4C4C4D;
}
@media screen and (max-width:757px) {
	.session-name-2 { font-size:14px; }
}

.session-name-3 {
  font-size:11px;
  font-weight:normal;
  color: #4C4C4D;
}
@media screen and (max-width:757px) {
	.session-name-3 { font-size:8px; }
}






/* -------------------------Support--------------------------------- */
.support {
  width:90%;
  max-width:1200px;
  right:0;
  left:0;
  margin:auto;
  padding-top:100px;
  padding-bottom:100px;
}
@media screen and (max-width:757px) {
	.support { width:100%; padding-top:80px; padding-bottom:50px; }
}

.support-narabi {
  margin-top:50px;
}
@media screen and (max-width:757px) {
	.support-narabi { margin-top:50px; }
}

.support-section {
  padding: 40px 20px;
}
@media screen and (max-width:757px) {
	.support-section { padding: 30px 20px;}
}

.support-divider {
  border-top: 1px solid #4C4C4D;
  margin: 30px auto;
  max-width: 80%;
}
@media screen and (max-width:757px) {
	.support-divider { margin:10px auto; max-width:85%; }
}

.support-title {
  color: #4C4C4D;
  margin-bottom: 20px;
  text-align: center;
  font-size:25px;
  font-weight: bold;
}
@media screen and (max-width:757px) {
	.support-title { font-size:22px; margin-bottom:10px; }
}

.support-logo-container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top:30px;
}
@media screen and (max-width:757px) {
	.support-logo-container { margin-top:15px; }
}

.support-logo {
  height:110px;
  width: auto;
  object-fit: cover;
  margin:30px;
  vertical-align: middle;
}
@media screen and (max-width:757px) {
	.support-logo { height:70px; margin:15px; }
}



/* -------------------------Overview--------------------------------- */
.overview {
  width:90%;
  max-width:1200px;
  right:0;
  left:0;
  margin:auto;
  padding-bottom:100px;
}
@media screen and (max-width:757px) {
	.overview { width:100%; padding-bottom:30px; }
}


.event-container {
  display: flex;
  justify-content: space-between;
  max-width: 1100px;
  margin: 30px auto;
  padding: 20px;
  gap: 40px;
  vertical-align: top;
}

.event-info {
  flex: 1;
  line-height: 2;
  display: grid;
  grid-template-columns: 150px 1fr; /* 左列を固定幅、右列を可変幅 */
  gap: 10px 10px; /* 行と列の間隔 10px 20px */
  vertical-align: top;
  height:auto;  /* auto */
}

.event-info p {
  margin: 0;
  display: contents; /* pタグをインライン表示 */
  font-size:18px;
  line-height: 45px;
  color: #4C4C4D;
}
@media screen and (max-width:757px) {
	.event-info p { font-size:15px; line-height:2; }
}

.event-label {
  font-weight: bold;
  text-align: left; /* 左揃え */
}
@media screen and (max-width:757px) {
	.event-label { margin-bottom:-13px; }
}

.event-image {
  flex: 1;
  max-width: 500px;
  border-radius: 20px;
  overflow: hidden;
  vertical-align: top;
}

.event-image img {
  width: 100%;
  height: 430px;
  object-fit: cover;
  display: block;
}
@media screen and (max-width:757px) {
	.event-image img { height:250px; }
}

@media (max-width: 757px) {
  .event-container {
    flex-direction: column;
    text-align: left;
  }

  .event-info {
    grid-template-columns: 1fr; /* モバイルでは1列に */
  }
}


.overview-moji {
  max-width: 1100px;
  padding: 20px;
  margin-top:30px;
}




/* -------------------------photo--------------------------------- */
.photo {
  width:90%;
  max-width:1200px;
  right:0;
  left:0;
  margin:auto;
  padding-bottom:50px;
}
@media screen and (max-width:757px) {
	.photo { width:100%; padding-bottom:50px; }
}


.photo-container {
  width: 100%;
  margin-bottom: -10px;
}
@media screen and (max-width:757px) {
	.photo-container { padding-bottom:-10px; }
}

.photo-row {
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
}
@media screen and (max-width:757px) {
  .photo-row {gap:5px; margin-bottom:5px; }
}

.photo-large {
  flex: 1 1 100%;
}
.photo-large img {
  width: 100%;
  height: 450px;
  object-fit: cover;
  display: block;
}
@media screen and (max-width:757px) {
	.photo-large img { height:180px; }
}

.photo-small {
  flex: 1;
}
.photo-small img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  border-radius: 20px;
}
@media screen and (max-width:757px) {
	.photo-small img { height:80px; border-radius:10px; }
}

.photo-medium {
  flex: 1;
}
.photo-medium img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  display: block;
  border-radius: 20px;
}
@media screen and (max-width:757px) {
	.photo-medium img { height:100px; border-radius:10px; }
}

/* 左端と右端の画像の角を丸めない */
.photo-row .photo-medium:first-child img, .photo-row .photo-small:first-child img {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
  }

.photo-row .photo-medium:last-child img, .photo-row .photo-small:last-child img {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
  }




/* -------------------------contact--------------------------------- */
.contact {
  width:90%;
  max-width:1200px;
  right:0;
  left:0;
  margin:auto;
  padding-top:100px;
  padding-bottom:150px;
}
@media screen and (max-width:757px) {
	.contact { padding-top:80px; padding-bottom:100px; }
}

.contact-message {
  text-align: center;
  margin-top: 80px;
}
@media screen and (max-width:757px) {
.contact-message { 
    margin-top: 50px;
    text-align: left;
}
}


.contact-text {
  font-size: 16px;
  line-height: 1.8;
  color: #003288;
  font-weight: bold;
  margin-bottom: 40px;
}
@media screen and (max-width:757px) {
  .contact-text { 
    font-size: 14px; 
  }
}

.contact-btn {
  display: inline-block;
  background-color: #003288;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  padding: 30px 60px 25px 60px;
  border-radius: 50px;
  transition: background 0.3s;
}
@media screen and (max-width:757px) {
.contact-btn {
    font-size: 15px; 
    width:100%;
    text-align: center;
  }
}

.contact-btn:hover {
  background-color: #02173d;
}


/* -------------------------header--------------------------------- */
@media screen and (max-width:757px) {
  .headerLogo {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
  }

  .headerLogo.is-visible {
    opacity: 1;
    visibility: visible;
  }
}