@charset "UTF-8";

/* **********************************************************************
 *
 *       Title:   block.css
 *
 ********************************************************************** */

html {
    font-size: 62.5%;
}

body {
    font-family: "Noto Sans JP", Helvetica, "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .05em;
}

.roboto {
    font-family: "Roboto", "Noto Sans JP", Helvetica, "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.herr {
    font-family: "Herr Von Muellerhoff", "Noto Sans JP", Helvetica, "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}


a:link,
a:visited {
    color: #135AC6;
    text-decoration: underline;
}
a:hover,
a:active {
    color: #135AC6;
    text-decoration: none;
}

address,
caption,
cite,
code,
dfn,
em,
th,
var {
    font-weight: normal;
    font-style: normal;
}

ul {
    margin: 5px 0 5px 10px;
    padding: 0 0 0 10px;
}

ol {
    margin: 5px 0 5px 15px;
    padding: 0 0 0 20px;
}
#tinymce {
    font-size: 1.4rem;
}
#tinymce .pc_none{
    display: block;
}
img {
    max-width: 100%;
    height: auto;
}

/* トップページ設定
======================================================= */
h2.tb_ttl {
    padding-top: 10px;
    font-size: 18px;
    font-size: 1.8rem;
}

/* メインビジュアル */
/*.mv img {
    width: 100%;
    height: 720px;
    object-fit: cover;
}*/

/* メインビジュアル */
.mainvisual {
    padding: 90px 0 0;
}

.mainvisual_inner {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    height: 660px;
    z-index: 1;
    overflow: hidden;
    transition: background .3s;
}

.mainvisual:not(.visible) .mainvisual_inner {
    background: #20344A;
}

/* loading */

.mainvisual_inner::after {
    content: "";
    position: absolute;
    top: calc(50% - 20px);
    left: calc(50% - 20px);
    width: 40px;
    height: 40px;
    border: 4px solid rgba(0, 0, 0, 0.1); /* Or use a CSS var for this color */
    border-radius: 50%;
    border-top-color: #20344A;
    animation: spin 1s ease-in-out infinite;
    opacity: 0;
    transition: opacity .3s;
}
@keyframes spin { to { transform: rotate(360deg); } }

.mainvisual.loading .mainvisual_inner::after {opacity: 1;}

.mainvisual_txt {
    position: relative;
    width: 90%;
    margin: 0 auto 12px;
    text-align: center;
    z-index: 3;
    opacity: 0;
    transition: opacity .6s;
}

.mainvisual.visible .mainvisual_txt {
    opacity: 1;
}

.mainvisual_bg_inner {
    display: flex;
    justify-content: center;
    gap: 22px;
    position: absolute;

    top: 0;
    top: calc(40% - calc(max(154vw, 190vh) / 2));
    height: 200%;
    height: max(154vw, 190vh);

    left: 0;
    left: calc(48% - calc(max(154vw, 190vh) / 2));
    width: 200%;
    width: max(154vw, 190vh);

    opacity: 0;
}

.mainvisual.visible .mainvisual_bg_inner {
    transition: transform 3.5s cubic-bezier(.5,0,.5,1), opacity 1s ease-out;
}

.mainvisual_bg_inner ._col {
    width: calc(100% / 6);
    height: 200%;
    margin-top: -50%;
    background-position: 0 0;
    background-size: 100% auto;
    background-repeat: repeat-y;
}

.mainvisual.visible .mainvisual_bg_inner ._col {
    transition: transform 3.5s cubic-bezier(.5,0,.5,1);
}

.mainvisual_bg_inner ._col._col01 {background-image: url(../img/kv01.png);}
.mainvisual_bg_inner ._col._col02 {background-image: url(../img/kv02.png);}
.mainvisual_bg_inner ._col._col03 {background-image: url(../img/kv03.png);}
.mainvisual_bg_inner ._col._col04 {background-image: url(../img/kv04.png);}
.mainvisual_bg_inner ._col._col05 {background-image: url(../img/kv05.png);}
.mainvisual_bg_inner ._col._col06 {background-image: url(../img/kv06.png);}

.mainvisual_bg_inner ._col:nth-child(2n) {
    margin-top: 70px;
}

.mainvisual .movie {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    opacity: 0;
    transition: opacity 1s;
}

.mainvisual .movie video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mainvisual .movie::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.5);
    z-index: 1;
}

/* アニメーション */
.mainvisual.visible .mainvisual_bg_inner {
    opacity: 1;
}

.mainvisual.transform .mainvisual_bg_inner {
    transform: rotate(-25deg) scale(.7);
}

.mainvisual.transform .mainvisual_bg_inner ._col:nth-child(2n) {
    transform: translateY(-40px);
}

.mainvisual.transform .mainvisual_bg_inner ._col:nth-child(2n+1) {
    transform: translateY(40px);
}

.mainvisual.movie .movie {
    opacity: 1;
}

.mainvisual.translate .mainvisual_bg_inner {
    transition: opacity 1s ease-out;
    transform: rotate(-25deg) scale(.7);
}

.mainvisual.translate .mainvisual_bg_inner ._col {
    transition: transform 3.4s .5s cubic-bezier(.6,0,.75,.4);
}

.mainvisual.translate .mainvisual_bg_inner ._col:nth-child(2n) {
    transform: translateY(-640px);
}

.mainvisual.translate .mainvisual_bg_inner ._col:nth-child(2n+1) {
    transform: translateY(640px);
}

/* mv_info */

.mv_info {
    font-weight: bold;
    color: #fff;
    background: #20344A;
}

.mv_info .inner {
    width: 1080px;
    margin: 0 auto;
    padding: 20px 0;
}

.mv_info .inner .list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.mv_info .inner .list li {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.mv_info .inner .list li .type {
    width: 112px;
    box-sizing: border-box;
    font-size: 14px;
    font-size: 1.4rem;
    text-align: center;
    line-height: 1.8;
    background: #D30000;
}

.mv_info .inner .list li .tit {
    width: calc(100% - 127px);
    line-height: 1.6;
}

.mv_info .inner .list li a {
    color: #fff;
}

/* top_intro */

.top_intro {
    text-align: center;
    background:url(../../file/bg_top_intro02.svg) repeat-x center bottom, url(../../img/bg_top_intro01.jpg) no-repeat center center;
    background-size: auto auto, cover; 
}

.top_intro .inner {
    width: 1080px;
    margin: 0 auto;
    padding: 77px 0 104px;
}

.top_intro .inner .tit {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    color: #fff;
    letter-spacing: .1em;
    line-height: 1.3;
}

.top_intro .inner .txt {
    margin: 20px 0 30px;
    font-size: 20px;
    font-size: 2.0rem;
    font-weight: bold;
    letter-spacing: .1em;
}

.top_intro .inner .btn {
    margin-top: 50px;
}

/* top_works */

.top_works {
    position: relative;
    z-index: 0;
}

.top_works::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 50%;
    height: 100%;
    background: linear-gradient(#FFE2E8, #FFFDFE);
}

.top_works::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    width: 50%;
    height: 100%;
    background: url(../../img/bg_top_works01.jpg) no-repeat center center;
    background-size: cover;
}

