@charset "utf-8";
/*
Theme Name:aplage2206
Theme URI:
Author:
*/

* {
    font-family: Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-family: 'Reem Kufi', sans-serif;
    color: #333;
}

html {
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%; /* 横向きの文字サイズ調整 */
    -ms-text-size-adjust: 100%; /* 横向きの文字サイズ調整 */
}

body {
    position: relative;
    font-size: 14px; font-size: 1.4rem;
    line-height: 1.8; /* 行間を調整する */
    letter-spacing: 1px; /* 文字間を広げる */
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
}

.sp {
    display: none;
}

/*========================================================
common
========================================================*/
main {
    position: relative;
}
.glb_width_std {
    margin-left: auto;
    margin-right: auto;
    padding-left: 6.3vw;
    padding-right: 6.3vw;
    max-width: 1280px;
}
.glb_sec {
    margin-bottom: 80px;
}
/*========================================================
header
========================================================*/
header {
    display: flex;
    justify-content: space-between;
    padding: 60px 40px;
}
/* logo */
/*========================================================
nav 
========================================================*/
nav ul {
    display: flex;
    justify-content: center;
    gap: 0 40px; /* 余白 */
}
/* 中心から外に線が伸びる（下部）*/
nav li a {
    position: relative;
}

nav li a:hover {
    color: #000;
}

nav li a::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #000;
    transition: all 0.3s;
    transform: scale(0, 1); /*X方向0、Y方向1*/
    transform-origin: center top; /*上部中央基点*/
}

/*現在地とhoverの設定*/
nav li.current a::after,
nav li a:hover::after {
    transform: scale(1, 1); /*X方向にスケール拡大*/
}

ul.works_category > li.current > a::after {
    display: block;
    content: '';
    width: 100%;
    height: 4px;
    background: #08a5e3;
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: 0;
    transition: .3s ease;
}

/*========================================================
works_list_area 
========================================================*/
.glb_works {
    display: flex;
    flex-wrap: wrap;
    gap: 40px 3%; /* 余白 */
}
.works_list_cnt {
    width: calc(94%/3);
}
.works_list_img img {
    width: 100%;
    height: auto;
}
.works_list_cnt > h2 {
    font-weight: normal;
    font-size: 1.3rem;
    padding-top: 4px;
}

.works_list_img {
    overflow: hidden;
    position: relative;
}

.link_a {
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transition: .5s;
}
.link_a:hover {
    background: rgb(0, 0, 0, .5);
}
.link_a:hover::before  {
    content: url("img/arrow-right.svg");
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
}

.link_b {
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transition: .5s;
}
.link_b:hover {
    background: rgb(0, 0, 0, .5);
}
.link_b:hover::before  {
    content: url("img/external-link.svg");
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
}

/*========================================================
footer
========================================================*/
footer {
    padding: 80px 0 0;
    background: linear-gradient(45deg, #22272D, #2D2D4E, #224131);
    background-size: 600% 600%;
    animation: AnimationName 10s ease infinite;
}
@keyframes AnimationName {
    0%{background-position:0% 50%}
    50%{background-position:100% 50%}
    100%{background-position:0% 50%}
}

#footLogo {
    width: 120px;
    height: 67px;
    margin: 0 auto 30px;
}

#footLogo img {
    width: 100%;
    height: auto;
}

#footTopAera {
    width: 1000px;
    margin: 0 auto;
    padding-bottom: 35px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
ul.footTopNav {
    text-align: center;
    letter-spacing: -.40em;
}
ul.footTopNav li {
    display: inline-block;
    padding: 0px 25px;
    font-size: 1.4rem;
    color: #fff;
    letter-spacing: normal;
}
ul.footTopNav li a {
    color: #fff;
}
ul.footTopNav li a:hover {
    color: #e60012;
}

#footBottomAera {
    width: 1000px;
    margin: 0 auto;
    padding: 30px 0 50px;
}
ul#footBottomNav {
    text-align: center;
    margin: 0 auto 30px;
    letter-spacing: -.40em;
}
ul#footBottomNav li {
    display: inline-block;
    padding: 5px 10px;
    font-size: 1.2rem;
    color: #fff;
    letter-spacing: normal;
}
ul#footBottomNav li a {
    color: #fff;
}
ul#footBottomNav li a:hover {
    color: #e60012;
}

.borderRight {
    border-right: 1px solid rgba(255,255,255,0.1);
}

.cr {
    font-size: 1.0rem;
    text-align: center;
    color: #fff;
}

