@charset "UTF-8";
/******************************************************
        スマホ用
******************************************************/
@media screen and (max-width: 767px) {


/******************************************************/
/* common */
/******************************************************/
*{
    margin:0;
    padding:0;
    list-style:none;
}

html{
    font-size: 10px;
}
body{
    color: #282828;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.85;
    line-height: 2.1;
    letter-spacing: normal;
    text-align:center;
    font-family: "Noto Sans JP", sans-serif;
    -webkit-text-size-adjust: 100%;
    overflow-x: hidden;
}
.en { font-family: "Anton", "Noto Sans JP", sans-serif; }
.pc:not(.smp),
.tb:not(.smp) {
    display: none !important;
}
a{color:#282828;text-decoration:underline;}
a:hover{text-decoration:none;}
img{border:0;vertical-align: middle;}
small{font-size:80%;_font-size:75%;}
*+html body small{font-size:75%;}
hr,.hidden{display:none;}

/******************************************************/
/* 重要なお知らせ */
/******************************************************/
div.head_news {
    background: #ffeaea;
    color: #000000;
    padding: 12px 0;
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: 0.05em;
    text-align: center;
}
div.head_news a {
    color: #e60f24;
    position: relative;
    display: inline-block;
    padding-left: 16px;
}
div.head_news a::after {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    border-right: 2px solid #e60f24;
    border-top: 2px solid #e60f24;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(45deg);
}

/******************************************************/
/* wapper */
/******************************************************/
div#wrapper{
    text-align:left;
    margin-left:0;
    margin-right:auto;
    position: relative;
}

/******************************************************/
/* header */
/******************************************************/
header{
    margin:0;
    text-align:left;
    display: flex;
    justify-content: space-between;
}
header #hlogo{
    margin-left:20px;
    padding-top:12px;
    margin-bottom:10px;
}
header #hlogo img{
    width: 88px;
    height: auto;
}
header .fbbtn{
    position: absolute;
    right: 118px;
    top: 20px;
}
header .fbbtn img{
    width: 40px;
    height: 40px;
}
header .instabtn{
    position: absolute;
    right: 70px;
    top: 20px;
}
header .instabtn img{
    width: 40px;
    height: 40px;
}
header .header_btn {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-grow: 1;
    padding-right: 80px;
    padding-right: 70px;
    display: none;
}
header .header_contactbtn a {
    text-decoration: none;
    display: block;
    font-size: 10px;
    font-weight: 600;
    text-align: center;
    line-height: 1;
    padding: 0 2px 8px 2px;
    border-bottom: 1px solid #282828;
    margin-right: 4px;
}


/* ヘッダーtdc情報 */
header #header_add {
    display: none;
}

/* ハンバーガーメニュー */
header .smp_head {
    position: relative;
}
header #smp_open_menu {
    position: absolute;
    right: 16px;
    top: 24px;
    padding: 12px 10px;
    height: 16px;
    width: 20px;
    line-height: 0;
}
header .h_contact {
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.03em;
    padding: 20px 40px;
}
header .h_contact a {
    text-decoration: none;
    display: block;
    text-align: center;
    padding: 20px 0;
    border-radius: 100px;
    position: relative;
    background: #000;
    color: #fff;
}
header .h_contact a::after {
    content: "";
    height: 4px;
    width: 4px;
    border-right: 1px solid #fff;
    border-top: 1px solid #fff;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
}
#overlay {
    position: fixed;
    z-index: 2000;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 120%;
    background-color: rgba(0, 0, 0, 0.5);
}
header #gn {
    position: fixed;
    top: 0;
    right: -88%;
    z-index: 9999;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    width: 88%;
    height: 100%;
    background: #ffffff;
    -moz-transition-property: all;
    -o-transition-property: all;
    -webkit-transition-property: all;
    transition-property: all;
    -moz-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    display: flex;
    flex-direction: column;
}
header #gn.open {
    right: 0;
}

header #gn nav {
    text-align: left;
}
header #gn nav > ul {
    overflow: hidden;
    padding: 0;
}
header #gn nav li {
    border-bottom: 1px solid #e7e7e7;
}
header #gn nav li a {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-decoration: none;
    display: block;
    margin-bottom: 1px;
    width: 100%;
    padding: 17px 30px;
    box-sizing: border-box;
    position: relative;
}
header #gn nav > ul > li > a::after {
    content: "";
    height: 4px;
    width: 4px;
    border-right: 1px solid #282828;
    border-top: 1px solid #282828;
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%) rotate(45deg);
}
header #gn nav li ul {
    background: #f5f5f5;
    padding: 10px 25px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
header #gn nav li ul li {
    margin: 0;
    border: none;
    font-size: 11px;
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
header #gn nav li ul li a {
    /* background: #fff;
    padding: 10px 20px 10px 20px;
    display: block;
    border-radius: 50px; */
    padding: 5px;
    font-size: 11px;
    line-height: 1;
    letter-spacing: 0.008em;
    width: auto;
}
header #gn nav li ul li:nth-last-of-type(n+2)::after {
    content: "/";
    margin: 0 0.75em;
    color: #bbb;
    display: inline;
}
header menu#sns ul{
    padding: 0 0 20px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
header menu#sns ul::before {
    content: "公式SNSアカウント：";
    font-size: 10px;
    line-height: 1;
    color: #707070;
}
header menu#sns ul li{
}


/******************************************************/
/* footer */
/******************************************************/
footer{
    text-align:left;
}
footer div.f_contact {
    padding:30px 20px 24px;
    border-top:4px solid #000;
    border-bottom:4px solid #000;
    margin-bottom:8px;
    margin-top: 20px;
    text-align: center;
}
footer div.f_contact p.philosophy {
    flex-grow: 1;
    font-size: 13px;
    line-height: 1.72;
    letter-spacing: 0.02em;
    text-align: justify;
}
footer div.f_contact p.btn {
    text-align: center;
    margin: 10px 0 10px;
}
footer div.f_contact p.btn a {
    display: block;
    padding: 25px  0 25px 0;
    background: #000;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.05em;
    text-decoration: none;
    margin: 12px auto 0;
    position: relative;
}
footer div.f_contact p.btn a::after {
    content: "";
    height: 4px;
    width: 4px;
    border-right: 1px solid #fff;
    border-top: 1px solid #fff;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
}
footer div.f_contact ul {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
}
footer div.f_contact ul li {
    padding: 10px 0 10px 60px;
    font-size: 12px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    margin-top: 8px;
}
footer div.f_contact ul li.tel {
    background: url(../images/common/f_icon_tel.svg) no-repeat left center;
}
footer div.f_contact ul li.fax {
    background: url(../images/common/f_icon_fax.svg) no-repeat left center;
}
footer div.f_contact ul span {
    font-style: normal;
    font-size: 1.1rem;
    letter-spacing: 0.05em;
    text-align: center;
}
footer div.f_contact ul a {
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.03em;
    text-decoration: none;
    margin-bottom: 4px;
    display: block;
}
footer div.f_contact ul li.fax a[href^="tel:"] {
    pointer-events: none;
    font-size: 16px;
}
footer menu ul{
    margin-bottom:12px;
    padding: 0 10px;
}
footer menu ul li{
    display:inline;
    margin-right:4px;
    font-size: 12px;
    line-height: 1.2;
}
footer menu ul li a{
    color: #707070;
}
footer p.copyright{
    margin-top: 20px;
    font-size: 1rem;
    text-align: center;
}

footer .txt_red{
  margin-top: 10px;
  color: #e60f24;
  text-align: center;
}

/******************************************************/
/* section */
/******************************************************/
main > section {
    word-wrap: break-word;
    padding: 0 30px;
}
section img {
    max-width: 100%;
    height: auto;
}
/*
section *{
    width: auto !important;
}
*/

/*********** 見出し ***********/
section h1{
    font-size:16px;
    font-weight: 800;
    letter-spacing:0.1em;
    line-height: 1.35;
    margin:35px 0 10px 0;
    font-family: "Noto Sans JP", sans-serif;
    padding-bottom:10px;
    text-transform: uppercase;
    clear: both;
    text-align: center;
}
section#HOME h1{
    background:none;
    padding:0;
    position: relative; 
    z-index:2;
    border:none;
    margin:35px 0 20px 0;
    text-align: left;
}
section#HOME h1 img{
    max-width: 60%;
    height: auto;
}


section h2{
    font-size:12px;
    font-weight: 400;
    line-height: 1.28;
    letter-spacing: 0.08em;
    margin:0 0 40px 0;
    text-align: center;
}
section h2.TOTALPRODUCE,
section h2.GRAPHIC,
section h2.PACKAGE,
section h2.WEB {
    font-size: 14px;
}
section h2.client_name {
    font-size: 12px;
    font-weight: normal;
    letter-spacing: 0.03em;
    margin-bottom: 30px;
}
section h2.client_name span {
    color: #a0a0a0;
    font-size: 9px;
    font-style: italic;
    margin-right: 6px;
}
section h2#recruit_info {
    margin-top: 40px;
}
section h2.none{
    background:none;
    padding:0;
}
section h3{
    margin: 30px 0 10px 0;
    padding-left: 0px;
    font-size: 21px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.011em;
}
section h3.none{
    border:0;
    padding:0;
}
section h3.line{
    padding-bottom:8px;
    border-bottom:1px solid #cdcdcd;
    
}
section h4{margin:0 0 10px 0;}
section h5{margin:0 0 10px 0;}

section h1 img,
section h2 img,
section h3 img,
section h4 img,
section h5 img{vertical-align:middle;}


/*********** 段落 ***********/
section p{
    margin:0;
    padding:0 0 10px 0;
}