.top_works .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 1200px;
    margin: 0 auto;
    padding: 70px 0;
}

.top_works .inner .col_l {
    width: 580px;
    font-weight: 500;
    text-align: center;
}

.top_works .inner .col_l h2 {
    margin: 0 0 60px;
}

.top_works .inner .col_l .btn {
    margin-top: 50px;
}

.top_works .inner .col_r {
    width: 580px;
}

.top_works .inner .col_r .list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 0 -40px;
    padding: 0;
    list-style: none;
}

.top_works .inner .col_r .list li {
    width: 266px;
    margin: 0 0 40px;
    position: relative;
}

.top_works .inner .col_r .list li .img {
    border-radius: 5px;
    position: relative;
    overflow: hidden;
}

.top_works .inner .col_r .list li .img::before {
    content: '';
    position: absolute;
    top: 0;
    right: -40px;
    width: 130px;
    height: 100%;
    background: #0E253E;
    opacity: .7;
    transform: skew(-25deg);
}

.top_works .inner .col_r .list li .txt {
    position: absolute;
    bottom: 18px;
    right: -10px;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.6;
}

.top_works .inner .col_r .list li .txt a {
    display: inline-block;
    padding: 8px 35px 8px 20px;
    border-radius: 40px;
    color: #20344A;
    text-decoration: none;
    background: #fff url(../img/arw.svg) no-repeat right 15px center;
    background-size: 10px auto;
}

/* top_voice */

.top_voice {
    background: linear-gradient(#CDF4EB, #F2FCF5);
}

.top_voice .inner {
    width: 1200px;
    margin: 0 auto;
    padding: 60px 0;
}

.top_voice .inner h2 {
    margin: 0 0 60px;
    text-align: center;
}

.top_voice .inner .slider {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.top_voice .inner .slider::after {
    content: '';
    display: block;
    width: 380px;
}

.top_voice .inner .slider .slides {
    width: 380px;
}

.top_voice .inner .slider .slides .img {
    margin: 0 0 25px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .09);
}

.top_voice .inner .slider .slides .txt {
    margin: 0 0 20px;
    padding: 25px 20px;
    border-radius: 15px;
    font-weight: 500;
    line-height: 1.6;
    background: #FFFFFF;
    position: relative;
}

.top_voice .inner .slider .slides .txt::before {
    content: '';
    position: absolute;
    top: -10px;
    left: 16px;
    width: 30px;
    height: 23px;
    background: url(../../file/bg_top_voice01.svg) no-repeat 0 0;
}

.top_voice .inner .slider .slides .txt::after {
    content: '';
    position: absolute;
    bottom: -10px;
    right: 14px;
    width: 30px;
    height: 23px;
    background: url(../../file/bg_top_voice02.svg) no-repeat 0 0;
}

.top_voice .inner .slider .slides .client {
    font-weight: bold;
    color: #199D5B;
    text-align: right;
}

.top_voice .inner .btn {
    margin-top: 50px;
}

/* top_clients */

.top_clients .inner {
    width: 1080px;
    margin: 0 auto;
    padding: 55px 0 80px;
}

.top_clients .inner h2 {
    margin: 0 0 30px;
    text-align: center;
}

.top_clients .inner .txt {
    margin: 0 0 30px;
    font-weight: 500;
    text-align: center;
}

.top_clients .inner .list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 20px;
    padding: 0;
    list-style: none;
}

.top_clients .inner .list li {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 240px;
    height: 60px;
    margin: 0 0 20px 40px;
}

.top_clients .inner .list li:nth-child(4n + 1) {
    margin-left: 0;
}

.top_clients .inner .list li img {
    width: auto;
    max-height: 60px;
}

.top_clients .inner .btn_list {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.top_clients .inner .btn_list li {
    width: 340px;
    margin: 0 15px;
}

/* top_service */

.top_service {
    background: linear-gradient(#FDECE0, rgba(245,227,215,.3));
}

.top_service .inner {
    width: 1080px;
    margin: 0 auto;
    padding: 70px 0 100px;
    background: url(../../img/bg_top_service01.png) no-repeat 31px bottom;
}

.top_service .inner h2 {
    margin: 0 0 70px;
    text-align: center;
}

.top_service .inner .col {
    display: flex;
    justify-content: space-between;
}

.top_service .inner .col .col_l {
    width: 640px;
    font-weight: 500;
}

.top_service .inner .col .col_r {
    width: 385px;
}

.top_service .inner .col .col_r .list {
    margin: 0;
    padding: 10px 30px 5px;
    list-style: none;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.5;
    border-radius: 10px;
    background: #EF8246;
}

.top_service .inner .col .col_r .list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #E07539;
    position: relative;
}

.top_service .inner .col .col_r .list li:first-child {
    padding: 20px 0;
    border-top: none;
    font-size: 24px;
    font-size: 2.4rem;
}

.top_service .inner .col .col_r .list li .img {
    width: 60px;
}

.top_service .inner .col .col_r .list li:first-child .img {
    width: 100px;
    position: absolute;
    top: -35px;
    left: -40px;
}

.top_service .inner .col .col_r .list li .txt {
    width: calc(100% - 75px);
    margin-left: auto;
}

.top_service .inner .col .col_r .list li a {
    display: block;
    padding: 0 30px 0 0;
    color: #fff;
    text-decoration: none;
    background: url(../img/arw_w.svg) no-repeat right center;
    background-size: 14px auto;
}

/* top_blog */

.top_blog {
    background: url(../../img/bg_top_blog01.png) no-repeat top 30px center, linear-gradient(#D5D5F0, rgba(213,213,240,.3));
}

.top_blog .inner {
    width: 1200px;
    margin: 0 auto;
    padding: 60px 0 50px;
}

.top_blog .inner h2 {
    margin: 0 0 20px;
    text-align: center;
}

.top_blog .inner .slider {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    list-style: none;
}

.top_blog .inner .slider::after {
    content: '';
    display: block;
    width: 380px;
}

.top_blog .inner .slider .slides {
    width: 380px;
}

.top_blog .inner .slider .slides .img {
    margin: 0 0 25px;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}
.top_blog .inner .slider .slides .img img {
    width: 380px;
    height: 253px;
    object-fit: cover;
}
.top_blog .inner .slider .slides .img .category {
    position: absolute;
    top: 0;
    left: 0;
    padding: 5px 15px;
    border-radius: 0 0 15px 0;
    font-size: 14px;
    font-size: 1.4rem;
    color: #fff;
    line-height: 1.4;
    background: #9092CB;
}

.top_blog .inner .slider .slides .txt {
    padding: 0 20px;
}

.top_blog .inner .slider .slides .txt .tit {
    margin: 0 0 15px;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.8;
}

.top_blog .inner .slider .slides .txt .tit a {
    color: #20344A;
    text-decoration: none;
}

.top_blog .inner .slider .slides .txt .tag {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 8px;
    padding: 0;
    list-style: none;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.8;
}

.top_blog .inner .slider .slides .txt .tag li {
    padding: 3px 10px 3px 8px;
    border-left: 2px solid #9091AF;
    background: #fff;
}

.top_blog .inner .slider .slides .txt .date {
    font-size: 15px;
    font-size: 1.5rem;
    color: #97A0AA;
    line-height: 1.3;
}

/* top_group */

.top_group {
    background: #F1F5F7;
}

.top_group .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 1080px;
    margin: 0 auto;
    padding: 40px 0;
}

.top_group .inner h2 {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.5;
}

.top_group .inner .list {
    display: flex;
    flex-wrap: wrap;
    width: 920px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.5;
}

.top_group .inner .list .col {
    width: 33.33%;
    padding: 20px;
    box-sizing: border-box;
}

.top_group .inner .list .col .img {
    margin: 0 0 15px;
    text-align: center;
}

.top_group .inner .list .col .img img {
    width: auto;
    height: 60px;
}

/**/

/*#top .block {
    margin: 0 0 60px;
}
#top-a {
    width: 1080px;
    margin: 0 auto;
    padding: 90px 0 10px;
}
#top-a .block {
    margin: 0 0 90px;
}
#top-b {
    margin: 0 auto;
    padding: 90px 0 10px;
    background: #e3ebf3;
}
#top-b .block {
    width: 1080px;
    margin: 0 auto 90px;
}
#top-c {
    width: 1080px;
    margin: 0 auto;
    padding: 90px 0 10px;
}
#top-c .block {
    width: 1080px;
    margin: 0 auto 90px;
}*/

/* ブログフィード */
ul#feed_column {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: space-between;
}
ul#feed_column > li {
    width: 225px;
}
ul#feed_column .img {
    display: block;
    margin: 0 0 15px;
}
ul#feed_column .img a {
    transition: .2s;
}
ul#feed_column .img a:hover {
    opacity: .6;
    transition: .2s;
}
ul#feed_column li ul {
    list-style-type: none;
    margin: 0 0 10px;
    padding: 0;
    display: flex;
}
ul#feed_column li ul li {
    background: #07539f;
    margin: 0 5px 0 0;
    padding: 0 10px;
    color: #fff;
    font-size: 12px;
    font-size: 1.2rem;
}
ul#feed_column .tit {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    margin: 0 0 10px;
}
ul#feed_column .tit a {
    text-decoration: none;
    color: #20344A;
}


