
/* ==========================================================================
初期設定
========================================================================== */

@media only screen and (min-width: 768px) and (max-width: 1600px) {
	html {
		font-size: calc(10 * (100vw / 1600)) !important;
	}
}
@media (max-width: 767px) {
	.lp * {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
}
  html {
    font-size: 62.5%;
  }

  :where(.uka_240301) img,
  :where(.uka_240301) video,
  :where(.uka_240301) svg {
    width: 100%;
    height: auto;
  }

  body {
    background-color: #E4E4E4;
  }

  .uka_240301 .sp_only {
    display: block;
  }

  .uka_240301 .pc_only {
    display: none;
  }

  .uka_240301 {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;;
    font-weight: normal;
    font-feature-settings: "palt";
    color: #555555;
    font-weight: 500;
    background-color: #E4E4E4;
  }

/************** js **************/
  /* fade */
  .fade {
    transition-property: opacity, transform;
    transition-duration: 1.5s;
    opacity: 0;
    transform: translateY(1.5rem);
  }

  .fade.onView {
    opacity: 1;
    transform: translateY(0);
  }

  /* border */
  @keyframes border_anime {
    0%{
      width: 0%;
    }
    100%{
      width: 100%;
    }
  }

  .sec_ttl_border {
    position: relative;
  }

  .sec_ttl_border.border_bottom {
    position: relative;
  }

  .sec_ttl_border.border_bottom::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    border-bottom: solid 1px #555555;
    animation: border_anime 1.8s ease forwards;
    animation-delay: 0.5s;
  }

  /* ===========### font ###=========== */
  .uka_240301 {
    --bernino-sans: "jaf-bernino-sans", sans-serif;
    font-style: normal;
    font-weight: 400;
  }

  .uka_240301 .sec01 .sec_box02 .sec_sub_box02 div p,
  .uka_240301 .sec01 .sec_box03 .sec_sub_box02 div p {
    font-family: var(--bernino-sans);
  }


/* ==========================================================================
編集エリア
========================================================================== */

  .uka_240301 .flex_box-vertical{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
  }

/************** common **************/
  .lp {
    padding-bottom: calc(68* (100vw /750));
  }

  .uka_240301 {
    padding-bottom: 0;
  }

  /*** sec ***/
  .uka_240301 .sec {
    width: calc(660* (100vw /750));
  }

  /*** sec_text ***/
  .uka_240301 .sec_text {
    font-size: calc(24* (100vw /750));
    letter-spacing: 0.075em;
    line-height: 2;
    font-weight: 500;
    text-align: justify;
    color: #555555;
    font-feature-settings: 'palt';
  }

  /*** sec_tax ***/
  .sec_tax {
    margin-top: calc(46* (100vw /750));
    font-size: calc(20* (100vw /750));
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 2;
  }

  /*** h3 ***/
  .uka_240301 h3 {
    letter-spacing: 0.1em;
    font-weight: 500;
  }

  .uka_240301 .sec_ttl {
    font-size: calc(32* (100vw /750));
    font-family: var(--bernino-sans);
  }

  .sec_ttl_border {
    padding-bottom: calc(28* (100vw /750));
  }

  
/************** mv **************/
  .uka_240301 .mv {
    margin: 0 auto calc(128* (100vw /750));
  }

  .uka_240301 .mv_img {
    margin-bottom: calc(48* (100vw /750));
    width: 100%;
  }

  .uka_240301 .mv h2 {
    margin: 0 auto calc(40* (100vw /750));
    width: calc(626* (100vw /750));
    text-align: center;
    font-weight: 500;
  }

  .uka_240301 .mv h2 .logo_img {
    margin: 0 auto calc(-8* (100vw /750));
  }

  .uka_240301 .mv h2 p {
    font-size: calc(29* (100vw /750));
    letter-spacing: 0.14em;
    color: #555555;
    text-align: center;
    font-weight: 500;
    line-height: 2.2;
  }

  .uka_240301 .mv_text {
    font-size: calc(24* (100vw /750));
    letter-spacing: 0.1em;
    line-height: 2;
    color: #555555;
    text-align: center;
    font-weight: 500;
    font-feature-settings: 'palt';
  }