/*********** 画像回り込み ***********/
section .imgRight{
    display:block;
    float:right;
    margin:0 0 5px 10px;
}
section .imgLeft{
    display:block;
    float:left;
    margin:0 10px 5px 0;
}


/*********** リンク ***********/
section .pageLink {
    background: url(../images/common/yaji.png) 0 0.2em no-repeat;
    padding: 0 0 0 10px;
}
section ul.pageLink {
    padding: 0;
    background: none;
}
section ul.pageLink li {
    background:url(../images/common/yaji.png) 0 0.2em no-repeat;
    padding:0 0 0 10px;
}
section a.pageLink,
footer a.pageLink {
    padding:0 5px 0 12px;
    position: relative;
}
section a.pageLink::after,
footer a.pageLink::after {
    content: "";
    height: 4px;
    width: 4px;
    border-right: 1px solid #282828;
    border-top: 1px solid #282828;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(45deg);
}
section a.pageOut{
    background:url(../images/common/yaji_out.png) 4px center no-repeat;
    padding:0 5px 0 15px;
}


/*********** ページトップ ***********/
ul.pagetop{
    padding-top: 10px;
    clear: both;
    font-size: 1rem;
    text-align: right;
    text-transform: uppercase;
    margin-right: 10px;
}
ul.pagetop a{
}
ul.pagetop a:hover{
}


/*********** 表組み ***********/
section table{
    border-collapse:collapse;
}
td p, td li, td dt, td dd, dd li, dd p {
    font-size: 100%; }
table {
    display: block;
    border: 1px solid #cccccc;
}
td, th {
    text-align: left;
    vertical-align: top;
    padding: 12px 9px 9px 9px;
    border: 1px solid #cccccc;
    outline-style: none; 
    letter-spacing:0.1em;
}
th {
    background:#f9f9f9;
    font-weight:normal;
}
td {
    background:#fff;
    font-weight:normal;
}
td dl dt,td dl dd,td ul li{
    margin-bottom:7px;
}
td dl dd{
    margin-left:8px;
}
th span{
    display:block;
    font-size:1.1rem;
}



/******************************************************/
/* パンクズ */
/******************************************************/
#bread{
    clear: both;
    font-size: 11px;
    margin-top: 40px;
    padding-top: 0;
    padding-left: 10px;
}


/******************************************************/
/* 2段組 */
/******************************************************/
/*
section .block_left{float:left;}
section .block_right{float:right;}
section .block_451_232 .block_left{width:451px;margin-right:27px;}
section .block_451_232 .block_right{width:232px;}
section .block_471_232 .block_left{width:471px;margin-right:7px;}
section .block_471_232 .block_right{width:232px;}
section .block_232_471 .block_left{width:232px;margin-right:7px;}
section .block_232_471 .block_right{width:4710px;}
section .block_232_3 .block_left{width:232px;margin-right:7px;}
section .block_232_3 .block_right{width:232px;}
*/
/* トップページWorks入り口 */
.top_bnrs{
    margin-bottom:20px;
    margin: 0px -10px 0;
    background: #555;
}
.top_bnrs ul {
    display: block;
}
.top_bnrs li {
    counter-increment: section;
    position: relative;
    margin-bottom: 1px;
    width: 100%;
}
.top_bnrs li::after {
    content: counter(section, decimal-leading-zero);
    position: absolute;
    top: 50%;
    left: 10px;
    width: 30px;
    text-align: center;
    color: rgba(255,255,255,0.5);
    font-size: 1.6rem;
    line-height: 0;
    letter-spacing: 0.08em;
    font-family: "Anton", "Noto Sans JP", sans-serif;
}
.top_bnrs li a {
    display: block;
    background: #0a0a0a;
    background: #282828;
    color: #ffffff;
    text-decoration: none;
    padding: 9px 0 7px 60px;
    padding: 13px 0 13px 50px;
    position: relative;
}
.top_bnrs li a span.en {
    display: block;
    color: #ffffff;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: 0.04em;
    font-family: "Noto Sans JP", sans-serif;
}
.top_bnrs li:first-of-type a span.en {
    letter-spacing: 0.02em;
}
.top_bnrs li a strong {
    display: block;
    color: #aaaaaa;
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: normal;
    margin-top: 4px;
}
.top_bnrs li#top_sec02,
.top_bnrs li#top_sec03,
.top_bnrs li#top_sec04,
.top_bnrs li#top_sec05 {
    width: 100%;
}

section#HOME #top_news h3,
section#HOME #top_recent_works h3,
section#HOME #top_related_links h3{
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.15rem;
    line-height: 1;
    padding: 0 30px 12px;
    margin: 40px -30px 0;
    border-bottom:1px solid #000;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
section#HOME #top_recent_works .works_wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    margin-top: 30px;
}
section#HOME #top_recent_works h4 {
    letter-spacing: 0.03em;
    font-size: 18px;
    line-height: 1;
    display: contents;
}
section#HOME #top_recent_works h4 strong {
    margin-bottom: 12px;
}
section#HOME #top_recent_works h4 .tolist {
    order: 1;
    margin-top: 4px;
}
section#HOME #top_recent_works h4 .tolist a {
    text-decoration: none;
    display: block;
    font-size: 13px;
    text-align: center;
    padding: 20px 0;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.12);
    border-radius: 100px;
}
section#HOME #top_recent_works h4 .tolist a::before {
    left: initial;
    right: 20px;
}
section#HOME #top_news h3 span a,
section#HOME #top_recent_works h3 span a,
section#HOME #top_related_links h3 span a,
section#HOME #top_recent_works h4 span a {
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.011rem;
    line-height: 1;
    display:block;
    padding-left: 12px;
    margin-top: 10px;
    position: relative;
    flex-shrink: 0;
}
section#HOME #top_news h3 span a::before,
section#HOME #top_recent_works h3 span a::before,
section#HOME #top_related_links h3 span a::before,
section#HOME #top_recent_works h4 span a::before {
    content: "";
    height: 4px;
    width: 4px;
    border-right: 1px solid #888;
    border-top: 1px solid #888;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(45deg);
}
/* TOP NEWS */
section#HOME #top_news ul{
    margin-bottom: 18px;
}
section#HOME #top_news ul li{
    display: block;
    background: linear-gradient(90deg, black 1px, transparent 1px, transparent 6px) repeat-x left bottom;
    background-size: 6px 1px;
    padding: 14px 0 14px;
}
section#HOME #top_news ul a{
    text-decoration: none;
    display: flex;
    align-items: center;
}
section#HOME #top_news ul a strong{
    text-decoration: underline;
}
section#HOME #top_news ul a strong:hover{
    text-decoration: none;
}
section#HOME #top_news ul strong{
    line-height:1.65;
    font-weight:bold;
    flex-grow: 1;
}
section#HOME #top_news ul span.date{
    width: 6.5em;
    color: #707070;
    font-size: 12px;
    flex-shrink: 0;
}
/* RECENT WORKS */
section#HOME #top_recent_works .list {
    display: flex;
    justify-content: space-between;
    margin: 0 -30px;
    padding: 0 30px 10px;
    gap: 12px;
    overflow-x: auto;
    scroll-behavior: smooth;
}
section#HOME #top_recent_works .list dl {
    width: 57%;
    flex-shrink: 0;
}
section#HOME #top_recent_works .list dl a {
    display: block;
    text-decoration: none;
}
section#HOME #top_recent_works .list dl dt a{
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 212 / 170;
    border: 1px solid #e7e7e7;
    margin-bottom: 5px;
}
section#HOME #top_recent_works .list dl dt a img{
    object-fit: cover;
    object-position: top;
    width: 100%;
    height: 100%;
    vertical-align: top;
}
section#HOME #top_recent_works .list dl dd{
    font-size:12px;
    line-height: 1.35;
    letter-spacing: normal;
}
section#HOME #top_recent_works .list dl dd a{
    display: block;
    font-size: 12px;
    line-height: 1.25;
    letter-spacing: normal;
}
section#HOME #top_recent_works .list dl dd .workslist{
    margin-top: 4px;
    color: #76767A;
    font-size: 9px;
    line-height: 1.45;
    letter-spacing: normal;
    display: flex;
    flex-wrap: wrap;
}
section#HOME #top_recent_works .list dl dd .workslist li::after {
    content: "/";
    display: inline;
    margin: 0 0.75em;
    color: #ccc;
}
section#HOME #top_recent_works .list dl dd .workslist li:last-child:after {
    display: none;
}
/* TOP PROJECT */
section#HOME #top_project {
    background: #f7f7f7;
    margin: 40px -30px 0;
    padding: 40px 30px;
}
section#HOME #top_project h3 {
    font-size: 18px;
    letter-spacing: 0.03em;
    margin-top: 0;
}
section#HOME #top_project h3 .en {
    font-size: 14px;
    line-height: 1;
    margin-top: 3px;
    display: block;
    text-transform: uppercase;
    font-family: Arial, Helvetica, sans-serif;
}
section#HOME #top_project h3 + p {
    font-size: 13px;
    line-height: 1.85;
}
section#HOME #top_project .list {
    display: flex;
    flex-direction: column;
    margin: 12px 0px 0;
    gap: 20px
}
section#HOME #top_project .list > li {
    list-style: none;
    width: 100%;
}
section#HOME #top_project .list dl {
}
section#HOME #top_project .list dt {
    background: #fff;
    text-align: center;
    padding: 20px 0 10px;
}
section#HOME #top_project .list dt img {
    vertical-align: top;
    height: 120px;
    width: auto;
}
section#HOME #top_project .list dd {
    padding: 0px 30px 24px;
    background: #fff;
}
section#HOME #top_project .list dd h4 {
    margin: 0 0 12px;
    font-size: 18px;
    line-height: 1.45;
    letter-spacing: 0.06em;
    text-align: center;
}
section#HOME #top_project .list dd p {
    font-size: 13px;
    line-height: 1.72;
}
section#HOME #top_project .list dd .link {
    background: linear-gradient(90deg, black 1px, transparent 1px, transparent 6px) repeat-x left bottom;
    background-size: 6px 1px;
    padding: 12px 0;
    text-align: center;
}
section#HOME #top_project .list dd .link a {
    text-decoration: none;
    font-weight: 700;
}
section#HOME #top_project .list dd ul {
    margin-top: 4px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px 12px;
}
section#HOME #top_project .list dd ul li {
    list-style: none;
    font-size: 10px;
}
/* RELATED LINKS */
section#HOME #top_related_links ul{
    margin: 0 -30px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 12px;
    padding: 20px 30px;
}
section#HOME #top_related_links ul li{
    font-size: 9px;
    width: calc(50% - 6px);
    line-height: 1.35;
    letter-spacing: normal;
}
section#HOME #top_related_links li a{
    display: block;
    padding-bottom: 3px;
}
section#HOME #top_related_links li a img{
    width: 100%;
    height: auto;
    border: 1px solid #e7e7e7;
}