/* 1カラムコンテンツ */
.col1 {
    display: flex;

    align-content: center;
    justify-content: space-between;
}
.col1 .img {
    width: 520px;
    margin: 0;
}
.col1 .img img {
    width: 520px;
}
.col1 .txt {
    width: 520px;
    margin: 0 0 0;
    vertical-align: middle;

    align-self: center;
}

/* 2カラムコンテンツ */
.col2 {
    display: flex;
    margin: 0 0 50px;

    flex-wrap: wrap;
}
.col2 .box {
    width: 520px;
    margin: 0 40px 40px 0;
}
.col2 .box img {
    width: 520px;
}
.col2 .box:nth-child(2n) {
    margin: 0 0 40px;
}
.col2 .box:nth-last-child(2) {
    margin: 0 40px 0 0;
}
.col2 .box:last-child {
    margin: 0;
}
.col2 .img {
    margin: 0 0 20px;
}

/* 3カラムコンテンツ */
.col3 {
    display: flex;
    margin: 0 0 50px;

    flex-wrap: wrap;
}
.col3 .box {
    width: 333px;
    margin: 0 40px 40px 0;
}
.col3 .box:nth-child(3n) {
    margin: 0 0 40px;
}
.col3 .box:nth-last-child(2),
.col3 .box:nth-last-child(3) {
    margin: 0 40px 0 0;
}
.col3 .box:last-child {
    margin: 0;
}
.col3 .box img {
    width: 333px;
    height: auto;
    margin: 0 0 20px;
}
/* 4カラムコンテンツ */
.col4 {
    display: flex;
    margin: 0 0 50px;

    flex-wrap: wrap;
}
.col4 .box {
    width: 240px;
    margin: 0 40px 40px 0;
}
.col4 .box:nth-child(4n) {
    margin: 0 0 40px;
}
.col4 .box:nth-last-child(2),
.col4 .box:nth-last-child(3),
.col4 .box:nth-last-child(4) {
    margin: 0 40px 0 0;
}
.col4 .box:last-child {
    margin: 0;
}
.col4 .box img {
    width: 240px;
    margin: 0 0 20px;
}
/* 2カラム横並びコンテンツ */
.col2w {
    display: flex;
    margin: 0 0 50px;

    flex-wrap: wrap;
}
.col2w .box {
    display: flex;
    width: 520px;
    margin: 0 40px 40px 0;
}
.col2w .box:nth-last-child(2) {
    margin: 0 40px 0 0;
}
.col2w .box:nth-child(even) {
    margin: 0 0 40px;
}
.col2w .box:last-child {
    margin: 0;
}
.col2w .box .img {
    width: 140px;
    margin: 0 20px 0 0;
}
.col2w .box .txt {
    width: 360px;
}
.col2w .box .txt p.tit {
    text-align: left;
}
.col2w .box img {
    width: 140px;
    height: auto;
}
.cnt_wrap .box p.tit {
    margin: 0 0 10px;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
}
.cnt_wrap .box p.tit a,
.cnt_wrap .box p.tit a:visited {
    color: #07539f;
    text-decoration: none;
}
.cnt_wrap .box p.tit a:hover {
    text-decoration: underline;
}


/* ページ下部コンバージョン */
.f_contact {
    width: 900px;
    margin: 0 auto;
    padding: 30px 0;
    background: #e3ebf3;
    text-align: center;
}

.f_contact h2 {
    margin: 0 0 10px;
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1;
}
#top .f_contact h2 {
    margin: 0 0 10px;
}
.main .block .f_contact h2 {
    margin: 0 0 10px;
    padding: 0;
    background: none;
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1;
}
.main .block .f_contact h2::before {
    position: static;
    width: auto;
    height: auto;
    background: none;
    content: "";
}
.f_contact .fcon {
    display: flex;
    /*margin: 20px 0 0 0;*/
    text-align: center;

    justify-content: center;
    align-items: center;
}
.f_contact .fcon .tel {
    margin: 0 20px 0 0;
    color: #20344A;
    text-align: left;
    line-height: 1;
}
.f_contact .fcon .tel a {
    display: inline-block;
    padding: 0 0 0 22px;
    background: url(../img/ico_tel.png) 0 .1em no-repeat;
    background-size: 15px auto;
    color: #20344A;
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: bold;
    text-decoration: none;
    pointer-events: none;
    cursor: default;
}
.f_contact .fcon .tel span {
    display: inline-block;
    margin: 0;
    padding: 0 0 0 10px;
    font-size: 10px;
    font-size: 1.0rem;
    line-height: 1.3;
}
.f_contact .fcon .tel .reading {
    display: inline-block;
    overflow: hidden;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
}
.f_contact .fcon .btn {
    display: inline-block;
    vertical-align: middle;
}
.f_contact .fcon .btn a {
    padding: 10px 50px;
}
.f_contact .fcon .btn a span {
    padding: 0 0 0 30px;
    background: url(../img/ico_head_cv.png) no-repeat 0 50%;
    background-size: 23px auto;
}