/************** sec01 **************/
  .uka_240301 .sec01 {
    margin: 0 auto calc(125* (100vw /750));
  }

  .uka_240301 .sec01 h3 {
    margin-bottom: calc(60* (100vw /750));
  }

  /*** sec_box01 ***/
  .uka_240301 .sec01 .sec_box01 {
    margin: 0 auto calc(132* (100vw /750));
  }

  .uka_240301 .sec01 .sec_box01 .sec_sub_box01 .img01 {
    margin: 0 auto calc(54* (100vw /750));
    width: calc(660* (100vw /750));
  }

  .uka_240301 .sec01 .sec_box01 .text_box .logo_img {
    margin: 0 auto calc(36* (100vw /750));
    width: calc(562* (100vw /750));
  }

  /*** sec_box02 ***/
  .uka_240301 .sec01 .sec_box02 {
    margin: 0 auto calc(148* (100vw /750));
  }

  .uka_240301 .sec01 .sec_box02 .sec_sub_box01 {
    margin: 0 auto;
  }

  .uka_240301 .sec01 .sec_box02 .sec_big_box {
    margin-bottom: calc(55* (100vw /750));
    gap: calc(60* (100vw /750)) 0;
  }

  .uka_240301 .sec01 .sec_box02 .sec_big_box:nth-of-type(2) {
    margin-bottom: calc(45* (100vw /750));
  }

  .uka_240301 .sec01 .sec_box02 .sec_sub_box02 div {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 calc(32* (100vw /750));
  }

  .uka_240301 .sec01 .sec_box02 .sec_sub_box02 div span {
    width: calc(80* (100vw /750));
  }

  .uka_240301 .sec01 .sec_box02 .sec_sub_box02 div p {
    font-size: calc(32* (100vw /750));
    letter-spacing: 0.1em;
  }

  /*** sec_box03 ***/
  .uka_240301 .sec01 .sec_box03 .sec_sub_box01 {
    margin: 0 auto;
  }

  .uka_240301 .sec01 .sec_box03 .sec_sub_box02 div {
    margin: calc(80* (100vw /750)) 0 calc(48* (100vw /750));
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 calc(31* (100vw /750));
  }

  .uka_240301 .sec01 .sec_box03 .sec_sub_box02 div span {
    width: calc(74* (100vw /750));
  }

  .uka_240301 .sec01 .sec_box03 .sec_sub_box02 div p {
    font-size: calc(32* (100vw /750));
    letter-spacing: 0.1em;
  }

/************** sec02 **************/
  .uka_240301 .sec02 {
    margin: 0 auto calc(127* (100vw /750));
  }

  .uka_240301 .sec02 h3 {
    margin-bottom: calc(43* (100vw /750));
    font-size: calc(32* (100vw /750));
    letter-spacing: 0.1em;
    color: #555555;
    text-align: center;
    font-weight: 500;
    line-height: 2.25;
  }

  .uka_240301 .sec02 .img04 {
    margin-bottom: calc(58* (100vw /750));
  }

/************** all_item **************/
  .uka_240301 .all_item {
    margin: 0 auto;
    width: calc(540* (100vw /750));
  }

  .uka_240301 .all_item a {
    display: inline-block;
  }

  .uka_240301 .all_item a:nth-of-type(1) {
    margin: 0 auto calc(62* (100vw /750));
  }