/******************************************************/
/* メインビジュアル */
/******************************************************/
div#main_visual{
    margin:-30px -30px 20px;
    position: relative;
    z-index:1;
    overflow: hidden;
    height: 46.9vw;
}
div#main_visual .bx-wrapper {
    margin: 0;
}
div#main_visual .bx-wrapper .bx-viewport {
    box-shadow: none;
    border: none;
    left: 0;
}
div#main_visual img{
    max-width: 100%;
    height: auto;
}


/******************************************************/
/* PHILOSOPHY */
/******************************************************/
section#PHILOSOPHY{
    text-align: center;
}
section#PHILOSOPHY div.clear img{
    float: none;
    display: inline;
}
section#PHILOSOPHY div.clear h3{
    clear: both;
    font-size: 3rem;
    margin:18px 0;
}
section#PHILOSOPHY div.clear address{
    text-align:right;
}


/******************************************************/
/* NEWS */
/******************************************************/
section#NEWS .info_note {
    background: linear-gradient(90deg, black 1px, transparent 1px, transparent 6px) repeat-x left top;
    background-size: 6px 1px;
    margin-bottom: 10px;
}
section#NEWS .info_note li{
    background: linear-gradient(90deg, black 1px, transparent 1px, transparent 6px) repeat-x left bottom;
    background-size: 6px 1px;
    padding: 24px 0 15px;
}
section#NEWS .info_note li a{
    display: block;
}
section#NEWS .info_note li span.date{
    display: block;
    font-size:11px;
    line-height: 1.2;
    letter-spacing:0.03em;
    color: #707070;
    margin-bottom: 8px;
}
section#NEWS .info_note li strong{
    display: block;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.011em;
}
section#NEWS .info_note li span.more{
    display: block;
    font-size: 11px;
    line-height: 1.2;
    text-decoration: underline;
    text-align: right;
    color: #585858;
}
section#NEWS h3{
    font-size:1.4rem;
    margin-bottom:12px;
    padding-top: 21px;
}
section#NEWS p{
    line-height:1.8;
    letter-spacing:0.012em;
}
section#NEWS a{
    text-decoration: none;
}
section#NEWS a h3,
section#NEWS a p.more{
    text-decoration: underline;
}
section#NEWS h3:hover,
section#NEWS p.more:hover{
    text-decoration: none;
}
section#NEWS p.description{
    padding-bottom:5px;
}
section#NEWS p.date{
    font-size:0.85rem;
    letter-spacing:0.012em;
    text-align:right;
    border-bottom:dotted 1px #000;
    padding-bottom:4px;
}
section#NEWS .article{
    padding: 30px 0 10px;
}
section#NEWS p.date2{
    color: #666666;
    margin-bottom: 0;
    padding-bottom: 5px;
}
section#NEWS .article h3{
    font-size: 24px;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: 0.011em;
    margin-bottom: 35px;
    margin-top: 0;
    padding-top: 0;
    border-bottom: none;
}
section#NEWS .article img{
    margin-top: 10px;
    margin-bottom: 10px;
}
section#NEWS .article ul.row2_img {
    text-align: center;
}
section#NEWS .article ul.row2_img li {
    text-align: center;
}
section#NEWS .article a{
    text-decoration: underline;
}


/******************************************************/
/* 制作実績 */
/******************************************************/
#TOTALPRODUCE > .works_category:nth-of-type(2n) {
    background: #f7f7f7;
    padding: 10px 30px 40px;
    margin: 40px -30px;
}
section dl.jissekitype {
    font-size: 12px;
    line-height: 1.75;
    margin: -15px 0 25px;
}
section dl.jissekitype dt {
    flex-shrink: 0;
    margin-right: 0.4em;
    margin-bottom: 2px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.65;
    text-align: center;
}
section dl.jissekitype dd ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
section dl.jissekitype dd ul li:nth-last-of-type(n+2)::after {
    content: "/";
    margin: 0 0.75em;
    color: #bbb;
}
section .workArea{
    clear:both;
}
section .workArea h3 {
    border-left: 2px solid #000;
    padding-left: 6px;
    margin-top: 20px;
    margin-bottom: 10px;
}
section .workArea h3 .tolist {
    position: relative;
    color: #555;
    font-size: 11px;
    font-weight: 400;
    margin-left: 20px;
}
section .workArea h3 .tolist::after {
    content: "";
    display: block;
    width: 4px;
    height: 4px;
    border-right: 1px solid #666;
    border-top: 1px solid #666;
    transform: translateY(-50%) rotate(45deg);
    position: absolute;
    top: 50%;
    left: -11px;
}
section .workArea .btn_tolist {
    clear: both;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.01em;
    margin: 25px 15px 0;
}
section .workArea .btn_tolist a {
    position: relative;
    text-decoration: none;
    display: block;
    text-align: center;
    padding: 20px 0;
    background: #fff;
    box-shadow: 0 0 10px rgb(0 0 0 / 12%);
    border-radius: 100px;
}
section .workArea .btn_tolist a::after {
    content: "";
    display: block;
    height: 4px;
    width: 4px;
    border-right: 1px solid #282828;
    border-top: 1px solid #282828;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}
section .workBoxes{
    margin-left: -10px;
    margin-right: -10px;
}
section .workBoxes .workBox{
    width:49%;
    float:none;
    margin-bottom: 10px;
}
section .workBoxes .workBox:nth-of-type(2n+1){
    width:49%;
    float:none;
    margin-right: 2%;
    clear: both;
}
section .workBoxes .workBox:nth-of-type(2n){
    width:49%;
    float:none;
}
section .workBoxes dl.workBox{
    width:100% !important;
    float:none;
    margin-bottom: 10px;
    display: flex;
}
section .workBoxes dl.workBox dt{
    width:49%;
}
section .workBoxes dl.workBox dd{
    width: 50%;
    padding-left: 10px;
    box-sizing: border-box;
}
section .workBoxes .workBox dt{
    text-align:center;
    margin-bottom:2px;
    line-height:0;
}
section .workBoxes .workBox dt a {
    display: block;
    text-align: center;
    border: 1px solid #e7e7e7;
}
section .workBoxes .workBox img {
    max-width: 100%;
    height: auto;
}
section .workBoxes .workBox dd{
    line-height: 1.35;
}
section .workBoxes .workBox dd a{
    padding: 3px 0 5px;
    display:block;
    font-size: 1.4rem;
    font-weight: 700;
}
section .workBoxes .workBox dd .list {
    font-size: 11px;
    line-height: 1.45;
    color: #76767A;
}

section .workBoxes .workBox dd ul li {
    font-size: 1rem;
    line-height: 1.4;
    margin: 1px 0 1px 8px;
    position: relative;
    color: #76767A;
}
section .workBoxes .workBox dd ul li::before {
    content: "";
    display: block;
    background: #666;
    width: 3px;
    height: 3px;
    border-radius: 2px;
    position: absolute;
    left: -6px;
    top: 0.7em;
    transform: translateY(-50%);
}
section .workBoxes .workBox dd ul li:nth-of-type(n+6) {
    display: none;
}
section .workBoxes .workBox dd ul li:nth-of-type(5)::after {
    content: "…etc.";
    display: block;
    text-align: right;
    margin-top: 2px;
}
/* 写真実績一覧 */
#photograph_list li {
    margin-bottom: 10px;
    width: calc(50% - 5px);
}
#photograph_list li img {
    width: 100%;
    height: auto;
}
/* タグ表示用（上書き） */
section .workBoxes.tagBoxes{
    margin-top: 10px;
}