/* お問い合わせ
=============================== */
.block .tel{
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
}
.block .tel a {
    font-family: Roboto;
    font-weight: bold;
    font-size: 32px;
    font-size: 3.2rem;
    letter-spacing: 0.05em;
    line-height: 1.0;
    text-align: left;
    color: #20344a;
    margin: 0 10px 0 0;
    text-decoration: none;
    pointer-events: none;
    cursor: default;
}
.block .tel span {
    font-size: 14px;
    font-size: 1.4rem;
}

/* お問い合わせフロー */
.stepflow {
    display: table;
    overflow: hidden;
    list-style-type: none;
    width: 100%;
    margin: 0;
    padding: 0;
}
.stepflow.first {
    margin: 0 0 -40px;
}
.stepflow li {
    display: table-cell;
    position: relative;
    width: 33%;
    padding: 12px 0 15px 0;
    background: #DFE6ED;
    color: #97A0AA;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
}
.stepflow li:last-child::before,
.stepflow li:last-child::after {
    display: none;
}
.stepflow li::before,
.stepflow li::after {
    position: absolute;
    width: 0;
    height: 0;
    margin: auto;
    content: "";
}
.stepflow li::before {
    z-index: 10;
    top: -8px;
    right: -1em;
    border-width: 40px 0 40px 1em;
    border-style: solid;
    border-color: transparent transparent transparent #fff;
}
.stepflow li::after {
    z-index: 10;
    top: -8px;
    right: -.9em;
    border-width: 40px 0 40px 1em;
    border-style: solid;
    border-color: transparent transparent transparent #DFE6ED;
}
.stepflow li.active {
    color: #20344A;
}
.stepflow li span {
    display: block;
    font-size: 12px;
    font-size: 1.2rem;
}

/* 入力項目テーブル */
form table.tbr th {
    width: 35%;
}
form table.tbr th span {
    float: right;
    color: #fff;
    font-size: 12px;
    font-size: 1.2rem;
    background: #c00;
    padding: 2px 7px;
}
form table.tbr td ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
form table.tbr td ul li{
    margin: 10px 0 0;
}
form table.tbr td ul li:first-child{
    margin-top: 0;
}

/* 入力項目 */
.contactform input[type='text'],
.contactform input[type='email'],
.contactform input[type='tel'],
.contactform input[type='url'],
.contactform textarea,
.contactform select {
    box-sizing: border-box;
    font-size: 16px;
    font-size: 1.6rem;
    border: 1px solid #d5d5d5;
    padding: 10px;
}
.contactform input[type='text'],
.contactform input[type='email'],
.contactform input[type='tel'],
.contactform input[type='url'],
.contactform textarea {
    width: 100%;
}
.contactform input#zip1,
.contactform input#zip2 {
    width: 40%;
}

/* エラーメッセージ */
.err_block {
    clear: both;
    margin: 0 0 20px;
    padding: 12px;
    background: #fff3f3;
}
.err_block p {
    color: #e00000;
}
.err_block p.err_tit {
    margin: 0 0 5px;
    padding: 2px 0 2px 10px;
    background: #e00000;
    color: #fff;
    font-weight: bold;
}

/* タグ　エラー */
.contactform label.error {
    display: inline-block;
    border: 1px solid #ff8383;
    background: #fff3f3;
}
.contactform input.error {
    border: 1px solid #ff8383;
    background: #fff3f3;
}
.contactform select.error {
    border: 1px solid #ff8383;
    background: #fff3f3;
}
.contactform textarea.error {
    border: 1px solid #ff8383;
    background: #fff3f3;
}

/* 送信ボタン */
form > div:last-of-type {
    margin: 40px 0 0;
    text-align: center;
}
form > div .btn {
    width: 340px;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
    text-align: center;
    color: #fff;
    padding: 16px 30px;
    border-radius: 28px;
    background: #20344A url(../img/arw_w.svg) no-repeat right 35px center;
    box-shadow: 0px 10px 25px rgba(0, 0, 0, 0.2);
    border: none;
    cursor: pointer;
    transition: opacity .2s;
}
form > div .btn:hover {
    opacity: .6;
    transition: opacity .2s;
}

/* 完了画面 */
#contact_thx {
    padding-top: 0px;
    text-align: center;
    margin: 0 0 60px;
}

#contact_thx p {
    text-align: center;
}

.thx_txt {
    color: #ff0000;
    font-size: 174%;
}

a.crslp {
    font-size: 16px;
    font-size: 1.6rem;
    cursor: pointer;
    text-decoration: underline;
}

a.crslp:hover {
    text-decoration: none;
}

/* reCAPTCHA */
form input[disabled]{
    background: #dcdcdc;
    cursor: default;
}
form input[disabled]:hover{
    opacity: 1;
}

.recaptcha_cover{
    max-height: 78px;
    overflow: hidden;
    margin: 0 0 30px;
}

.recaptcha_cover .g-recaptcha {
    margin: 0 auto;
    width: 302px;
}

/* 汎用スタイル
======================================================= */

span.texts {
    display: inline-block;
    font-size: 11px;
    font-size: 1.1rem;
}
span.textn {
    display: inline-block;
    font-size: 15px;
    font-size: 1.5rem;
}
span.textl {
    display: inline-block;
    font-size: 18px;
    font-size: 1.8rem;
}
span.textll {
    display: inline-block;
    font-size: 20px;
    font-size: 2.0rem;
}
span.textxl {
    display: inline-block;
    font-size: 24px;
    font-size: 2.4rem;
}
span.textxxl {
    display: inline-block;
    font-size: 28px;
    font-size: 2.8rem;
}

.btn {
    text-align: center;
}
.btn a,
.btn a:visited {
    display: inline-block;
    min-width: 340px;
    padding: 15px 50px;
    border-radius: 40px;
    box-sizing: border-box;
    background: #20344A url(../img/arw_w.svg) no-repeat right 30px center;
    color: #fff;
    font-weight: bold;
    letter-spacing: .1em;
    line-height: 1.7;
    text-decoration: none !important;
    transition: opacity .2s;
    box-shadow: 0 10px 25px rgba(0,0,0,.2);
}
.btn a:hover {
    opacity: .7;
}