/* ===============================================### 
PC用デザイン
###=============================================== */
@media screen and (min-width:768px) {
  .uka_240301 .sp_only {
    display: none;
  }

  .uka_240301 .pc_only {
    display: block;
  }

  .uka_240301 .flex_box{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: row;
  }

  .uka_240301 .flex_box-vertical{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
  }

  .uka_240301 .flex_box_inverse {
    flex-direction: row-reverse;
  }


/************** common **************/
  .lp {
    padding: 0;
  }

  .uka_240301 {
    padding-bottom: 12rem;
  }

  /*** sec ***/
  .uka_240301 .sec {
    width: 66.0rem;
  }

  /*** sec_text ***/
  .uka_240301 .sec_text {
    margin: -.6rem 0;
    font-size: 1.4rem;
    letter-spacing: 0.075em;
  }

  /*** sec_tax ***/
  .sec_tax {
    margin-top: 1.2rem;
    font-size: 1.2rem;
  }

  /*** h3 ***/
  .uka_240301 h3 {
    letter-spacing: 0.1em;
    font-weight: 500;
  }

  .uka_240301 .sec_ttl {
    font-size: 2rem;
  }

  .sec_ttl_border {
    padding-bottom: 1.4rem;
  }


/************** mv **************/
  .uka_240301 .mv {
    margin: 0 auto 9.4rem;
  }

  .uka_240301 .mv_img {
    margin: 0 auto 6rem;
    width: 90rem;
  }

  .uka_240301 .mv h2 {
    margin: 0 auto 3rem;
    width: 100%;
  }

  .uka_240301 .mv h2 .logo_img {
    margin: 0 auto .8rem;
    width: 41.4rem;
  }

  .uka_240301 .mv h2 p {
    font-size: 2rem;
    letter-spacing: 0.14em;
  }

  .uka_240301 .mv_text {
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    font-feature-settings: 'palt';
  }


/************** sec01 **************/
  .uka_240301 .sec01 {
    margin: 0 auto 11.9rem;
  }

  .uka_240301 .sec01 h3 {
    margin-bottom: 4rem;
  }

  /*** sec_box01 ***/
  .uka_240301 .sec01 .sec_box01 {
    margin: 0 auto 9.4rem;
  }

  .uka_240301 .sec01 .sec_box01 .sec_sub_box01 {
    width: 100%;
  }

  .uka_240301 .sec01 .sec_box01 .sec_sub_box01 .img01 {
    margin: 0;
    width: 32rem;
  }

  .uka_240301 .sec01 .sec_box01 .sec_sub_box01  .text_box {
    width: 29.5rem;
  }

  .uka_240301 .sec01 .sec_box01 .text_box .logo_img {
    margin: 0 auto 5rem;
    width: 23.4rem;
  }

  /*** sec_box02 ***/
  .uka_240301 .sec01 .sec_box02 {
    margin: 0 auto ;
  }

  .uka_240301 .sec01 .sec_box02 .sec_sub_box01 {
    margin: 0;
    width: 32rem;
  }

  .uka_240301 .sec01 .sec_box02 .sec_big_box {
    margin-bottom: 0;
    gap: 3.6rem 0;
  }

  .uka_240301 .sec01 .sec_box02 .sec_big_box:nth-of-type(2) {
    margin-bottom: 0;
    gap: 2rem 0;
  }

  .uka_240301 .sec01 .sec_box02 .sec_sub_box02 div {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 1.5rem;
  }

  .uka_240301 .sec01 .sec_box02 .sec_sub_box02 div span {
    width: 4rem;
  }

  .uka_240301 .sec01 .sec_box02 .sec_sub_box02 div p {
    font-size: 2rem;
    letter-spacing: 0.1em;
  }

  .uka_240301 .sec01 .sec_box02 .flex_box {
    margin-bottom: 2.9rem;
  }

  /*** sec_box03 ***/
  .uka_240301 .sec01 .sec_box03 .sec_sub_box01 {
    margin: 0 auto;
  }

  .uka_240301 .sec01 .sec_box03 .sec_sub_box02 div {
    margin: 8.0rem 0 4.8rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 3.1rem;
  }

  .uka_240301 .sec01 .sec_box03 .sec_sub_box02 div span {
    width: 7.4rem;
  }

  .uka_240301 .sec01 .sec_box03 .sec_sub_box02 div p {
    font-size: 3.2rem;
    letter-spacing: 0.1em;
  }

/************** sec02 **************/
  .uka_240301 .sec02 {
    margin: 0 auto 11.9rem;
  }

  .uka_240301 .sec02 h3 {
    margin-bottom: 3.5rem;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    color: #555555;
    text-align: center;
    font-weight: 500;
    line-height: 2.25;
  }

  .sec02 .sec_sub_box01 {
    align-items: center;
    flex-direction: row-reverse;
  }

  .uka_240301 .sec02 .img04 {
    margin-bottom: 0;
    width: 32rem;
  }

  .uka_240301 .sec02 .text_box {
    width: 29.5rem;
  }

  .uka_240301 .sec02 .sec_text {
    padding-bottom: 1.2rem;
  }

/************** all_item **************/
  .uka_240301 .all_item {
    margin: 0 auto;
    width: 44.0rem;
  }

  .uka_240301 .all_item a {
    display: inline-block;
  }

  .uka_240301 .all_item a:nth-of-type(1) {
    margin: 0 auto 4rem;
  }


}


@media screen and (max-width:767px) {
  .item_img a:hover {
    opacity: 1!important;
  }
}