/******************************************************/
/* 各制作実績 WORKSDetails */
/******************************************************/
section#WORKSDetails h1.TOTALPRODUCE{
}
section#WORKSDetails h3{
    font-size: 20px;
    font-weight:normal;
    line-height:1.35;
    border-left:5px solid #333;
    padding:0 0 0 10px;
    margin:15px 0;
}
section#WORKSDetails h4{
    font-size: 18px;
    font-weight:700;
    line-height: 1.65;
    margin-top: 40px;
}
section#WORKSDetails p{
}
section#WORKSDetails img{
    border: 1px solid #e7e7e7;
    box-sizing: border-box;
}
section#WORKSDetails .spwebimg {
    text-align: center;
}
section#WORKSDetails .spwebimg img {
    width: 60%;
}
section.whiteborder img{
    border: 1px solid #fff !important;
}
section#WORKSDetails img.grayborder{
    border: 1px solid #e7e7e7 !important;
}
section#WORKSDetails table,
section#WORKSDetails table tr,
section#WORKSDetails table th,
section#WORKSDetails table td,
section#WORKSDetails table thead,
section#WORKSDetails table tbody,
section#WORKSDetails table tfoot {
    display: block;
    background:none;
    border:none;
    padding:0;
}
section#WORKSDetails table {
    margin: 50px 0;
    padding-top: 10px;
    background: linear-gradient(90deg, black 1px, transparent 1px, transparent 6px) repeat-x left top;
    background-size: 6px 1px;
}
section#WORKSDetails table tr {
    border:none;
    margin: 40px 0 0 0;
}
section#WORKSDetails table th {
    font-size: 11px;
    font-weight: 600;
    border-left: 2px solid #e7e7e7;
    padding: 0 0 0 20px;
    margin-bottom: 24px;
}
section#WORKSDetails table th br {
    display: none;
}
section#WORKSDetails table td {
    font-size: 14px;
    letter-spacing: 0.008em;
}
section#WORKSDetails table td li{
    margin-bottom:10px;
}
section#WORKSDetails table td a{
    word-wrap: break-word;
}
section#WORKSDetails .list {
    border-top: 1px dotted #ddd;
}
section#WORKSDetails .list li {
    border-bottom: 1px dotted #ddd;
    padding: 10px 0 10px 22px;
    font-size: 1.2rem;
    line-height: 1.45;
    position: relative;
}
section#WORKSDetails .list li::before {
    content: "";
    display: block;
    width: 4px;
    height: 4px;
    border-right: 2px solid #888;
    border-bottom: 2px solid #888;
    position: absolute;
    top: 1.45em;
    left: 7px;
    transform: translateY(-50%) rotate(45deg);
}

/******************************************************/
/* 制作の流れ WORKFLOW */
/******************************************************/
section#WORKFLOW .list {
    margin-top: 30px;
}
section#WORKFLOW .list dl {
    margin: 0 -30px 8px;
    padding: 30px 30px 36px;
    background: #f7f7f7;
    text-align: center;
}
section#WORKFLOW .list dt {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 8px;
}
section#WORKFLOW .list dd {
    font-size: 12px;
    line-height: 1.42;
    letter-spacing: 0.02em;
    text-align: justify;
}
section#WORKFLOW .btn {
    clear: both;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.01em;
    margin: 20px 0 0;
}
section#WORKFLOW .btn a {
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.01em;
    position: relative;
    text-decoration: none;
    display: block;
    text-align: center;
    padding: 20px 0;
    background: #fff;
    box-shadow: 0 0 10px rgb(0 0 0 / 12%);
    border-radius: 100px;
}
section#WORKFLOW .btn a::after {
    content: "";
    display: block;
    height: 4px;
    width: 4px;
    border-right: 1px solid #282828;
    border-top: 1px solid #282828;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}
section#WORKFLOW h3 {
    font-size: 12px;
    font-weight: 500;
    margin: 0 0 15px -17px;
    line-height: 1;
    border-right: 2px solid #333;
    padding: 3px 12px 3px 0px;
    writing-mode: vertical-lr;
    letter-spacing: 0.2em;
    float: left;
}
section#WORKFLOW .otherlink .btn a {
    font-size: 14px;
}
section#WORKFLOW .flow {
    margin: 55px 0 40px 30px;
}
section#WORKFLOW .flow dl {
    margin-bottom: 50px;
    position: relative;
}
section#WORKFLOW .flow dl::after {
    content: "";
    display: block;
    background: #efefef;
    width: 1px;
    position: absolute;
    bottom: -50px;
    left: 20px;
    top: 40px;
}
section#WORKFLOW .flow:nth-of-type(2) dl:nth-last-of-type(1)::after {
    display: none;
}
section#WORKFLOW .flow dt {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.42;
    letter-spacing: 0.03em;
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}
section#WORKFLOW .flow dt .num {
    font-size: 12px;
    line-height: 1;
    letter-spacing: normal;
    margin-right: 16px;
    flex-shrink: 0;
    font-weight: 200;
    background: #f7f7f7;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}
section#WORKFLOW .flow dl:nth-last-of-type(1) dt .num {
    background: #e7e7e7;
    font-weight: 800;
}
section#WORKFLOW .flow dd {
    padding: 0 0 0 56px;
}
section#WORKFLOW .flow dd p {
    line-height: 1.85;
    padding: 0;
    margin-bottom: 15px;
    text-align: justify;
    letter-spacing: 0.02em;
    color: #585858;
    font-size: 13px;
}
section#WORKFLOW .flow dd img {
    position: absolute;
    top: -10px;
    left: -5px;
    transform: translateY(-50%);
    width: 50px;
    height: auto;
    z-index: 1;
}


/******************************************************/
/* Design Bank */
/******************************************************/
section#DesignBank h1.DesignBank{
    padding-top:35px;
    background:url(../images/designbank_h1_1.png) top left no-repeat;
    background-size: 270px auto;
}
section#DesignBank h1.DesignBank img{
    width: 160px;
    height: auto;
}
section#DesignBank h2{
    margin:25px 0 25px 0;
    font-family: 'Vollkorn', "HiraMinProN-W3", "MS PMincho", serif;
    font-size: 1.3rem;
    line-height: 1.5;
}
section#DesignBank h2 span{
    display: block;
}
section#DesignBank h3{
    font-weight:normal;
    margin:15px 0 25px 0;
    display:block;
    text-indent:-9999px;
    background:url(../images/h2_designbank.png) 0 0 no-repeat;
    height :16px;
}
section#DesignBank h4{
    font-weight:normal;
    margin:15px 0;
    padding-left:6px;
    line-height:1em;
    border-left:2px solid #333;
    padding-top:3px;
}
section#DesignBank h5{
    font-weight:normal;
    border-left:2px solid #333;
}
section#DesignBank ul{
    margin-bottom:0;
}
section#DesignBank li{
    margin-left:1.5em;
    text-indent:-1em;
    line-height:1.5em;
    margin-bottom:10px;
    letter-spacing:0.2em;
}
section#DesignBank li:last-child{
    margin-bottom:0;
}
section#DesignBank .dbtext img,
section#DesignBank .dbhosoku img{
    display: none;
}
section#DesignBank .dbtext span{
    display: block;
    margin-bottom: 15px;
    font-size: 1rem;
    line-height: 2;
}
section#DesignBank .dbhosoku span{
    border: 1px solid #dddddd;
    padding: 10px;
    display: block;
    margin-bottom: 15px;
    font-size: 1rem;
    line-height: 2;
}


/******************************************************/
/* ABOUTUS */
/******************************************************/
#ABOUTUS #company_title {
    font-size: 21px;
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: 0.06em;
    margin: 25px auto 20px;
    text-align: center;
}
section#ABOUTUS table,
section#ABOUTUS table tr,
section#ABOUTUS table th,
section#ABOUTUS table td,
section#ABOUTUS table thead,
section#ABOUTUS table tbody,
section#ABOUTUS table tfoot {
    display: block;
    background:none;
    border:none;
    padding:0;
}
section#ABOUTUS table {
    margin: 40px 0;
}
section#ABOUTUS table tr {
    padding: 0 0 0 20px;
    border:none;
    border-left: 2px solid #ddd;
    margin: 40px 0 0 -2px;
}
section#ABOUTUS table th {
    padding-bottom: 15px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: normal;
}
section#ABOUTUS table td {
    font-size: 15px;
    letter-spacing: normal;
}
section#ABOUTUS table td h4{
    font-size:18px;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: 0.008em;
    margin: 0 0 12px;
}
section#ABOUTUS table td dt{
    font-size:15px;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: 0.008em;
    margin: 16px 0 0;
}
section#ABOUTUS table td dl dt:nth-of-type(1){
    margin-top: 0;
}
section#ABOUTUS table td dd{
    font-size: 13px;
    line-height: 1.65;
    letter-spacing: 0.008em;
    margin: 2px 0 0 1em;
    padding-left: 1em;
    text-indent: -1em;
}
section#ABOUTUS table td li{
    margin-bottom:0;
}
section#ABOUTUS table td iframe{
    max-width: 100%;
    max-height: 200px;
}


/******************************************************/
/* privacy policy */
/******************************************************/
section#PRIVACY h3{
    margin-bottom:12px;
}
section#PRIVACY p{
    line-height:1.8;
    margin-bottom:12px;
}
section#PRIVACY ul{
    margin-bottom:12px;
}
section#PRIVACY dl{
    padding-left:12px;
    border-left:3px solid #000;
    margin-bottom:20px;
}