.common_btn_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 -15px -30px;
    padding: 0;
    list-style: none;
}

.common_btn_list li {
    width: 340px;
    margin: 0 15px 30px;
}

.overimg {
    transition: opacity .2s;
}
.overimg:hover {
    opacity: .6;
    transition: opacity .2s;
}

table {
    border-collapse: collapse;
    width: 100%;
    line-height: 1.5;
}

table.nbr,
table.tbr table.nbr {
    border-collapse: collapse;
    border-top: none;
    border-left: none;
}

table.nbr th,
table.tbr table.nbr th {
    padding: 0;
    border-right: none;
    border-bottom: none;
    font-weight: bold;
}

table.nbr td,
table.tbr table.nbr td {
    padding: 0;
    border-right: none;
    border-bottom: none;
}

table.tbr,
table.nbr table.tbr {
    border-collapse: collapse;
    border-top: 1px solid #DFE6ED;
}

table.tbr th,
table.nbr table.tbr th {
    padding: 15px 30px;
    border-bottom: 1px solid #DFE6ED;
    background: #F1F5F7;
    font-weight: 500;
    line-height: 1.5;
}

table.tbr td,
table.nbr table.tbr td {
    padding: 15px 30px;
    border-bottom: 1px solid #DFE6ED;
    line-height: 1.5;
}
table caption {
    margin: 0 0 10px;
    text-align: left;
}

.photo-r {
    float: right;
    margin: 3px 0 30px 30px;
    font-size: 10px;
    font-size: 1.0rem;
    text-align: left;
}
.photo-l {
    float: left;
    margin: 3px 30px 30px 0;
    font-size: 10px;
    font-size: 1.0rem;
    text-align: left;
}
.photo-c {
    margin: 3px auto 30px;
    font-size: 10px;
    font-size: 1.0rem;
}

.photo-r img,
.photo-l img,
.photo-c img {
    margin-bottom: 5px;
}
.top_back {
    clear: both;
    padding: 30px 0;
    text-align: center;
}

.top_back a {
    padding: 0 15px;
}
iframe {
    border: none;
}

.tac {
    text-align: center !important;
}
.tal {
    text-align: left !important;
}
.tar {
    text-align: right !important;
}

.mb5 {
    margin-bottom: 5px;
}
.mb10 {
    margin-bottom: 10px;
}
.mb15 {
    margin-bottom: 15px;
}
.mb20 {
    margin-bottom: 20px;
}
.mb25 {
    margin-bottom: 25px;
}
.mb30 {
    margin-bottom: 30px;
}
.mb35 {
    margin-bottom: 35px;
}
.mb40 {
    margin-bottom: 40px;
}

.pc_none {
    display: none;
}
.clearfix {
    zoom: 1;
}
.clearfix::after {
    display: block;
    clear: both;
    content: "";
}
*::after {
    display: block;
    clear: both;
}

/* お客様の声
======================================================= */
.tabletitle {
    font-size: 16px;
    text-align: center;
    font-weight: bold;
    line-height: 1.3;
    padding: 35px 0 10px 0;
}

p.sub_tit {
    text-align: center;
    font-weight: bold;
    margin: 5px 0;
}

.service_block {
    display:flex;
    flex-wrap:wrap;
    justify-content: space-between;
}

.service_block div {
    width:340px;
    margin-bottom:10px;
}

.service_block div:nth-child(5) {
    width:600px;
}

.styletex_3col{
    position: relative;
    width: 720px;
    height:214px;
    margin: 0 auto;
}

.styletex_3col .arrow{
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform : translate(-50%,-50%);
    transform : translate(-50%,-50%);
    width: 30px;
}

/* 私たちの価値観
======================================================= */

.philosophy_block {
    padding: 50px;
    background: #f2f2f0;
    font-weight: bold;
    color: #194D74;
}

.block .philosophy_block p,
.block .philosophy_block ul,
.block .philosophy_block ol {
    font-size: 20px;
    font-size: 2.0rem;
}

/* プライバシーポリシー
======================================================= */
p.tx_indent{
    padding-left: 10px;
    text-indent: -10px;
}

p.tx_indent_2em{
    padding-left: 2em;
    text-indent: -2em;
}

/* 制作実績
======================================================= */

.works_list01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 0 -80px;
}

.works_list01::after {
    content: '';
    display: block;
    width: 340px;
}

.works_list01 .col {
    display: flex;
    flex-direction: column;
    width: 340px;
    margin: 0 0 80px;
}

.works_list01 .col .tit {
    flex: 1;
    margin: 0 0 25px;
    font-size: 20px;
    font-size: 2.0rem;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0;
}

.works_list01 .col .img {
    margin: 0 0 15px;
    outline: 1px solid #DFE6ED;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}

.works_list01 .col .img a {
    display: block;
}

.works_list01 .col .img img {
}

.works_list01 .col .img a .txt {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 30px;
    box-sizing: border-box;
    color: #fff;
    text-decoration: none;
    background: rgba(14,37,62,.7);
    transition: .2s;
    opacity: 0;
}

.works_list01 .col .img a:hover .txt {
    opacity: 1;
}

.works_list01 .col .tag {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 -5px;
    padding: 0;
    list-style: none;
}

.works_list01 .col .tag li {
    margin: 0 5px 5px 0;
}

.works_list01 .col .tag li a {
    display: block;
    padding: 3px 10px;
    font-size: 12px;
    font-size: 1.2rem;
    color: #20344A;
    text-decoration: none;
    line-height: 1.5;
    background: #DFE6ED;
}

/* tag_list */

.tag_list {
    padding: 30px 35px;
    border-radius: 10px;
    background: #F1F5F7;
}

.tag_list .tit {
    margin: 0 0 15px;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.6;
}

.tag_list .list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px -10px 0;
    padding: 0;
    list-style: none;
}

.tag_list .list li {
    margin: 0 7px 10px 0;
}

.tag_list .list li a {
    display: block;
    padding: 9px 34px 9px 19px;
    border: 1px solid #DFE6ED;
    border-radius: 25px;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    color: #20344A;
    line-height: 1.6;
    text-decoration: none;
    background: #fff url(../img/arw.svg) no-repeat right 14px center;
    background-size: 10px auto;
}

/* works_list02 */

.works_list02 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 0 -80px;
}

.works_list02 .col {
    width: 515px;
    margin: 0 0 80px;
}

.works_list02 .col .img {
    margin: 0 0 40px;
    outline: 1px solid #DFE6ED;
}

.works_list02 .col .tit {
    margin: 0 0 15px;
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0;
}

.works_list02 .col .client {
    display: inline-block;
    margin: 0 0 20px;
    padding: 3px 10px;
    font-size: 12px;
    font-size: 1.2rem;
    color: #fff;
    line-height: 1.5;
    letter-spacing: 0px;
    background: #20344A;
}