#topBackArea {
    position: relative;
    display: block;
    height: 70px;
    background-color: #141a27;
}
#topBackArea::after {
    position: absolute;
    top: 50%;
    left: 50%;
    background: url(img/top_back.png) no-repeat 0 0;
    width: 52px;
    height: 22px;
    opacity: .4;
    content: '';
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1;
}

/*========================================================
トップ
========================================================*/

/*実績*/
#topWorksArea {
    display: inline-block;
    width: 98%;
    padding: 30px 0 100px 2%;
}
.topWorksBox {
    width: 32%;
    float: left;
    margin: 0 2% 2% 0;
}
.topWorksBox:nth-child(3n) {
    margin: 0 0 3% 0;
}
.topWorksBox a {
    display: block;
}
.topWorksBox h2 {
    height: 50px;
  font-weight: bold;
}
.topWorksBox h2 span {
  font-weight: 400;
}
/* NewArea */
.topNewArea {
    width: 30%;
    margin-right: 5%;
    float: left;
}

.topNewArea:last-child {
    margin-right: 0;
}

.topNewArea h2 {
    height: 70px;
    font-size: 2.4rem;
    font-family: 'Reem Kufi', sans-serif;
}

/* News */
#topNewsArea a {
    display: block;
    margin-bottom: 30px;
}

#topNewsArea dd {
    display: inline;
    font-weight: bold;
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    -ms-transition: 0.2s;
    transition: 0.2s;
}
#topNewsArea dd:hover {
    color: #e60012;
}


/* Blog */
.topBlogBox {
    margin-bottom: 30px;
}

.topBlogImg {
    width: 38%;
    float: left;
    overflow: hidden;
}
.topBlogImg img {
    width: 100%;
    height: auto;
}

.topBlogTxt {
    width: 58%;
    float: right;
}

.topBlogTtl {
    display: inline;
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    -ms-transition: 0.2s;
    transition: 0.2s;
}
.topBlogTtl:hover {
    color: #e60012;
}




/*========================================================
下層共通
========================================================*/

.sv {
    padding: 0px 0 120px;
    text-align: center;
}
.sv h1 {
    font-size: 50px;
    font-family: 'Reem Kufi', sans-serif;
    letter-spacing: 30px;
}

.glb_wrap {
    display: flex;
    position: relative;
}
.glb_ttl_sec {
    width: 34%;
    box-sizing: border-box;
    padding-right: 4%;
    position: relative;
    z-index: 99;
}
.glb_main_cts {
    width: 66%;
    box-sizing: border-box;
}
h2.glb_ttl {
    position: relative;
    width: 100%;
    font-size: 1.6rem;
    letter-spacing: 0.37em;
    text-align: left;
}
h2.glb_ttl > span {
    display: block;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    letter-spacing: 0.55em;
    font-size: 2.4rem;
    line-height: 1.5;
}

/*========================================================
WORKS
========================================================*/

/*========================================================
NEWS
========================================================*/

/*========================================================
ABOUT
========================================================*/
#conceptArea {
    /* background: url(img/concept_area_back.jpg) no-repeat center bottom; */
}

h2#conceptTtl {
    width: 45%;
    float: left;
    padding: 0 0 0 10%;
    font-size: 4.8rem;
}

p#conceptTxt {
    width: 55%;
    float: right;
    padding: 0 5% 0;
    line-height: 1.8;
}
p#conceptTxt:not(:first-of-type) {
    width: 55%;
    float: right;
    padding: 5% 5% 0;
    line-height: 1.8;
}

dl.glb_main_cts {
    border-bottom: 1px solid #d2d2d3;
}
dl.glb_main_cts dt, dl.glb_main_cts dd {
    padding: 25px 30px;
    border-top: 1px solid #d2d2d3;
    box-sizing: border-box;
}
dl.glb_main_cts dt {
    min-width: 120px;
    width: 20%;
    float: left;
    font-weight: 700;
}
dl.glb_main_cts dd {
    margin-left: 20%;
}

/*========================================================
依頼/お問い合わせ
========================================================*/

#telLink {
    line-height: 1;
    font-family: 'Reem Kufi', sans-serif;
    font-size: 24px;
}

#telLink span {
    font-family: 'Reem Kufi', sans-serif;
    font-size: 48px;
}

#contactPpTxt {
    margin-top: 15px;
    font-size: 1.1rem;
}
#contactPpTxt a {
    color: #e60012;
}
#contactPpTxt a:hover {
    text-decoration: underline;
}

dl.formTable dd input {
    width: 250px;
    padding: 8px 12px;
}
dl.formTable dd {
    margin-bottom: 20px;
}