/******************************************************/
/* お問い合わせ */
/******************************************************/
section#CONTACT table.mailTable,
section#RECRUIT table.mailTable {
    display: block;
    padding: 5px 0 15px;
    border: none;
}
section#CONTACT table.mailTable tbody,
section#RECRUIT table.mailTable tbody {
    display: block;
}
section#CONTACT table.mailTable tr,
section#RECRUIT table.mailTable tr {
    padding-bottom: 10px;
    display: block;
}
section#CONTACT table.mailTable th,
section#RECRUIT table.mailTable th {
    background: #ffffff;
    display: block;
    padding: 15px 0 5px;
    font-weight: 600;
    border: none;
    font-size: 15px;
}
section#CONTACT table.mailTable th .require_icon,
section#RECRUIT table.mailTable th .require_icon {
    display: inline-block;
    margin-left: 15px;
    padding: 2px 7px;
    background: #c41134;
    font-size: 10px;
    border-radius: 3px;
    color: #FFFFFF;
}
section#CONTACT table.mailTable td,
section#RECRUIT table.mailTable td {
    display: block;
    padding: 0;
    border: none;
    font-size: 1.4rem;
    line-height: 1.45;
    letter-spacing: 0.05em;
}
section#CONTACT table.mailTable td *
section#RECRUIT table.mailTable td * {
    max-width: 100% !important;
    box-sizing: border-box;
}
section#CONTACT td,section#CONTACT td textarea,
section#RECRUIT td,section#RECRUIT td textarea{
    font-size: 1.6rem;
    padding: 6px;
    max-height: 240px;
}
section#CONTACT td ul,
section#RECRUIT td ul {
    padding-left: 10px;
}
section#CONTACT td ul li,
section#RECRUIT td ul li {
    font-size: 1.4rem;
    line-height: 1.45;
    letter-spacing: 0.05em;
}
section#CONTACT .contact-box .error_input {
    background: #FFE8E8 !important;
}
section#CONTACT .contact-box p.error {
  display: none;
}
section#CONTACT .contact-box p.error.disp {
  display: block;
}
section#CONTACT .contact-box input[type=text],
section#CONTACT .contact-box input[type=tel],
section#CONTACT .contact-box input[type=email],
section#CONTACT .contact-box textarea, 
section#RECRUIT .contact-box input[type=text],
section#RECRUIT .contact-box input[type=tel],
section#RECRUIT .contact-box input[type=email],
section#RECRUIT .contact-box textarea {
    width: 100%;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    padding: 8px;
}
section#CONTACT .telnumberbox {
    margin: 15px 0 0;
    padding: 30px 0 20px;
    box-sizing: border-box;
    max-width: 1000px;
    border: 1px solid #e5e5e5;
    text-align: center;
}
section#CONTACT .telnumber {
    font-size: 16px;
    line-height: 1;
    text-transform: uppercase;
    display: flex;
    align-items: baseline;
    justify-content: center;
}
section#CONTACT .telnumber a {
    font-style: italic;
    font-size: 40px;
    font-weight: 400;
    line-height: 0.8;
    letter-spacing: -0.05em;
    text-decoration: none;
    font-family: 'Amiri', times, serif;
    padding-right: 0.25em;
}
section#CONTACT .telnumberbox p {
    text-align: center;
    margin: 0;
    padding: 0;
}
section#RECRUIT h2.MAIL,
section#CONTACT h3.MAIL,
section#CONTACT h3.tel {
    background: #efefef;
    color: #282828;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    padding: 15px 20px;
    margin: 40px -20px 10px;
}
section#RECRUIT h2.MAIL,
section#CONTACT h3.MAIL {
    margin-top: 50px;
}

section#RECRUIT .contact-box,
section#CONTACT .contact-box {
    padding-bottom: 30px;
}

section#RECRUIT .contact-box .form_btn_area,
section#CONTACT .contact-box .form_btn_area {
    text-align: center;
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}
section#RECRUIT .contact-box input[type=submit]{
    background: #4399df;
    color: #FFFFFF;
    border: 0;
    display: inline-block;
    padding: 15px 40px;
    text-align: center;
    border-radius: 5px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.05em;
}
section#CONTACT .contact-box input[type=submit] {
    background: #c41134;
    color: #FFFFFF;
    border: 0;
    display: inline-block;
    padding: 15px 40px;
    text-align: center;
    border-radius: 5px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.05em;
}
section#RECRUIT .contact-box p.error,
section#CONTACT .contact-box p.error {
    padding-bottom: 0;
    margin-top: 8px;
    color: #FF0000;
    font-size: 11px;
}
section#RECRUIT .contact-box p.note,
section#CONTACT .contact-box p.note {
    padding-bottom: 0;
    margin: 8px 0 0;
    font-size: 11px;
}
section#RECRUIT .contact-box #backBtn,
section#CONTACT .contact-box #backBtn {
    margin-right: 15px;
}
section#RECRUIT .contact-box #submitBtn,
section#CONTACT .contact-box #submitBtn {
    margin-left: 15px;
}


section#RECRUIT .rec_detail td {
    font-size: 100%;
}
section#RECRUIT h2.entry_sheet_title {
    margin-top: 120px;
}
section#RECRUIT p.entry_sheet_btn {
    text-align: center;
    margin: 30px auto 50px;
    padding: 0 30px;
}
section#RECRUIT p.entry_sheet_btn a {
    display: block;
    padding: 25px  0 25px 0;
    background: #000;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.05em;
    text-decoration: none;
    margin: 20px auto 0;
    position: relative;
}
section#RECRUIT p.entry_sheet_btn a::after {
    content: "";
    display: block;
    height: 10px;
    width: 10px;
    border-right: 1px solid #fff;
    border-top: 1px solid #fff;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%) rotate(45deg);
}

section#RECRUIT .entry-column .column-table- .entry-container {
    margin-right: 0;
    margin-left: 0;
}
section#RECRUIT .entry-column table,
section#RECRUIT .entry-column table tbody,
section#RECRUIT .entry-column table tr,
section#RECRUIT .entry-column table th,
section#RECRUIT .entry-column table td {
    display: block;
    border: none;
}
section#RECRUIT .entry-column table {
    border-top: 1px solid #ddd;
}
section#RECRUIT .entry-column table tr {
    padding: 20px 4px;
    border-bottom: 1px solid #ddd;
}
section#RECRUIT .entry-column table th,
section#RECRUIT .entry-column table td {
    background: #FFFFFF;
    font-size: 14px;
    line-height: 1.65;
    padding: 0;
}
section#RECRUIT .entry-column table th {
    font-weight: bold;
}
section#RECRUIT .entry-column table td {
    max-height: none;
}
section#WORKSDetails .footer_tag_area {
    margin-top: 30px;
}
section#WORKSDetails .footer_tag_area dl {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    background: #f7f7f7;
    padding: 10px 15px;
    position: relative;
}
section#WORKSDetails .footer_tag_area dt {
    width: 100%;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}
section#WORKSDetails .footer_tag_area dd {
    font-size: 11px;
    line-height: 1;
    flex-grow: 1;
    text-align: center;
}
section#WORKSDetails .footer_tag_area dd a {
    display: block;
    border: 1px solid #e7e7e7;
    background: #fff;
    padding: 10px;
    border-radius: 4px;
    text-decoration: none;
}

/******************************************************/
/* ACCESS */
/******************************************************/
#ACCESS .gmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
margin-top: 15px;
}
#ACCESS .gmap  iframe,
#ACCESS .gmap  object,
#ACCESS .gmap  embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
/******************************************************/
/* 50周年記念マーク */
/******************************************************/
h1#anniversary_title {
    line-height: 2;
    padding-bottom: 0;
}
h1#anniversary_title span {
font-size: 1.6rem;
}
h1#anniversary_title img {
    width: 192px;
    height: auto;
}
#anniversary_mark_detail h2.caption {
font-size: 1.4rem;
font-weight: bold;
}
#anniversary_mark_detail h3{
font-weight:bold;
margin:15px 0;
padding-left:6px;
line-height:1em;
border-left:2px solid #333;
padding-top:3px;
font-size: 1.2rem;
}

/******************************************************/
/* 50周年記念プレゼント当選発表 */
/******************************************************/
#anniversary_present {
    margin-top: 20px;
}
#anniversary_present .present_main {
    margin: 0 -20px;
}
#anniversary_present h2 {
    margin-top: 20px;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.35;
    letter-spacing: 0.05em;
}
#anniversary_present table.number {
    margin-bottom: 5px;
    display: table;
    width: 100%;
}
#anniversary_present table.number caption {
    background: #000;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.05em;
    padding: 4px;
}
#anniversary_present table.number td {
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: center;
    padding: 8px 3px;
    flex-grow: 1;
}
#anniversary_present .link {
    color: #777;
    font-size: 11px;
    letter-spacing: normal;
    text-align: right;
    padding-left: 10px;
    padding-bottom: 10px;
}
#anniversary_present .link a {
    display: inline;
    position: relative;
}
#anniversary_present .link a::after {
    content: "";
    display: block;
    width: 4px;
    height: 4px;
    border-right: 1px solid #999;
    border-top: 1px solid #999;
    position: absolute;
    top: 50%;
    left: -10px;
    transform: translateY(-50%) rotate(45deg);
}
#anniversary_present dl.note {
    border: 1px solid #bbb;
    padding: 15px 10px;
    margin-top: 30px;
}
#anniversary_present dl.note dt {
    font-size: 15px;
    font-weight: bold;
    line-height: 1.35;
    letter-spacing: 0.02em;
    margin-bottom: 8px;
}
#anniversary_present dl.note dd {
    font-size: 12px;
    line-height: 1.75;
    letter-spacing: 0.02em;
}