.works_list02 .col .txt {
    margin: 0 0 20px;
}

.works_list02 .col a:hover {
    text-decoration: none;
}

/* 制作実績 詳細ページ
======================================================= */
/*.case_head{
    display: none;
}*/

.case_head_txt{
    margin: 0 0 50px;
}

.case_head_txt p{
    font-weight: bold;
    font-size: 20px;
    font-size: 2.0rem;
    line-height: 1.5;
    color: #20344a;
}

.case_main{
    text-align: center;
    margin: 0 0 40px;
}

.case_tag ul{
    margin: 0 0 55px -5px;
    padding: 0;
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
    font-size: 1.2rem;
}

.case_tag ul li{
    margin: 0 0 5px 5px;
}

.case_tag ul li a{
    display: block;
    color: #20344a;
    text-decoration: none;
    padding: 3px 10px;
    background: #DFE6ED;
    transition: opacity .2s;
}
.case_tag ul li a:hover {
    opacity: .6;
    transition: opacity .2s;
}

.case_data ul{
    margin: 0;
    padding: 0;
    list-style-type: none;
    width: 100%;
    display: table;
    border-collapse: collapse;
    border-top: 1px solid #DFE6ED;
}

.case_data ul + ul{
    border-top: 0;
}

.case_data ul li{
    display: table-row;
}

.case_data ul li p{
    display: table-cell;
    padding: 15px 30px;
    border-bottom: 1px solid #DFE6ED;
    line-height: 1.5;
    box-sizing: border-box;
}

.case_data ul li p.tit{
    width: 30%;
    border-bottom: 1px solid #DFE6ED;
    background: #F1F5F7;
    font-weight: 500;
}

.case_cap ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    justify-content: center;
}

.case_cap li{
    max-width: 270px;
    margin: 0 0 0 60px;
}
.case_cap li:first-child{
    margin-left: 0;
}
.case_cap li.end {
    max-width: 140px;
}

.case_cap li p {
    font-weight: 500;
    color: #20344a;
    margin: 0 0 10px;
}

/* お客様の声
======================================================= */
ul.interview_list{
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
}

ul.interview_list > li{
    width: 340px;
    margin: 0 30px 80px 0;
}
ul.interview_list > li:nth-child(3n){
    margin-right: 0;
}

ul.interview_list li h2{
    font-weight: bold;
    font-size: 20px;
    font-size: 2.0rem;
    line-height: 1.5;
    color: #20344a;
    margin: 0 0 20px;
}

ul.interview_list li h2 .pdf{
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 4px;
    padding: 0 26px 1em 0;
    background-position: 50% 50%;
    background: url(../img/ico_pdf.svg) 100% 50% no-repeat;
    background-size: 16px auto;
}

.interview_content .img{
    width: 340px;
    height: 215px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.09);
    margin: 0 0 25px;
}

.interview_content .img a{
    display: block;
    text-decoration: none;
    transition: opacity .2s;
}
.interview_content .img a:hover {
    opacity: .6;
    transition: opacity .2s;
}

.interview_content .lead{
    margin: 0 0 15px;
}

.interview_content ul.type{
    font-size: 12px;
    font-size: 1.2rem;
}

.interview_list .interview_content ul.type{
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
}

.interview_content ul.type li{
    margin: 5px 0 0 5px;
    color: #20344a;
    text-decoration: none;
    padding: 3px 10px;
    background: #DFE6ED;
}
.interview_content ul.type li:before{
    content:"#";
}

table.voice_index{
    border-collapse: separate;
    border: 1px solid #20344A;
    border-radius: 10px;
    overflow: hidden;
    letter-spacing: 0.05em;
}

table.voice_index th{
    color: #fff;
    background: #20344A;
    padding: 10px 35px;
    box-sizing: border-box;
    border-bottom: 0;
    font-size: 20px;
    font-size: 2.0rem;
}

table.voice_index td{
    background: #F1F5F7;
    padding: 25px 35px 10px;
    box-sizing: border-box;
    border-top: 0;
    font-size: 16px;
    font-size: 1.6rem;
}

table.voice_index td ol{
    margin: 0;
    padding: 0;
    list-style-type: none;
    counter-reset: item;
}

table.voice_index td ol li{
    margin: 0 0 15px;
}
table.voice_index td ol li:before {
    counter-increment: item;
    content: counter(item)'.';
    font-weight: bold;
}

table.voice_index td a{
    color: #20344A;
}

.voice_catch{
    position: relative;
    width: 760px;
    margin: 40px auto 0;
    padding: 28px 36px 27px;
    box-sizing: border-box;
    background: #F1F5F7;
    border-radius: 15px;
}

.voice_catch:before,
.voice_catch:after{
    content:"";
    position: absolute;
    z-index: 1;
    width: 30px;
    height: 23px;
    background: url(../img/bg_quotation.svg) 0 0 no-repeat;
}
.voice_catch:before{
    left: 16px;
    top: -10px;
}
.voice_catch:after{
    right: 16px;
    bottom: -10px;
    transform: rotate(180deg);
}

.voice_catch p{
    font-weight: bold;
    font-size: 22px;
    font-size: 2.2rem;
    letter-spacing: 0.05em;
    line-height: 1.5;
    color: #20344a;
}

/* 会社情報
======================================================= */
.company_top_menu{
    display: flex;
}

.company_top_menu .box{
    display: block;
    width: 340px;
    margin: 0 0 0 30px;
}

.company_top_menu .box:first-child{
    margin-left: 0;
}

.company_top_menu .box .img{
    margin: 0 0 25px;
}

.company_top_menu .box .img img{
    border-radius: 10px;
    box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.09);
}

.company_top_menu .box .tit{
    position: relative;
    font-weight: bold;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    line-height: 2.0;
    color: #20344a;
    padding: 0 22px 0 10px;
}

.company_top_menu .box .tit:after{
    content:"";
    position: absolute;
    z-index: 1;
    top: calc( 50% - 7px );
    right: 10px;
    width: 14px;
    height: 14px;
    background: url(../img/arw.svg) no-repeat 50% 50%;
    background-size: contain;
}

.block .company_top_menu a{
    color: #20344A;
    text-decoration: none;
}

.bnr_recruit a {
    transition: opacity .2s;
}
.bnr_recruit a:hover {
    opacity: .6;
    transition: opacity .2s;
}
.bnr_recruit a img{
    border-radius: 10px;
    box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.09);
}

