@charset "UTF-8";
/* =============================================
                    COMMON
============================================= */
body{ font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W6", "Hiragino Kaku Gothic ProN", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}
.en{ font-family: 'Manrope', YuGothic, 'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, sans-serif;}
sup{ font-size: 70%; color: #cd0000; vertical-align: top; position: relative; top: -0.1em;}

/* =============================================
                    CONTENTS
============================================= */
*{ box-sizing: border-box;}
.btn-black a{ background: #000; font-weight: 400; line-height: 1.3; color: #fff; text-align: center; text-decoration: none; display: block; position: relative; cursor: pointer; border-radius: 40px;}
.btn-black a::after{
    content: "\f105";
    font-family: FontAwesome;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
}
header{ background: #fff; width: 100%;}
header .inner{ display: flex; align-items: center;}
header .logo-GDO{ margin-right: auto;}
#main .box01 p.text{ line-height: 1.8;}
#main .box01 .profile{ background: #f4f4f4; border-radius: 10px; display: flex; align-items: center;}
#main .box01 .profile .detail h2{ font-weight: 700;}
#main .box01 .profile .detail h2 span{ display: inline-block;}
#main .box01 .profile .detail p{ line-height: 1.6;}
section .tit-box h2{ font-weight: 700; line-height: 1.3; color: #fff; position: absolute; top: 50%; transform: translateY(-50%);}
section .box{ border-bottom: 1px solid #eee;}
section .box .stit-box{ text-align: center;}
section .box .stit-box p{ font-weight: bold; line-height: 1.3; position: relative;}
section .box .stit-box p::after{ content: ""; background: #ad0824; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);}
section .box .stit-box h3{ font-weight: 700; line-height: 1.3;}
section .box .detail p{ line-height: 1.8;}
section .box .detail .point-box{ display: flex;}
section .box .detail .point-box .ico{ flex-shrink: 0;}
section .box .detail .point-box .balloon{ background: #f5f5f7; line-height: 1.8;}
section .summary-box{ background: #f5f5f7;}
section .summary-box h3{ font-weight: 700; line-height: 1.3; text-align: center;}
section .summary-box table{ border-top: 1px solid #eee; width: 100%;}
section .summary-box table th,
section .summary-box table td{ line-height: 1.6; text-align: left; border-bottom: 1px solid #eee;}
section .summary-box table th{ font-weight: 700;}
#page-top{ position: fixed; z-index: 90; display: none;}
#page-top a{ display: block;}
footer{ background: #000; color: #fff; text-align: center;}
footer a{ color: #fff;}

/* ==== PC ===== */
@media screen and (min-width: 768px){
body{ font-size: 16px;}
#contents{
    min-width: 1046px;
    overflow: hidden;
    background-image: url("../img/R2G_bg.png"); /* 画像のパス */
    background-repeat: repeat-y;       /* 縦方向（Y軸）に繰り返し */
    background-position: top center;   /* 必要に応じて位置を調整 */
}

a:hover,a:hover img{ opacity: 0.8; transition: .4s;}
.pc{ display: block;}
.sp{ display: none;}
.btn-black{ width: 520px; margin: 30px auto 0;}
.btn-black a{ box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.25); font-size: 24px; padding: 25px 0;}
.btn-black a::after{ font-size: 24px; right: 15px;}
.btn-black a:hover{ box-shadow: none; transition: .4s;}
.inner{ width: 1046px; margin: 0 auto; position: relative}
header{ padding: 18px 0 26px;}
header .logo-HUAWEI{ margin-top: 6px;}
/* #main .mv{ background-image: url(../img/mainimg.jpg), url(../img/mainimg.jpg); background-position: top center, top left; background-repeat: no-repeat, repeat-x;} */
#main .mv{ background-image: url(../img/mainimg.jpg), linear-gradient(to bottom,#f5f5f7, #f5f5f7, #f5f5f7, #f5f5f7, #ffffff); background-position: top center; background-repeat: no-repeat;}
#main .mv .inner{ height: 545px;}
#main .mv h1{ position: absolute; bottom: 0; left: 37px;}
#main .box01{ padding: 10px 0 10px;}
#main .box01 p.text{ font-size: 18px; text-align: center; margin-bottom: 35px;}
#main .box01 .profile{ width: 900px; padding: 20px; margin: 0 auto;}
#main .box01 .profile .img{ margin-right: 20px;}
#main .box01 .profile .detail .stit{ margin-bottom: 5px;}
#main .box01 .profile .detail h2{ font-size: 20px; margin-bottom: 15px;}
#main .box01 .profile .detail h2 span{ font-size: 14px; margin-left: 8px;}
#main .box01 .profile .detail p{ font-size: 16px;}


section .tit-box .inner{ height: 400px;}
section .tit-box h2{ font-size: 52px; left: 0;}
section#sec01 .tit-box{ background: #111 url(../img/sec01-tit-bg_pc.jpg) center top no-repeat;}
section#sec02 .tit-box{ background: #111 url(../img/sec02-tit-bg_pc.jpg) center top no-repeat;}
section#sec03 .tit-box{ background: #111 url(../img/sec03-tit-bg_pc.jpg) center top no-repeat;}
section .box{ padding: 40px 0 40px;}
section .box .stit-box{ margin-bottom: 35px;}
section .box .stit-box p{ font-size: 20px; padding-bottom: 15px; margin-bottom: 10px;}
section .box .stit-box p::after{ width: 20px; height: 3px;}
section .box .stit-box h3{ font-size: 52px;}
section .box .detail p{ font-size: 18px;}
section .box .detail .img-box{ display: flex; align-items: center; flex-flow: row-reverse; margin-bottom: 50px;}
section .box .detail .img-box:nth-of-type(even){ flex-flow: row;}
section .box .detail .img-box .img{ width: 503px; flex-shrink: 0;}
section .box .detail .img-box .img img{ width: 100%;}
section .box .detail .img-box p{ width: 503px; margin-right: auto;}
section .box .detail .img-box:nth-of-type(even) p{ margin-right: 0; margin-left: auto;}
section .box .detail > p{ margin-bottom: 45px;}
section .box .detail .point-box{ margin-bottom: 50px;}
section .box .detail .point-box .ico{ width: 90px;}
section .box .detail .point-box .ico img{ width: 100%;}
section .box .detail .point-box .balloon{ border-radius: 0 14px 14px 14px; font-size: 16px; padding: 30px;}
section .summary-box{ padding: 50px 0 80px;}
section .summary-box h3{ font-size: 44px; margin-bottom: 35px;}
section .summary-box table th,
section .summary-box table td{ font-size: 16px; padding: 20px 0;}
section .summary-box table th{ width: 180px;}
#page-top{ right: 20px; bottom: 20px;}
footer{ padding: 60px 0;}
footer .cp{ margin-top: 20px;}
}

/* ==== SP ===== */
@media screen and (max-width: 767px){
body{ font-size: 14px;}

#contents{
    min-width: 100%;
    overflow: hidden;
    background-image: url("../img/R2G_bg.png"); /* 画像のパス */
    background-repeat: repeat-y;       /* 縦方向（Y軸）に繰り返し */
    background-position: top center;   /* 必要に応じて位置を調整 */
}


img{ width: 100%;}
.pc{ display: none;}
.sp{ display: block;}
.btn-black{ margin: 10px;}
.btn-black a{ box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.25); font-size: 20px; padding: 15px 0;}
.btn-black a::after{ font-size: 16px; right: 10px;}
.inner{ position: relative}
header{ padding: 12px 20px 14px;}
header .logo-GDO{ width: 73px;}
header .logo-HUAWEI{ width: 116px;}
#main .box01{ padding: 20px 20px 40px;}
#main .box01 p.text{ font-size: 17px; margin-bottom: 25px;}
#main .box01 .profile{ padding: 10px;}
#main .box01 .profile .img{ flex-shrink: 0; width: 100px; margin-right: 10px;}
#main .box01 .profile .detail h2{ font-size: 17px; margin-bottom: 6px;}
#main .box01 .profile .detail h2 span{ font-size: 14px; margin-left: 4px;}
#main .box01 .profile .detail p{ font-size: 14px;}
section .tit-box .inner{ height: 220px;}
section .tit-box h2{ font-size: 30px; left: 20px;}
section#sec01 .tit-box{ background: #111 url(../img/sec01-tit-bg_sp.jpg) right center no-repeat; background-size: cover;}
section#sec02 .tit-box{ background: #111 url(../img/sec02-tit-bg_sp.jpg) right center no-repeat; background-size: cover;}
section#sec03 .tit-box{ background: #111 url(../img/sec03-tit-bg_sp.jpg) right center no-repeat; background-size: cover;}
section .box{ padding: 20px 20px 40px;}
section#sec02 .box{ padding: 28px 20px 40px;}
section .box .stit-box{ margin-bottom: 20px;}
section .box .stit-box p{ font-size: 17px; padding-bottom: 8px; margin-bottom: 8px;}
section .box .stit-box p::after{ width: 15px; height: 2px;}
section .box .stit-box h3{ font-size: 30px;}
section .box .detail p{ font-size: 17px; line-height: 1.8;}
section .box .detail .img-box{ margin-bottom: 20px;}
section .box .detail .img-box .img{ margin-bottom: 15px;}
section .box .detail .point-box{ margin-bottom: 20px;}
section .box .detail .point-box .ico{ width: 75px;}
section .box .detail .point-box .ico img{ width: 100%;}
section .box .detail .point-box .balloon{ border-radius: 0 10px 10px 10px; font-size: 15px; padding: 15px;}
section .box .detail > p{ margin-bottom: 20px;}
section .summary-box{ padding: 25px 20px 40px;}
section .summary-box h3{ font-size: 26px; margin-bottom: 20px;}
section .summary-box table th,
section .summary-box table td{ font-size: 15px; padding: 15px 0;}
section .summary-box table th{ width: 100px;}
#page-top{ right: 10px; bottom: 20px; width: 12%;}
footer{ font-size: 10px; padding: 30px 0;}
footer .cp{ margin-top: 10px;}
}