#tdc_letter h2.cat_title,
#tdc_letter_detail h2.cat_title {
    font-size:16px;
    font-weight: 800;
    letter-spacing:0.1em;
    line-height: 1.35;
    margin:35px 0 10px 0;
    font-family: "Noto Sans JP", sans-serif;
    padding-bottom:10px;
    clear: both;
}
#tdc_letter_detail h2.cat_title {
    border-bottom: 1px solid #000;
}
#tdc_letter_detail .article {
    padding: 30px 0 10px;
}
#tdc_letter_detail p.pud_date {
    color: #707070;
    font-size: 13px;
    letter-spacing: 0.03em;
    margin-bottom: 0;
    padding-bottom: 5px;
}
#tdc_letter_detail h1.detail_title {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0.011em;
    margin-bottom: 35px;
    margin-top: 0;
    padding-top: 0;
    border-bottom: none;
    text-align: left;
}
#tdc_letter .info_note {
    background: linear-gradient(90deg, black 1px, transparent 1px, transparent 6px) repeat-x left top;
    background-size: 6px 1px;
    margin-top: 30px;
}
#tdc_letter .info_note a.link {
    text-decoration: none;
    display: block;
    background: linear-gradient(90deg, black 1px, transparent 1px, transparent 6px) repeat-x left bottom;
    background-size: 6px 1px;
    padding: 30px 0;
}
#tdc_letter .info_note a h3,
#tdc_letter .info_note a p.more{
    text-decoration: underline;
}
#tdc_letter .info_note a h3 {
    font-size: 20px;
    font-weight: 700;
    padding-top: 21px;
    line-height: 1.45;
    letter-spacing: 0.05em;
    margin: 0 0 8px 0;
    padding-left: 0;
}
#tdc_letter .info_note a p.date {
    font-size: 11px;
    letter-spacing: 0.03em;
    text-align: right;
    color: #707070;
    padding-bottom: 4px;
}
#tdc_letter_detail h3 {
    font-weight: bold;
    font-size: 1.8rem;
    margin-bottom: 12px;
    margin-top: 28px;
}
#WORKSDetails dl.anken_note,
#tdc_letter_detail dl.anken_note {
    border: 1px solid #555;
    padding: 20px 20px 12px;
    margin: 2.5em 0 1.5em;
    position: relative;
}
#WORKSDetails dl.anken_note dt,
#tdc_letter_detail dl.anken_note dt {
    background: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.05em;
    position: absolute;
    top: 0;
    left: 10px;
    padding: 0 10px;
    transform: translateY(-50%);
}


/******************************************************/
/* Happy Project */
/******************************************************/
/*
section#HappyProject {
    margin: 0 auto;
    max-width: 1200px;
}
*/
section#HappyProject h1#project_title {
    font-weight: 700;
    text-transform: uppercase;
}
section#HappyProject h1#project_title img {
    width: 283px;
    margin-bottom: 16px;
}
section#HappyProject h2 {
    margin: 36px 0 12px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.45;
}
section#HappyProject .project {
    margin: 80px 0 100px;
}
section#HappyProject .project:last-of-type {
    margin-bottom: 40px;
}
section#HappyProject .project > dt {
    display: flex;
    align-items: flex-start;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    padding-bottom: 16px;
    margin-bottom: 32px;
    border-bottom: 1px solid #ccc;
}
section#HappyProject .project > dt .num {
    flex-shrink: 0;
    margin-right: 30px;
    position: relative;
}
section#HappyProject .project > dt .num::after {
    content: "";
    display: block;
    background: #000;
    width: 10px;
    height: 1px;
    position: absolute;
    top: 50%;
    right: -20px;
}
section#HappyProject .project > dd h3 {
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: 0.05em;
    margin-bottom: 32px;
}
section#HappyProject .project > dd .sdgs {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
section#HappyProject .project > dd .sdgs li {
    margin: 0 16px 16px 0;
}
section#HappyProject .project > dd .sdgs li img {
    width: 50px;
}
section#HappyProject .project > dd .project_img,
section#HappyProject .project > dd .project_movie {
    padding: 0;
    margin-bottom: 32px
}
section#HappyProject .project > dd .project_img img {
    vertical-align: top;
    max-width: 100%;
    height: auto;
}
section#HappyProject .project > dd .project_movie iframe {
    vertical-align: top;
    max-width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}
section#HappyProject .btn {
    margin-top: 30px;
}
section#HappyProject .btn li {
    margin: 20px auto 0;
    font-size: 14px;
    line-height: 1.45;
    letter-spacing: 0.05em;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
section#HappyProject .btn li a {
    display: block;
    background: #000;
    border: 1px solid #000;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0.05em;
    text-align: center;
    text-decoration: none;
    padding: 16px 30px 16px 20px;
    width: 200px;
    position: relative;
}
section#HappyProject .btn li a::after {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-right: 1px solid #fff;
    border-top: 1px solid #fff;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
}
section#HappyProject .btn li.w a {
    background: #fff;
    border-color: 1px solid #000;
    color: #000000;
}
section#HappyProject .btn li.w a::after {
    border-color: #333;
}
/******************************************************/
/* 選択されているタグ */
/******************************************************/
section h2.tag-h2 {
    font-size: 16px;
    line-height: 1.45;
    margin-bottom: 24px;
}
section #nextTagTitle {
    font-size: 12px;
    line-height: 2.1;
    margin-bottom: 20px;
}
section #nextTagTitle a {
    position: relative;
    padding-left: 18px;
    display: inline-block;
    margin-right: 10px;
}
section #nextTagTitle a::before {
    content: "+";
    background: #eee;
    border: 1px solid #ddd;
    color: #444;
    width: 12px;
    height: 12px;
    font-size: 10px;
    font-weight: 700;
    border-radius: 50px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: calc(50% - 6px);
    left: 0;
}

/******************************************************/
/* SNS運用代行 */
/******************************************************/
#SNSOPEARATION h3 {
    font-size: 21px;
    margin: 50px 0 20px;
}
#SNSOPEARATION h3 span {
    border-bottom: 1px solid #ccc;
    padding-bottom: 20px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.008em;
    display: block;
    margin-bottom: 50px;
}
#SNSOPEARATION .nayami {
    background: #f7f7f7;
    padding: 50px 40px;
    margin: 50px -20px;
}
#SNSOPEARATION .nayami dt {
    font-size: 21px;
    text-align: center;
    margin-bottom: 20px;
}
#SNSOPEARATION .nayami dd ul li {
    padding: 16px 0 16px 30px;
    line-height: 1.4;
}
#SNSOPEARATION .nayami dd ul li::before {
    content: "";
    display: inline-block;
    background: url("../images/common/ico_checkbox.svg") no-repeat;
    background-size: 18px 18px;
    width: 18px;
    height: 18px;
    margin-right: 12px;
    position: absolute;
    top: 17px;
    left: 0;
}
#SNSOPEARATION .tameno h3 {
    text-align: center;
}
#SNSOPEARATION .tameno .list {
    display: block;
    margin: 0 -8px;
}
#SNSOPEARATION .tameno .list dl {
    box-shadow: 0 0 32px rgba(0, 0, 0, 0.06);
    padding: 32px;
    width: auto;
    box-sizing: border-box;
    border: 2px solid #efefef;
    margin: 8px;
}
#SNSOPEARATION .tameno .list dl dt {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: 0.008em;
    margin-bottom: 10px;
}
#SNSOPEARATION .tameno .list dl dd {
    font-size: 14px;
    line-height: 1.75;
}


/******************************************************/
/* SNS運用代行 （作成中）*/
/******************************************************/
/* システム生成の不要な記述を非表示 */

#SNSOPERATION_2 > h1,
#SNSOPERATION_2 > h2.SNSOPERATION_2{
    display: none;
}
#SNSOPERATION_2,
#SNSOPERATION_2  section {
    padding: 0;  
}
/* 共通設定 */
#SNSOPERATION_2 {
    letter-spacing: 0.06em;
}
#SNSOPERATION_2 .rainbow{
    background: linear-gradient( 90deg, rgb(255,165,14) 20%, rgb(170,42,203) 73%, rgb(16,31,140) 100%) no-repeat bottom;
    background-size: 100% 3px;
}
#SNSOPERATION_2 .antonio {
    font-family: 'Antonio', sans-serif;
}
#SNSOPERATION_2 .free_link {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000000;
    color: #ffffff;
    border-radius: 100vh;
    border: double 4px;
    text-align: center;
    max-width: 277px;
    height: 58px;
    font-size: 13px;
    box-sizing: border-box;
    position: relative;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: normal;
    margin: 0 auto;
}

#SNSOPERATION_2 .free_link::after {
    content: "";
    width: 8px;
    height: 12px;
    background: url("../images/snsoperation/sp/arw_wht.png") no-repeat;
    background-size: contain;
    transform: translateY(-50%);
    position: absolute;
    right: 15px;
    top: 50%;
}

#SNSOPERATION_2 .free_link .bigger {
    font-size: 15px;
    margin-top: -2px;
}

/* SNS・Instagramをもっと身近に */
#SNSOPERATION_2 #sns_top .contents_wrap{
    display: flex;
    flex-direction: column-reverse;
    padding-bottom: 50px;
}

#SNSOPERATION_2 #sns_top img {
    width: 68.8%;
    height: auto;
    display: block;
    margin: 0 auto 13px;
}

#SNSOPERATION_2 #sns_top .text_wrap {
    margin: 0 auto;
    width: 283px;
}

#SNSOPERATION_2 #sns_top .text_wrap .text_upper {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1;
    padding-bottom: 0;
    text-align: left;
}

#SNSOPERATION_2 #sns_top .text_wrap h1 {
    font-size: 28px;
    letter-spacing: 0.08em;
    line-height: 1.6;
    font-weight: 700;
    text-align: left;
    margin: 0 auto 10px;
    padding: 0;
    text-decoration: none;
    border: none;
    text-transform:none;
}
#SNSOPERATION_2 #sns_top .text_wrap h1 .rainbow {
    padding-bottom: 3px;
}
#SNSOPERATION_2 #sns_top .text_wrap .text_lower {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 15px;
    font-weight: 500;
    padding: 0;
}