/* お問い合わせトップ
======================================================= */
.main .block h2.contact,
h2.contact{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

h2.contact span.title{
    margin: 0 20px 0 0;
}

h2.contact span.time{
    font-weight: normal;
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    line-height: 1.5;
    color: #20344a;
    margin: 5px 0 0;
    padding: 3px 10px;
    background: #DFE6ED;
}

.contact_top_menu{
    display: flex;
}
.contact_top_menu .box{
    width: 415px;
    width: calc( ( 100% - 50px ) / 2 );
    margin: 0 0 0 50px;
    padding: 20px 20px 30px;
    box-sizing: border-box;
    border-radius: 10px;
    background: #20344a url(../img/arw_w.svg) no-repeat right 30px top 50%;
    box-shadow: 0px 10px 25px rgba(0, 0, 0, 0.2);
    font-weight: bold;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.5;
    text-align: center;
}
.contact_top_menu .box:first-child{
    margin-left: 0;
}
.contact_top_menu .box a{
    color: #fff;
    text-decoration: none;
}
.contact_top_menu .box .img{
    margin: 0 0 15px;
}

/* サービス
======================================================= */

/* トップ */
.svc_menu a {
    display: block;
    border-radius: 10px;
    border: 1px solid #DFE6ED;
    padding: 30px;
    text-decoration: none;
    color: #20344A;
    transition: .2s;
}
.svc_menu a:hover {
    opacity: .6;
    transition: .2s;
}
.svc_menu a span {
    display: block;
    font-size: 1.8rem;
    font-weight: bold;
    padding: 0 30px 0 75px;
    margin: 0 0 15px;
    background: url(../img/arw.svg) right 50% no-repeat;
    position: relative;
}
.svc_menu.sm01 a {
    background: url(../img/ico_servicetop01.png) 80px 50% no-repeat;
    padding: 30px 65px 30px 240px;
}
.svc_menu.sm01 a span {
    display: inline-block;
    font-size: 2.4rem;
    padding: 0 30px 0 0;
}
.svc_menu.sm02 a span::before {
    content: "";
    background: url(../img/ico_servicetop02.png) 0 0 no-repeat;
    width: 49px;
    height: 50px;
    position: absolute;
    top: calc(50% - 25px);
    left: 0;
}
.svc_menu.sm03 a span::before {
    content: "";
    background: url(../img/ico_servicetop03.png) 0 0 no-repeat;
    width: 51px;
    height: 50px;
    position: absolute;
    top: calc(50% - 25px);
    left: 0;
}
.svc_menu.sm04 a span::before {
    content: "";
    background: url(../img/ico_servicetop04.png) 0 0 no-repeat;
    width: 56px;
    height: 47px;
    position: absolute;
    top: calc(50% - 24px);
    left: 0;
}
.svc_menu_wrapper {
    display: flex;
    gap: 30px;
}
.svc_menu_wrapper > div {
    flex: 1;
}

/* 下層 */
ul.alink.full {
    display: block;
    width: 530px;
    margin: 0 auto;
    text-align: center;
}
.svc_casebox {
    background: #F1F5F7;
    border-radius: 10px;
    padding: 40px;
}
.svc_casebox.mb60 {
    margin: 0 0 60px;
}
.svc_casebox .inner {
    display: flex;
    gap: 40px;
    margin: 0;
}
.svc_casebox .img {
    flex-shrink: 0;
    width: 340px;
}
.svc_casebox .img img {
    border-radius: 10px;
    border: 1px solid #DFE6ED;
}
.svc_casebox .img.nobdr img {
    border: none;
}
.svc_casebox .btn {
    margin: 40px 0 0 0;
}
.workflow {
    position: relative;
    z-index: 0;
    padding: 40px 0 0 40px;
}
.workflow.wf01_1 {
    top: 0;
    left: 154px;
}
.workflow.wf01_2 {
    top: -125px;
    left: 564px;
}
.workflow.wf01_3 {
    top: -125px;
    left: 55px;
}
.workflow.wf01_4 {
    top: -285px;
    left: 564px;
}
.workflow.wf01_5 {
    top: -310px;
    left: 165px;
}
.workflow.wf03_1 {
    top: 0;
    left: 60px;
}
.workflow.wf03_2 {
    top: -195px;
    left: 620px;
}
.workflow.wf03_3 {
    top: -195px;
    left: 0px;
}
.workflow.wf03_4 {
    top: -385px;
    left: 620px;
}
.workflow.wf03_5 {
    top: -450px;
    left: 60px;
}
.workflow::after {
    content: "";
    background: #F1F5F7;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
}
.workflow .tit {
    display: flex;
    align-items: center;
}
.workflow .tit p {
    font-size: 2.0rem;
    line-height: 1;
    margin: 10px 20px 0 0;
}
.workflow .tit p.jp {
    font-weight: bold;
    line-height: 1.5;
    margin: 5px 20px 0 0;
}
.workflow .tit p span {
    font-size: 5.0rem;
}
.workflow .txt {
    width: 420px;
    margin: 20px 0 0 0;
}
.workflow_wrap.wfw01 {
    background: url(../img/bg_workflow01.png) 230px 90px no-repeat;
    height: 1080px;
}
.workflow_wrap.wfw02 {
    background: url(../img/bg_workflow02.png) 50% 120px no-repeat;
    display: flex;
    justify-content: center;
    gap: 145px;
}
.workflow_wrap.wfw03 {
    background: url(../img/bg_workflow03.png) 270px 70px no-repeat;
    height: 1020px;
}
.workflow_wrap .wf02_2 {
    margin: 30px 0 0 0;
}
.workflow_wrap .wf02_3 {
    margin: 60px 0 0 0;
}
.voicelist {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 20px 8px;
}
.voicelist li {
    width: 264px;
    background: #F1F5F7;
    border-radius: 10px;
    padding: 30px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    position: relative;
}
.voicelist li::before,
.voicelist li::after {
    content: "";
    position: absolute;
}
.voicelist li::before {
    background: url(../img/ico_quo_top.png) 0 0 no-repeat;
    width: 25px;
    height: 19px;
    top: -5px;
    left: 20px;
}
.voicelist li::after {
    background: url(../img/ico_quo_btm.png) 0 0 no-repeat;
    width: 25px;
    height: 19px;
    bottom: -5px;
    right: 20px;
}
.voicelist li p.name {
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0;
    margin: auto 0 0 0;
}
.clientlist {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 20px 40px;
}
.bnr_cv {
    background: #F7E55A;
    border-radius: 10px;
    padding: 40px 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.bnr_cv .txt {
    width: 382px;
}
.bnr_cv .txt p:first-child {
    margin: 0 0 10px;
}
.bnr_cv .cv_btn a {
    display: block;
    width: 458px;
    margin: 0 auto;
    padding: 30px 60px 30px 50px;
    box-sizing: border-box;
    border-radius: 50px;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    letter-spacing: .1em;
    line-height: 1.1;
    background: #20344A;
}
.bnr_cv .cv_btn a::before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 50px;
    height: 29px;
    margin-right: 18px;
    background: url(../img/ico_cv_w.svg) no-repeat 0 0;
}
.bnr_cv .cv_btn a span {
    font-size: 1.5rem;
}

.svc_marketing {
    background: #F1F5F7;
    padding: 0;
    border-radius: 10px;
}
.svc_marketing .tit {
    border-radius: 10px 10px 0 0;
    color: #fff;
    font-size: 2.4rem;
    font-weight: bold;
    padding: 90px 40px;
}
.svc_marketing.wm01 .tit {
    background: url(../img/bg_webmarketing01.jpg) 50% 0 no-repeat;
    background-size: cover;
}
.svc_marketing.wm02 .tit {
    background: url(../img/bg_webmarketing02.jpg) 50% 0 no-repeat;
    background-size: cover;
}
.svc_marketing.wm03 .tit {
    background: url(../img/bg_webmarketing03.jpg) 50% 0 no-repeat;
    background-size: cover;
}
.svc_marketing.wm04 .tit {
    background: url(../img/bg_webmarketing04.jpg) 50% 0 no-repeat;
    background-size: cover;
}
.svc_marketing .txt {
    padding: 40px;
}

/* オリエンシートテンプレート 無料ダウンロード
======================================================= */

#lp_ot_contents {
    width: 100%;
    margin: 0 auto;
    background: #fff;
}

