@charset "UTF-8";
html {
  width: 100% !important;
  background: #fff;
  overflow-y: hidden;
}
body {
  width: 100% !important;
  height: 100% !important;
  font-size: 16px;
  color: #444;
  line-height: 200%;
  overflow-x: hidden;
  font-family:'Roboto','Hiragino Sans','Meiryo','Hiragino Kaku Gothic ProN',sans-serif;
  background-color: #fff;
  background-repeat: repeat-y;
  background-size: cover;
  background-attachment: fixed;
}
/**reset**/
h1.title{display:none;}
header {display:none;}
#main-wrap , .main , .col-1 , .box-a{margin:0 auto !important;padding: 0 !important; width:100% !important;max-width:100% !important;}
#pankuzu_v2 {display:none;}
#common {margin:0 !important;}
footer {margin:0 !important; display:none !important;}
small {display:none !important;}
/**reset**/
img { width: 100%;}
a {
  opacity: 1;
  transition: all .3s;
  color: #ccc;
}
a:hover {
  opacity: 0.8;
  transition: all .3s;
}
.pc_only{display: block;}
.sp_only{display: none;}
.fv {
  position: relative;
}
.fv_cta {
  position: absolute;
  top: 95%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.video {
  position: relative;
}
.video iframe{
  width: 30%
  height: 15%;
}
/* フォールバック：aspect-ratio未対応ブラウザ用 */
@supports not (aspect-ratio: 1 / 1) {
  .video{
    position: relative;
    height: 0;
    padding-top: 56.25%; /* 16:9 → 9/16=0.5625=56.25% */
  }
  .video iframe{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
}
.youtube {
  position: absolute;
  top: 26%;
  right: 26%;
}
.cta {
  width: 700px;
  margin: 4rem auto;
}
.ctasub{
  width: 375px;
  margin: 2rem auto;
}

#footer {
  background: #333;
  margin-top:6rem;
}
#footer .footer_inner{
  font-size: 80%;
  color: #ccc;
  width: 1000px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5vw 0;
}
#footer .footer_inner img{
  width: 146px;
}
#footer .copy{
  width: 1000px;
  margin: 0 auto !important;
  border-top: 1px dotted #666;
  font-size: 80%;
  text-align: center !important;
  color: #888;
  padding: 1vw 0;
}
.is-open {
  visibility: visible;
  opacity: 1;
}
.fadeUpTrigger{
    opacity: 0;
}
.fadeUp{
	animation-name:fadeUpAnime;
	animation-duration:0.8s;
	animation-fill-mode:forwards;
	opacity:0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }}
.anime-updown {
  animation: 2s fuwafuwa infinite;
}
@keyframes fuwafuwa {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
.qa {
  background: url(/assets_lp/utg/t-work/images/qa_back.webp) no-repeat;
  margin: 2rem 0;
  padding: 2rem 0 4rem 0;
}
.qa .support_inner{
  width:1000px;
  margin: 0 auto;
}
.qa .qa_title{
  position: relative;
  display: inline-block;
  background: #fff;
  width: 100%;
  font-size: 150%;
  color: #fff;
  text-align: center;
  letter-spacing: .1rem;
}
.qa .qa_title:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  border: 15px solid transparent;
  border-top: 15px solid #0477da;
}
.qa .support_inner .support_box{
  width:96%;
  font-size:100%;
  display: none;/*はじめは非表示*/
  background: #f6f6f6;
  text-align:left;
  font-weight: bold;
  border-radius: 0 0 10px 10px;
  border-left: 4px solid #333;
  border-right: 4px solid #333;
  border-bottom: 4px solid #333;
  padding:2rem;
  margin: 0 auto !important;
}
.qa .support_inner .title{
  background: #fff;
  border-radius: 10px;
  border: 4px solid #333;
  color: #333;
  position: relative;/*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size:120%;
  font-weight: bold;
  transition: all .5s ease;
  text-align: center;
  padding:2rem 0 2rem 1rem !important;
  margin-top:2rem;
  margin-bottom:0 !important;
}
.qa .support_inner .support_box .red{
  color: #c00;
}

/*アイコンの＋と×*/
.title::before,
.title::after{
    position: absolute;
    content:'';
    width: 20px;
    height: 5px;
    background-color: #333;
}
.title::before{
    top:46%;
    right: 15px;
    transform: rotate(0deg);
}
.title::after{
    top:46%;
    right: 15px;
    transform: rotate(90deg);
}
/*　closeというクラスがついたら形状変化　*/
.title.close::before{
  transform: rotate(45deg);
}
.title.close::after{
  transform: rotate(-45deg);
}
.qa .support_inner table{
  width:100%;
  margin: 0 auto;
  background: #fff;
}
.qa .support_inner table th{
  width:25%;
  font-size:90%;
  color: #666;
  text-align:center;
  border-top: 2px solid #ccc;
  border-bottom: 2px solid #ccc;
  padding: 1rem 0;
  vertical-align:middle;
}
.qa .support_inner table td{
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  font-weight:normal;
  padding: .5rem 0;
  text-align:center !important;
  vertical-align:middle;
}
.qa .support_inner table .ranksmall{
  font-size:70%;
}
.qa .support_inner table .rankdot{
  font-size:140%;
}
.qa .support_inner table .black{
  color: #000;
}
.qa .support_inner table .platinum{
  color: #c4be9f;
}
.qa .support_inner table .gold{
  color: #c4a95e;
}
.qa .support_inner table .silver{
  color: #b1b1b1;
}
.qa .support_inner table .bronze{
  color: #ad8c5c;
}
.qa .support_inner table .green{
  color: #8aca2b;
}
/* # =================================================================
   # SP
   # ================================================================= */

@media (max-width: 750px) {
  #contents .contents_inner {
    width: 100%;
    border-left: none;
    border-right: none;
  }
  #contents .contents_wrapper {
    border-left: none;
    border-right: none;
  }
  #contents .contents_inner {
    width: 100%;
  }
  .fv_cta {
    position: absolute;
    top: 92%;
  }
  .cta {
    width: 85%;
    margin: 2rem auto;
  }
  .ctasub{
    width: 70%;
    margin: 1rem auto;
  }
  .youtube {
    width: 192px;
    height: 108px;
    top: 26%;
    right: 3%;
  }
  .qa {
    padding: 1rem 0 3rem 0;
  }
  .qa .support_inner{
    width:98%;
  }
  .qa .qa_title{
    padding: 4vw 0;
  }
  .qa .support_inner .title{
    padding: 4vw;
    font-size:90%;
  }
  .qa .support_inner .support_box{
    font-size:90%;
    width:90%;
    padding: 2.5vw;
  }
  .qa .support_inner table .rankdot{
    font-size:110%;
    display:block;
    line-height: 110%;
  }
  .qa .support_inner table .ranksmall{
    display:block;
    line-height: 110%;
  }
  #footer {
    padding-bottom: 40px;
  }
  #footer .footer_inner{
    width: 90%;
  }
  #footer .footer_inner p{
    font-size: 80%;
  }
  #footer .footer_inner img{
    width: 50px;
  }
  #footer .copy{
    width: 100%;
    font-size: 80%;
    padding: 3vw 0;
  }
.pc_only{display: none;}
.sp_only{display: block;}
}