#SNSOPERATION_2 #sns_top .contents_wrap .text_wrap .link_wrap p{
    background: #fac20e;
    border-radius: 100vh;
    width: 232px;
    height: 32px;
    font-size: 13px;
    display: flex;
    align-items: center;
    text-align: center;
    font-weight: 700;
    box-sizing: border-box;
    line-height: 1;
    position: relative;
    margin: 0 auto 17px;
    padding: 0;
}
#SNSOPERATION_2 #sns_top .contents_wrap .text_wrap .link_wrap p::after {
    content: "";
    width: 11px;
    height: 9px;
    box-sizing: border-box;
    border-top: 10px solid #fac20e;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    position: absolute;
    bottom: 1px;
    right: 0;
    left: 0;
    margin: 0 auto;
    transform: translateY(100%);
    letter-spacing: normal;
}

#SNSOPERATION_2 #sns_top .contents_wrap .text_wrap .link_wrap p .bigger {
    font-size: 20px;
    margin-bottom: 5px;
}

#SNSOPERATION_2 #sns_top .contents_wrap .text_wrap .link_wrap p .bg_white{ 
    font-size: 12px;
    background: #ffffff;
    width: 90px;
    border-radius: 100vh;
    font-weight: 500;
    margin:0 5px 0 6px;
    height: 23px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#SNSOPERATION_2 #sns_top .contents_wrap .text_wrap .link_wrap a {
    margin: 0 auto;    
} 

/* こんなお悩みありませんか？ */
#SNSOPERATION_2 #sns_problem {
    background: linear-gradient(180deg, rgba(238,238,238,1) 0%, rgba(239,239,239,1) 86%, rgba(255,255,255,1) 100%);
    padding: 35px 0 85px;
    position: relative;
}

#SNSOPERATION_2 #sns_problem h2{
    font-size: 24px;
    text-align: center;
    font-weight: 700;
    margin-bottom: 40px;
    color: #333333;
    line-height: 1.3;
    position: relative;
    z-index: 10;
}

#SNSOPERATION_2 #sns_problem .problem_list{
    margin: 0 6.4%;
    position: relative;
    z-index: 10;
}

#SNSOPERATION_2 #sns_problem .problem_list .problem_wrap {
    box-sizing: border-box;
    width: 100%;
    background: #feffff;
    overflow: hidden;
    position: relative;
    border-radius: 10px;
    padding: 30px 0 19px;
    margin-bottom: 20px;
}

#SNSOPERATION_2 #sns_problem .problem_wrap h3{
    background: #000;
    color: #feffff;
    position: absolute;
    top: 0;
    left: 0;
    width: 150px;
    height: 30px;
    margin: 0;
    font-size: 14px;
    padding: 8px 0 8px 16px;
    font-weight: 700;
    box-sizing: border-box;
    line-height: 1;
}

#SNSOPERATION_2 #sns_problem .problem_wrap h3::after{
    content: "";
    width: 19px;
    height: 30px;
    box-sizing: border-box;
    border-left: 19px solid #000000;
    border-right: 19px solid #feffff;
    border-bottom: 30px solid #feffff;
    position: absolute;
    right: -36px;
    top: 0;
    bottom: 0;
}

#SNSOPERATION_2 #sns_problem .problem_wrap .problem_detail_list{
    margin-top: 20px;
    padding:0 24px 0 48px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: #222222;
}

#SNSOPERATION_2 #sns_problem .problem_wrap .problem_detail_list li{
    font-size: 14px;
    font-weight: 500;
    line-height: 1.43;
    margin-bottom: 9px;
    position: relative;
}

#SNSOPERATION_2 #sns_problem .problem_wrap .problem_detail_list li::before{
    content: "";
    width: 16px;
    height: 12px;
    background: url("../images/snsoperation/sp/problem_ico_check.png") no-repeat;
    background-size: cover;
    position: absolute;
    display: block;
    left: -9px;
    top: calc(50% + 2px);
    transform: translate(-100%, -50%);

}

#SNSOPERATION_2 #sns_problem .problem_wrap .problem_detail_list li b{
    font-weight: 900;
}

#SNSOPERATION_2 #sns_problem .decoration_wrap {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    overflow: hidden;
}

#SNSOPERATION_2 #sns_problem .decoration_wrap .decoration_01 {
    position: absolute;
    top: 20px;
    right: 0;
}

#SNSOPERATION_2 #sns_problem .decoration_wrap .decoration_02 {
    position: absolute;
    top: 106px;
    left: -2px;
}

#SNSOPERATION_2 #sns_problem .decoration_wrap .decoration_03 {
    position: absolute;
    top: 449px;
    right: calc(50% - 124px);
}

#SNSOPERATION_2 #sns_problem .decoration_wrap .decoration_04 {
    position: absolute;
    top: 591px;
    left: -1px
}

#SNSOPERATION_2 #sns_problem .decoration_wrap .decoration_05 {
    position: absolute;
    top: 730px;
    right: -8px;
}



/* 私たちが解決します */
#SNSOPERATION_2 #sns_solutions {
    overflow-y: hidden;
    position: relative;
}


#SNSOPERATION_2 #sns_solutions .abstract{
    padding: 18px 0 57px;   
}

#SNSOPERATION_2 #sns_solutions .abstract h2 {
    font-weight: 700;
    font-size: 28px;
    margin-bottom: 45px;
    text-align: center;
    position: relative;
    z-index: 10;
}
#SNSOPERATION_2 #sns_solutions .abstract h2 .rainbow {
    padding-bottom: 4px;
}

#SNSOPERATION_2 #sns_solutions .abstract h2 .sub{
    display: inline-block;
    font-size: 18px;
    margin-bottom: 8px;
}

#SNSOPERATION_2 #sns_solutions .abstract p{
    font-size: 16px;
    text-align: left;
    margin: 0 6.4%;
    line-height: 1.7;
    font-weight: 500;
    letter-spacing: 0.08em;
    padding: 0;
    position: relative;
    z-index: 10;
}

#SNSOPERATION_2 #sns_solutions .decoration_wave {
  position: relative;
  padding-bottom: 80px;
}

#SNSOPERATION_2 #sns_solutions .decoration_wave::after {
  content: "";
  width: 100%;
  height: calc(100% + 140px);
  background: url(../images/snsoperation/sp/base_gr_01.png) no-repeat top center;
  background-size: cover;
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  z-index: -1;
  display: block;
}


#SNSOPERATION_2 #sns_solutions .solutions_wrap ol {
    margin: 0 6.4% 100px;
    position: relative;
    z-index: 10;
}

#SNSOPERATION_2 #sns_solutions .solutions_wrap ol li{
    width: 100%;
    border-radius: 10px;
    padding: 40px 24px 34px;
    border: 2px solid #eeeeee;
    background: #ffffff;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: 0.08em;
    margin-bottom: 15px;
    position: relative;
}
#SNSOPERATION_2 #sns_solutions .solutions_wrap ol li:nth-last-of-type(1) {
    margin-bottom: 0;
}

#SNSOPERATION_2 #sns_solutions .solutions_wrap ol li:nth-last-of-type(3)::after {
    content: "";
    width: 62px;
    height: 57px;
    background: url("../images/snsoperation/sp/geometry_08.png") no-repeat;
    background-size: cover;
    position: absolute;
    bottom: -28px;
    right: -18px;
    z-index: -1;
}

#SNSOPERATION_2 #sns_solutions .solutions_wrap ol li h3{
    font-weight: 700;
    font-size: 17px;
    margin:0 0 23px;
    line-height: 1;
}

#SNSOPERATION_2 #sns_solutions .solutions_wrap ol li .reverse {
    background: #000000;
    color: #ffffff;
}

#SNSOPERATION_2 #sns_solutions .solution_link {
    background: rgba(255, 255, 255, 0.8);
    border-radius: 10px;
    box-sizing: border-box;
    margin: 0 6.4%;
    padding: 45px 24px 50px;
    position: relative;
    z-index: 10;
}

#SNSOPERATION_2 #sns_solutions .solution_link .text_wrap {
    font-weight: 700;
    font-size: 20px;
    line-height: 1.8;
    margin-bottom: 30px;
}

#SNSOPERATION_2 #sns_solutions .solution_link .text_wrap p {
    text-align: center;
    margin:0 -7px 27px;
    letter-spacing: normal;
    padding: 0;
}

#SNSOPERATION_2 #sns_solutions .solution_link picture img {
    width: 84.8%;
    height: auto;
    margin: 49px auto 0;   
    display: block;
    
}

#SNSOPERATION_2 #sns_solutions .decoration_wrap {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    overflow: hidden;
}

#SNSOPERATION_2 #sns_solutions .decoration_wrap .decoration_06 {
    position: absolute;
    top: 309px;
    right: -5px;
}

#SNSOPERATION_2 #sns_solutions .decoration_wrap .decoration_07 {
    position: absolute;
    top: 552px;
    left: -2px;
}

#SNSOPERATION_2 #sns_solutions .decoration_wrap .decoration_08 {
    display: none;
}


/* Instagram広告の特徴 */
#SNSOPERATION_2 #sns_feature {
    padding: 45px 48px 0;
    
}

#SNSOPERATION_2 #sns_feature h2{
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 46px;
}

#SNSOPERATION_2 #sns_feature .feature_wrap {
    margin: 0 auto 65px;
    display: flex;
    flex-direction: column-reverse;
}

#SNSOPERATION_2 #sns_feature .feature_wrap img {
    width: 67.7%;
    height: auto;
    margin:0 auto 18px;
    display: block;
}

#SNSOPERATION_2 #sns_feature .feature_wrap .text_wrap h3{
    font-weight: 700;
    font-size: 24px;
    margin:0 0 25px;
}

#SNSOPERATION_2 #sns_feature .feature_wrap .text_wrap h3 .rainbow {
    padding-bottom: 2px;
    background-size: 100% 3px;
}

#SNSOPERATION_2 #sns_feature .feature_wrap .text_wrap h3 .sub{
    font-size: 17px;
    margin-bottom: 15px;
    display: block;
}

