@charset "UTF-8";

.banner
{
 position: relative;
 width: 100%;
 padding: 0;
 margin: 0
}

.mobile_banner
{
 display: none
}

.banner_wrap
{
 position: relative;
 max-width: 1380px;
 padding-top: 190px;
 padding-left: 50px;
 padding-right: 50px;
 padding-bottom: 90px;
 margin: 0 auto
}

.banner_text
{
 position: relative;
 max-width: 750px;
 padding-top: 25px;
 padding-left: 30px;
 padding-right: 30px;
 padding-bottom: 15px;
 margin: 0;
 border-radius: 5px;
 background: #FFFFFF;
 box-sizing: border-box
}

.banner_text h1
{
 font-size: 1.5rem;
 margin-bottom: 10px
}

.banner_text p
{
 font-weight: 400;
 line-height: 1.5;
 margin-bottom: 10px
}

.pos_widget
{
 position: relative;
 width: 100%;
 max-width: 1380px;
 padding-left: 50px;
 padding-right: 50px;
 margin: 50px auto;
 box-sizing: border-box
}

.pos_widget_skeleton
{
 display: flex;
 align-items: center;
 justify-content: center;
 width: 100%;
 height: 160px;
 background: linear-gradient(90deg, #EDF1F5 25%, #DFE7EF 37%, #EDF1F5 63%);
 background-size: 400% 100%;
 border-radius: 8px;
 animation: pos_widget_wave 1.8s ease infinite
}

.pos_widget_loading
{
 width: 48px;
 height: 48px;
 border: 5px solid #999999;
 border-bottom-color: transparent;
 border-radius: 50%;
 box-sizing: border-box;
 animation: pos_widget_rotation 1s linear infinite
}

@keyframes pos_widget_wave
{
 0%
 {
  background-position: 100% 50%;
 }

 100%
 {
  background-position: 0 50%;
 }
}

@keyframes pos_widget_rotation
{
 0%
 {
  transform: rotate(0deg);
 }

 100%
 {
  transform: rotate(360deg);
 }
}

.pos_promo
{
 position: relative;
 width: 100%;
 max-width: 1380px;
 padding-left: 50px;
 padding-right: 50px;
 margin: 0 auto 50px;
 box-sizing: border-box
}

.pos_promo img
{
 display: block;
 width: 100%;
 height: auto;
 border-radius: 6px
}

.home_promo
{
 position: relative;
 width: 100%;
 max-width: 1380px;
 padding-left: 50px;
 padding-right: 50px;
 margin: 0 auto 50px;
 box-sizing: border-box
}

.home_promo_pc
{
 display: block
}

.home_promo_pc img
{
 display: block;
 width: 100%;
 height: auto;
 margin: 0 auto;
 border-radius: 6px
}

.home_promo_mobile
{
 display: none
}

.home_promo_mobile img
{
 display: block;
 width: 100%;
 height: auto;
 border-radius: 6px
}

.content
{
 position: relative;
 max-width: 1380px;
 padding-top: 0;
 padding-left: 50px;
 padding-right: 50px;
 padding-bottom: 0;
 margin: 0 auto
}

.utp_row
{
 display: grid;
 grid-template-columns: 1fr 1fr 1fr;
 grid-gap: 30px;
 position: relative;
 padding: 0;
 margin-top: 50px;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 70px
}

.utp_item
{
 position: relative;
 padding-top: 40px;
 padding-left: 30px;
 padding-right: 30px;
 padding-bottom: 40px;
 margin: 0;
 text-align: center;
 background: #F0F0F0;
 border: 1px solid #E9E9E9;
 border-radius: 7px;
 box-sizing: border-box
}

.utp_item_intro
{
 font-size: 1.063rem;
 font-weight: 600;
 color: #002e5e;
 line-height: 1.5;
 position: relative;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 25px
}

.utp_item_title
{
 font-size: 1.625rem;
 font-weight: 700;
 color: #002e5e;
 line-height: 1.3;
 position: relative;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 25px
}

.utp_item_title .link,
.utp_item_title .link:active,
.utp_item_title .link:visited
{
 color: #0E8AAB;
 text-decoration: none
}

.utp_item_title .link:hover
{
 color: #002e5e
}

.utp_item_text
{
 position: relative;
 padding: 0;
 margin: 0
}

.utp_item_text p
{
 font-weight: 400;
 color: #000000;
 line-height: 1.6;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 15px
}

.utp_item_text p:last-child
{
 margin-bottom: 0
}

.utp_item_text a,
.utp_item_text a:active,
.utp_item_text a:visited
{
 color: #002e5e;
 text-decoration: none
}

.utp_item_text a:hover
{
 color: #888888
}

.subhead
{
 position: relative;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 50px
}

.subhead h2
{
 font-size: 1.25rem;
 text-align: center;
 margin: 0
}

.subhead_split
{
 display: flex;
 align-items: baseline;
 justify-content: space-between;
 gap: 20px
}

.subhead_split h2
{
 font-size: 1.25rem;
 text-align: left;
 margin: 0
}

.subhead_all
{
 position: relative;
 padding: 0;
 margin: 0
}

.subhead_all .link,
.subhead_all .link:active,
.subhead_all .link:visited
{
 font-size: 0.938rem;
 font-weight: 600;
 color: #002e5e;
 text-decoration: none;
 white-space: nowrap
}

.subhead_all .link:hover
{
 color: #00ACD4
}

.insert
{
 position: relative;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 50px;
 background: #F0F0F0;
 border-top: 1px solid #E9E9E9;
 border-bottom: 1px solid #E9E9E9
}

.insert_wrap
{
 position: relative;
 max-width: 1380px;
 padding-top: 50px;
 padding-left: 50px;
 padding-right: 50px;
 padding-bottom: 50px;
 margin: 0 auto
}

.insert_row
{
 display: grid;
 grid-template-columns: 1fr 1fr 1fr 1fr;
 grid-gap: 30px;
 position: relative;
 padding: 0;
 margin: 0
}

.row
{
 display: grid;
 grid-template-columns: 1fr 1fr 1fr 1fr;
 grid-gap: 30px;
 position: relative;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 50px
}

.row_triple
{
 grid-template-columns: 1fr 1fr 1fr
}

.insert .row
{
 margin-bottom: 0
}

.insert .item_image_empty,
.insert .item_image_icon
{
 background: #FFFFFF
}

.item
{
 position: relative;
 padding: 0;
 margin: 0
}

.item a
{
 display: flex;
 flex-direction: column;
 height: 100%
}

.item_image
{
 position: relative;
 height: 14vw;
 max-height: 200px;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 20px;
 box-sizing: border-box
}

.item_image img
{
 object-fit: cover;
 width: 100%;
 height: 100%;
 border-radius: 5px
}

.item_image_empty
{
 display: flex;
 align-items: center;
 justify-content: center;
 background: #F0F0F0;
 border-radius: 5px
}

.item_image_icon
{
 display: flex;
 align-items: center;
 justify-content: center;
 background: #F0F0F0;
 border-radius: 5px
}

.item_image_icon img
{
 object-fit: contain;
 width: 60%;
 height: 60%
}

.item_image_empty img
{
 object-fit: contain;
 width: 40%;
 height: 40%;
 opacity: 0.5
}

.item_text
{
 position: relative;
 padding: 0;
 margin: 0
}

.item_text h3
{
 font-size: 0.938rem;
 margin-bottom: 10px
}

.item_text p
{
 color: #000000;
 line-height: 1.5
}

.item_date
{
 font-family: 'PT Root', Helvetica, sans-serif;
 font-size: 0.75rem;
 font-weight: 500;
 color: #333333;
 position: relative;
 padding: 0;
 margin-top: auto;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 0
}

.item_title
{
 font-size: 0.875rem;
 font-weight: 500;
 position: relative;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 10px
}

.item_price
{
 font-family: 'PT Root', Helvetica, sans-serif;
 font-size: 0.875rem;
 font-weight: 500;
 color: #000000;
 position: relative;
 padding: 0;
 margin: 0
}

.new_price
{
 color: #CC0000
}

.old_price
{
 color: #666666;
 text-decoration: line-through;
 margin-left: 5px
}

.social_text
{
 position: relative;
 max-width: 700px;
 padding: 0;
 margin: auto
}

.social_title
{
 font-size: 0.938rem;
 font-weight: 600
}

.social_text p
{
 text-align: center;
 line-height: 1.7;
 margin: 0
}

.insert .social_text
{
 max-width: 1150px;
 margin-left: auto;
 margin-right: auto
}

.insert .social_text p
{
 font-size: 1.125rem;
 text-align: center;
 line-height: 1.7;
 margin: 0
}

.insert .social_text .social_title
{
 font-size: 1.125rem;
 font-weight: 600
}

.insert .social_text .link,
.insert .social_text .link:active,
.insert .social_text .link:visited
{
 color: #002e5e;
 font-weight: 700
}

.insert .social_text .link:hover
{
 color: #00ACD4
}

.end_row
{
 margin-bottom: 70px
}

@media screen and (max-width: 1580px)
{
 .banner_wrap
 {
  padding-top: 130px;
  padding-bottom: 50px
 }

 .utp_row
 {
  margin-top: 30px
 }
}

@media screen and (max-width: 1380px)
{
 .banner_wrap
 {
  padding-top: 110px;
  padding-bottom: 30px
 }
}

@media screen and (max-width: 1180px)
{
 .banner_wrap
 {
  padding-left: 30px;
  padding-right: 30px
 }

 .banner_text
 {
  max-width: 590px
 }

 .content,
 .insert_wrap
 {
  padding-left: 30px;
  padding-right: 30px
 }

 .utp_row
 {
  margin-bottom: 50px
 }

 .utp_item
 {
  padding-left: 20px;
  padding-right: 20px
 }

 .utp_item_title
 {
  font-size: 1.375rem
 }
}

@media screen and (max-width: 980px)
{
 .banner_wrap
 {
  padding-top: 390px
 }

 .banner_text
 {
  max-width: 100%
 }

 .insert_row,
 .row
 {
  grid-template-columns: 1fr 1fr
 }

 .item_image
 {
  height: 30vw;
  max-height: 220px
 }
}

@media screen and (max-width: 780px)
{
 .utp_row
 {
  grid-template-columns: 1fr
 }
}

@media screen and (max-width: 480px)
{
 .mobile_banner
 {
  display: block;
  position: relative;
  width: 100%;
  padding: 0;
  margin: 0
 }

 .mobile_banner img
 {
  width: 100%;
  height: auto
 }

 .banner_wrap
 {
  padding: 0
 }

 .banner_text
 {
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 0;
  background: #F0F0F0;
  border-bottom: 1px solid #E6E6E6
 }

 .banner_text h1
 {
  font-size: 1.375rem
 }

 .banner_text p
 {
  font-size: 1.063rem
 }

 .pos_widget
 {
  padding-left: 20px;
  padding-right: 20px;
  margin: 30px auto
 }

 .pos_widget_skeleton
 {
  height: 420px
 }

 .pos_promo
 {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 30px
 }

 .home_promo
 {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 30px
 }

 .home_promo_pc
 {
  display: none
 }

 .home_promo_pc:only-child
 {
  display: block
 }

 .home_promo_mobile
 {
  display: block
 }

 .content
 {
  padding-left: 20px;
  padding-right: 20px
 }

 .utp_item_intro
 {
  font-size: 1.125rem
 }

 .utp_item_text p
 {
  font-size: 1rem
 }

 .utp_row,
 .subhead,
 .insert
 {
  margin-bottom: 30px
 }
 
 .insert_wrap
 {
  padding-top: 30px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 30px
 }

 .insert_row
 {
  grid-template-columns: 1fr
 }

 .row
 {
  grid-template-columns: 1fr;
  margin-bottom: 30px
 }

 .item_image
 {
  height: 100vw;
  max-height: 240px
 }

 .item_text h3
 {
  font-size: 1.125rem;
 }

 .item_date
 {
  font-size: 1rem
 }

 .item_title
 {
  font-size: 1.125rem;
  font-weight: 600
 }

 .item_price
 {
  font-size: 1.125rem
 }

 .item_info
 {
  font-size: 1rem
 }

 .social_title
 {
  font-size: 1.125rem
 }

 .end_row
 {
  margin-bottom: 35px
 }
}