#lp_ot_contents p,
#lp_ot_contents ul,
#lp_ot_contents ol {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 2.0;
}

#lp_ot_contents h1 {
    margin: 0;
    padding: 20px 0 95px 0;
    border: none;
}
#lp_ot_contents h1::before{
    display: none;
}
#lp_ot_contents #ot_wrapper {
    width: 980px;
    margin: 0 auto;
}
#lp_ot_contents .ot_main {
    width: 610px;
    float: left;
    text-align: left;
}

#lp_ot_contents .ot_main .ot_main_block {
    margin: 0 0 60px;
}

#lp_ot_contents .ot_main .ot_main_block:last-child {
    margin: 0;
}

#lp_ot_contents .ot_main .ot_main_block h2 {
    color: #333;
    font-weight: normal;
    border-left: 6px solid #2596e7;
    padding: 0 0 0 12px;
    margin: 0 0 10px;
    font-size: 22px;
    font-size: 2.2rem;
}
#lp_ot_contents .ot_main .ot_main_block h2::before {
    display: none;
}

#lp_ot_contents .ot_main .ot_main_block h3 {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: normal;
    margin: 0 0 20px;
    padding: 0;
    border: none;
}

#lp_ot_contents .ot_side {
    width: 320px;
    float: right;
    text-align: left;
}

#lp_ot_contents .ot_side ::placeholder {
  color: #bcbcbc;
}

#lp_ot_contents .prof_c {
    background: url(../../img/bg_prof_c.gif) repeat-y;
}
#lp_ot_contents .prof_t {
    background: url(../../img/bg_prof_t.gif) no-repeat;
}
#lp_ot_contents .prof_b {
    background: url(../../img/bg_prof_b.gif) no-repeat 0 bottom;
    padding: 40px;
}
#lp_ot_contents .prof_b .photo_l {
    float: left;
    margin: 0 30px 30px 0;
}

#lp_ot_contents p.dl_tit {
    display: block;
    width: 100%;
    background: #2596e7;
    text-align: center;
    vertical-align: middle;
    line-height: 1;
    padding: 10px 0;
    margin: 10px 0 0;
}

#lp_ot_contents p.dl_tit img {
    vertical-align: middle;
}
#lp_ot_contents .dl_area {
    background: #edece7;
    padding: 20px;
}
#lp_ot_contents .dl_area input {
    width: 246px;
    height: 30px;
    padding: 5px 15px;
    color: #333;
    text-align: left;
}

#lp_ot_contents .ot_side input[type="submit"] {
    display: block;
    width: 280px;
    height: 90px;
    padding: 0;
    background: url(../../img/btn_download.gif) no-repeat 0 0;
    border: none;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
    outline: none;
}
#lp_ot_contents input[type="submit"]::-moz-focus-inner {
    padding: 0;
    border: none;
}

#lp_ot_contents p.privacy {
    background: #fff;
    color: #666;
    padding: 10px;
    font-size: 77%;
    line-height: 1.7;
    margin: 0 0 20px;
}
#lp_ot_contents p.privacy  a:link,
#lp_ot_contents p.privacy  a:visited,
#lp_ot_contents p.privacy  a:active {
    color: #666;
}
#lp_ot_contents p.privacy  a:hover {
    color: #666;
    text-decoration: none;
}

#lp_ot_contents .attention {
    font-size: inherit;
    font-weight: normal;
    color: #cc0000;
}

#lp_ot_contents p.texts {
    font-size: 77%;
    line-height: 1.7;
}
#lp_ot_contents .textm {
    font-size: 123.1%;
    line-height: 1.7;
}

#lp_ot_contents.recruit .ot_main .ot_main_block h2 {
    border-left: 6px solid #4dada4;
}
#lp_ot_contents.recruit p.dl_tit {
    background: #4dada4;
}
#lp_ot_contents.recruit .ot_side input[type="submit"] {
    background: url(../../img/btn_download_r.gif) no-repeat 0 0;
}

/* 申し込み完了画面 */
#lp_ot_contents #ot_wrapper_thanks {
    width: 820px;
    margin: 0 auto;
    padding: 20px 0 0;
    text-align: center;
}
#lp_ot_contents #ot_wrapper_thanks .thanks_block {
    margin: 0 0 60px;
}
#lp_ot_contents #ot_wrapper_thanks .thanks_block:last-child {
    margin: 0;
}
#lp_ot_contents .textll {
    font-size: 190%;
    line-height: 1.7;
}
#lp_ot_contents #ot_wrapper_thanks .tit_cntct_tel {
    background: #f4f4f4 url(../img/ico_cntct_tit02.gif) 10px 50% no-repeat;
    padding: 5px 5px 5px 50px;
    font-weight: bold;
    margin: 0 0 10px;
    text-align: left;
}
#lp_ot_contents #ot_wrapper_thanks .cntct_tel {
    text-align: left;
    background: #fff;
    padding: 0;
    margin: 0;
    font-weight: normal;
}
#lp_ot_contents #ot_wrapper_thanks .cntct_tel br {
    display: none;
}
#lp_ot_contents #ot_wrapper_thanks .cntct_tel span.tel_btn {
    font-size: 200%;
    text-align: left;
    padding: 0 20px 0 0;
}

/* ダウンロード画面 */
#lp_ot_contents #ot_narrow {
    width: 700px;
    margin: 0 auto;
    padding: 20px 0 0;
}

#lp_ot_contents .ot_dl_l {
    float: left;
    width: 360px;
    text-align: left;
}
#lp_ot_contents .ot_dl_r {
    float: right;
    width: 328px;
}

#lp_ot_contents.recruit #ot_narrow {
    padding: 40px 0 0;
    width: 820px;
}
#lp_ot_contents.recruit  .ot_dl_l {
    padding: 40px 0 0;
     width: 400px;
}
#lp_ot_contents.recruit .ot_dl_r {
    width: 400px;
}