#SNSOPERATION_2 #sns_feature .feature_wrap .text_wrap p {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.06em;
    
}

/* 実績 */
#SNSOPERATION_2 #sns_production {
    background: linear-gradient(180deg, rgba(238,238,238,1) 0%, rgba(239,239,239,1) 98%, rgba(255,255,255,1) 100%);
    padding: 47px 0 97px;
    position: relative;
}

#SNSOPERATION_2 #sns_production h2 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 90px;
    text-align: center;
    color: #333333;
    position: relative;
    z-index: 10;
}

#SNSOPERATION_2 #sns_production .production_wrap  {
    margin-bottom: 80px;
    position: relative;
    z-index: 10;
}

#SNSOPERATION_2 #sns_production .production {
    padding: 261px 24px 38px;   
    border-radius: 10px;
    background: #ffffff;
    position: relative;
    margin: 0 6.4% 110px;
    box-sizing: border-box;
}

#SNSOPERATION_2 #sns_production .production:nth-last-of-type(1) {
    margin-bottom: 0;
}

#SNSOPERATION_2 #sns_production .production  .screenshot{
    position: absolute;
    width: 161px;
    height: auto;
    top: -50px;
    left: 0;
    right: 0;
    margin:auto;
}
#SNSOPERATION_2 #sns_production .production_wrap .production h3 {
    text-align: left;
    margin:0 auto 19px;
}

#SNSOPERATION_2 #sns_production .production_wrap .production h3 .sub{
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 20px;
    display: block;
}

#SNSOPERATION_2 #sns_production .production_wrap .production h3 .reverse{
    margin-bottom: 9px;
    display: inline-block;
    background: #000000;
    color: #ffffff;
    display: inline-block;
    margin-top: 5px;
    font-weight: 700;
    padding: 0 8px;
    line-height: 1.3;
}

#SNSOPERATION_2 #sns_production .production_wrap .production h3 .reverse .smaller{
    font-size: 14px;
    margin-left: 8px;
}

#SNSOPERATION_2 #sns_production .production_wrap .production h3 .instagram {
    display: flex;
    align-items: center;
}    

#SNSOPERATION_2 #sns_production .production_wrap .production h3 .instagram a{
    color: #999999;
    text-decoration-color: #999999;
    font-size: 12px;
    letter-spacing: 0.012em;
    font-weight: 700;
}

#SNSOPERATION_2 #sns_production .production_wrap .production h3 .instagram img{
    width: 20px;
    height: auto;
    margin-right: 9px;
}

#SNSOPERATION_2 #sns_production .production_wrap .production .text_wrap p {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1.7;
}

#SNSOPERATION_2 #sns_production .notice {
    border-radius: 100vh;
    border: 1px solid #000000;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.5;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 28px 50px;
    margin: 0 6.4%;
    box-sizing: border-box;
    position: relative;
    z-index: 10;
}

#SNSOPERATION_2 #sns_production .production_wrap::after {
    content: "";
    width: 45px;
    height: 45px;
    background: url("../images/snsoperation/sp/geometry_13.png");
    background-size: cover;
    position: absolute;
    bottom: -64px;
    left: 0;
}

#SNSOPERATION_2 #sns_production .notice::after {
    content: "";
    width: 62px;
    height: 58px;
    background: url("../images/snsoperation/sp/geometry_08.png");
    background-size: cover;
    position: absolute;
    bottom: -22px;
    right: 0;
    z-index: -1;
}

#SNSOPERATION_2 #sns_production .decoration_wrap {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    overflow: hidden;
}

#SNSOPERATION_2 #sns_production .decoration_wrap .decoration_09 {
    position: absolute;
    top: 38px;
    right: 30px;
}

#SNSOPERATION_2 #sns_production .decoration_wrap .decoration_10 {
    position: absolute;
    top: 129px;
    left: 0;
}

#SNSOPERATION_2 #sns_production .decoration_wrap .decoration_11 {
    position: absolute;
    top: 708px;  
    left: 0; 
}

#SNSOPERATION_2 #sns_production .decoration_wrap .decoration_12 {
    position: absolute;
    top: 843px;
    right: 2px;
}

#SNSOPERATION_2 #sns_production .decoration_wrap .decoration_13 {
    display: none;
}

#SNSOPERATION_2 #sns_production .decoration_wrap .decoration_14 {
    display: none;
}

/* 運用代行までの流れ */
#SNSOPERATION_2 #sns_flow {
    padding: 38px 0 0;
}


#SNSOPERATION_2 #sns_flow .decoration_wave {
  position: relative;
  padding-bottom: 74px;
}

#SNSOPERATION_2 #sns_flow .decoration_wave::after {
  content: "";
  width: 100%;
  height: calc(100% + 144px);
  background: url(../images/snsoperation/sp/base_gr_02.png) no-repeat top center;
  background-size: cover;
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  z-index: -1;
  display: block;
}


#SNSOPERATION_2 #sns_flow h2 {
    font-weight: 700;
    font-size: 24px;
    letter-spacing: 0.08em;
    text-align: center;
    margin-bottom: 77px;
    color: #333333;
}

#SNSOPERATION_2 #sns_flow .flow_list {
    margin: 0 13.3% 90px;
}

#SNSOPERATION_2 #sns_flow .flow_list li {
    width: 100%;
    box-sizing: border-box;
    border: 2px solid #eeeeee;
    border-radius: 10px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 16px;
    line-height: 1.5;
    background: #ffffff;
    margin-bottom: 45px;
    padding: 45px 0 30px;
    font-weight: 700;
}

#SNSOPERATION_2 #sns_flow .flow_list li:nth-last-of-type(1) {
    margin-bottom: 0;
}

#SNSOPERATION_2 #sns_flow .flow_list li .num {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #000000;
    color: #ffffff;
    font-weight: 700;
    font-size: 20px;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    transform: translateY(-50%);
    margin: auto;
    text-align: center;
    padding-top: 15px;
    box-sizing: border-box;
    line-height: 1;
}

#SNSOPERATION_2 #sns_flow .flow_list img {
    margin: 20px auto 0;
} 

#SNSOPERATION_2 #sns_flow .text_wrap {
    width: 327px;
    margin: 0 auto;
}

#SNSOPERATION_2 #sns_flow .text_wrap p {
    text-align: center;
    color: #ffffff;
    letter-spacing: 0.012em;
    line-height: 1.8;
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 23px;
}

#SNSOPERATION_2 #sns_flow .text_wrap .link_wrap p{
    background: #000000;
    border-radius: 100vh;
    width: 120px;
    height: 32px;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 700;
    box-sizing: border-box;
    line-height: 1;
    position: relative;
    margin: 0 auto 17px;
    padding: 0;
}

#SNSOPERATION_2 #sns_flow .text_wrap .link_wrap p::after {
    content: "";
    width: 12px;
    height: 9px;
    box-sizing: border-box;
    border-top: 9px solid #000000;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    position: absolute;
    bottom: 1px;
    right: 0;
    left: 0;
    margin: 0 auto;
    transform: translateY(100%);
}

#SNSOPERATION_2 #sns_flow .text_wrap .link_wrap a{
    width: 328px;
    height: 84px;
    background: linear-gradient( 90deg, rgb(255,165,14) 20%, rgb(170,42,203) 73%, rgb(16,31,140) 100%);
    border-radius: 100vh;
    color: #000000;
    text-align: center;
    box-sizing: border-box;
    text-decoration: none;
    margin: 0 auto;
    display: block;
    position: relative;
    z-index: 1;
    border: solid 2px #ffffff;
}

#SNSOPERATION_2 #sns_flow .text_wrap .link_wrap .bg_white{
    width: 317px;
    height: 73px;
    box-sizing: border-box;
    display: block;
    border-radius: 100vh;
    background: #fff;
    margin: 4px auto 0;
    padding: 15px 0;
    font-weight: 700;
    font-size: 13px;
    line-height: 1;
}
#SNSOPERATION_2 #sns_flow .text_wrap .link_wrap .bg_white .bigger {
    font-size: 18px;
}

#SNSOPERATION_2 #sns_flow .text_wrap .link_wrap .bg_white .upper {
    font-size: 14px;
    font-weight: 400;
    display: block;
    margin-bottom: 7px;
}

#SNSOPERATION_2 #sns_flow .text_wrap .link_wrap .bg_white::after {
    content: "";
    width: 9px;
    height: 9px;
    background: url("../images/snsoperation/pc/arw_wht.png") no-repeat;
    background-size: contain;
    transform: translateY(-50%) rotate(-45deg);
    position: absolute;
    right: 22px;
    top: 50%;
    border-right: 2px solid #000000;
    border-bottom: 2px solid #000000;
}

/* 404 */
#contents_wrapper.is_404 main {
    background: url(../images/404/sp_error_img.png) no-repeat;
    background-position: top center;
    background-size:   100% auto;
    padding: 20px 0 30px;
}
#contents_wrapper.is_404 main h1 {
    margin: 0;
    font-size: 27px;
    font-weight: 500;
    text-transform: none;
    font-family: 'Jost', sans-serif;
    line-height: 1.05;
    letter-spacing: 0;
}
#contents_wrapper.is_404 main section {
    padding: 0 20px;
}
#contents_wrapper.is_404 main h1 span {
    font-size: 75px;
}
#contents_wrapper.is_404 main h2 {
    margin: 25px 0 0 0;
    font-size: 19px;
    font-weight: 700;
}
#contents_wrapper.is_404 main .about_404 {
    margin: 22px 0 0 0;
    font-size: 15px;
    line-height: 1.75;
}
}
