@charset "utf-8";

/*************** HTML5 reset ***************/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
body {
    margin-right: auto;
    margin-left : auto;
	line-height: 1.6;
    width: 100%;
    /*overflow: hidden;*/
}
body.fixed {
    position: fixed;
    left: 0;
}


article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display: block;
}
ul, ol, li {
    list-style: none;
}

img {
	vertical-align: top;
}

a {
	text-decoration: none;
}

a:hover {
    opacity: 0.8;
}

/*************** Common ***************/
html {
	overflow-y: scroll;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
	letter-spacing: -0.001em;
	font-size: 14px;
    text-align: left;
    font-feature-settings: "palt";
}	
body {
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size: 100%;
    font-weight: 500;
	color: #333333;
	background-color: #fff;
}

#wrapper {
    overflow: hidden;
}

.sp {
    display: none;
}

.pc {
    display: block;
}

.none {
    display: none;
}

.right {
    text-align: right;
}

.contents {
    margin: 0 auto;
}

.fade_off {
    opacity: 0;
    -webkit-transition: all 0.8s;
    -moz-transition: all 0.8s;
    -o-transition: all 0.8s;
    -ms-transition: all 0.8s;
    transition: all 0.8s;
}

.off {
    opacity: 0;
}

.fade_on {
    -webkit-transition: all 0.8s;
    -moz-transition: all 0.8s;
    -o-transition: all 0.8s;
    -ms-transition: all 0.8s;
    transition: all 0.8s;
    opacity: 1;
}


/* siteHeader */
#headerWrap {
    width: 1000px;
    margin: 0 auto;
    display: flex;
    padding: 20px 0;
    align-items: center;
    position: relative;
}

#corpLogo img {
    height: 26px;
}

/*** main ***/
#mainWrap {
	width: 1000px;
    margin: 0 auto;
    position: relative;
    margin-top: 50px;
    height: 750px;
}

#mainWrap h1 {
    text-align: center;
    margin-bottom: 25px;
}

#mainWrap h2.mainCopy {
	position: absolute;
    width: 100%;
    text-align: center;
    z-index: 10;
}

.mainCopy {
    visibility: hidden;
}

.mainCopy .copyEgg {
	position: absolute;
	top: 83px;
	left: 200px;
	z-index: 10;
}

.mainCopy .copyEgg li:first-child {
    display: block
}


.mainCopy .copyEgg li {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    display: none;
}

.mainCopy .copyEgg li.active {
    position: relative;
    display: block;
}



#mainMenu {
    visibility: hidden;
	position: absolute;
	top: 366px;
    right: 50px;
    text-align: center;
    z-index: 11;
}

.mainMenuCopy {
    display: inline-block;
    text-align: left;
}

.mainMenuCopy p {
	color: #0078c3;
	font-size: 23px;
	font-weight: 600;
	margin-bottom: 15px;
	letter-spacing: 2px;
	line-height: 1.4;
}

.mainMenuImg {
	display: flex;
}

.mainMenuImg a {
    opacity: 1;
}

.menuImg.move {
    animation: yureru 0.5s;
    transform-origin:bottom;   
}
.titleArea img.move {
    animation: yureru 1s infinite;
    transform-origin:bottom;   
}
@keyframes yureru {
    0% {transform: rotate3d(0, 0, 0, 0)}
    12.5% {transform: rotate3d(1, 2, -1, 15deg)}
    25% {transform: rotate3d(0, 0, 0, 0)}
    37.5% {transform: rotate3d(1, 2, -1, -11deg)}
    50% {transform: rotate3d(0, 0, 0, 0)}
    62.5% {transform: rotate3d(1, 2, -1, 7deg)}
    75% {transform: rotate3d(0, 0, 0, 0)}
    87.5% {transform: rotate3d(1, 2, -1, -3deg)}
    100% {transform: rotate3d(0, 0, 0, 0)}
}

.menuImg.spmove {
    animation: spyureru 1s infinite;
    transform-origin:bottom;   
}
@keyframes spyureru {
    0% {transform: rotate3d(0, 0, 0, 0)}
    12.5% {transform: rotate3d(1, 2, -1, 7deg)}
    25% {transform: rotate3d(0, 0, 0, 0)}
    37.5% {transform: rotate3d(1, 2, -1, -5deg)}
    50% {transform: rotate3d(0, 0, 0, 0)}
    62.5% {transform: rotate3d(1, 2, -1, 3deg)}
    75% {transform: rotate3d(0, 0, 0, 0)}
    87.5% {transform: rotate3d(1, 2, -1, -1deg)}
    100% {transform: rotate3d(0, 0, 0, 0)}
}


.menuImg:hover {
    animation: hurueru .3s  infinite;
    transform:scale(1.2,1.2);
}
@keyframes hurueru {
    0% {transform: translate(0px, 0px) rotateZ(0deg)}
    25% {transform: translate(2px, 2px) rotateZ(1deg)}
    50% {transform: translate(0px, 2px) rotateZ(0deg)}
    75% {transform: translate(2px, 0px) rotateZ(-1deg)}
    100% {transform: translate(0px, 0px) rotateZ(0deg)}
}


.mainMenuImg li:nth-child(n+2) {
    margin-left: 20px;
}

#mainWrap .mv {
    visibility: hidden;
	position: relative;
	left: -55px;
}


/*** お悩み ***/
#worriesWrap {
	width: 1000px;
	margin: 0 auto;
	position: relative;
	margin-top: 150px;
	/*height: 400px;*/
}

#worriesWrap h2 {
	color: #0078c3;
	font-size: 35px;
	font-weight: 600;
	letter-spacing: 8px;
}

#worriesWrap ul {
    margin-top: 20px;
    width: 60%;
}

#worriesWrap li a {
	display: flex;
	align-items: center;
	color: #333333;
}

#worriesWrap li img {
    width: 45px;
}

#worriesWrap li img.move {
    animation: yureru 1s infinite;
    transform-origin: bottom;
}

#worriesWrap li P {
    margin-left: 12px;
    font-size: 18px;
    letter-spacing: 3px;
    line-height: 1.3;
}


#worriesWrap li:nth-child(n+2) {
    margin-top: 15px;
}

#worriesWrap .pi {
	position: absolute;
	top: 120px;
	right: 115px;
}

#worriesWrap .arrow {
	display: block;
	margin: 0 auto;
	margin-top: 80px;
}

/*** 解決 ***/

.answerSection {
	display: flex;
	justify-content: center;
	width: 1000px;
	margin: 0 auto;
	align-items: center;
}

#catalogArea, #leafletArea, #printmoveArea, #webArea, #adArea {
	position: relative;
	padding: 100px 0;
	margin-top: -150px;
}

#catalogArea {
    margin-top: 0;
}

#catalogArea::before, #leafletArea::before, #printmoveArea::before, #webArea::before, #adArea::before {
	content: '';
	position: absolute;
	transform-origin: center;
	width: 200vw;
	height: calc(100% - 0.12 * (0.12 * 50% + 50vw) * 2);
	top: 80px;
	left: -50vw;
	z-index: -1;
}

#catalogArea::before {
    transform: rotate(-8deg);
    background: rgba(0,120,195,0.2);
}
#leafletArea::before {
    transform: rotate(8deg);
    background: rgba(255,102,0,0.2);
}
#printmoveArea::before {
    transform: rotate(-8deg);
    background: rgba(255,51,153,0.2);
}
#webArea::before {
    transform: rotate(8deg);
    background: rgba(0,204,255,0.2);
}
#adArea::before {
    transform: rotate(-8deg);
    background: rgba(102,204,102,0.2);
}




.sectionWrap01 .answerSection .answerImg {
    order: 1;
    margin-right: 40px;
}
.sectionWrap01 .answerSection .descriptionArea {
    order: 2;
}
.sectionWrap02 .answerSection .answerImg {
    order: 2;
}
.sectionWrap02 .answerSection .descriptionArea {
    order: 1;
    margin-right: 40px;
}

.answerPopupImg {
    margin-top: 20px;
    text-align: right;
}

.answerImg a {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.sampleClick {
    width: 121px;
    height: 121px;
}

.sampleClick.move {
    animation: anim-scale 1.5s ease-out infinite;
    transform-origin: 50% 50%;
}
@keyframes anim-scale {
    0% {transform: scale(0.98, 0.98)}
    20% {transform: scale(1.04, 1.04); opacity: 0.8}
    30% {transform: scale(1, 1)}
    40% {transform: scale(1.02, 1.02); opacity: 0.8}
    50% {transform: scale(1, 1)}
    100% {transform: scale(1, 1)}
}


.answerPopupImg .icon {
    margin-left: 7px;
}

.answerPopupImg .icon.move {
    display: inline-block;
    animation: ashibumi 1s  infinite;
    transform-origin: bottom;
}

@keyframes ashibumi {
    0% {transform: rotateZ(0deg)}
    50% {transform: rotateZ(-30deg)}
    100% {transform: rotateZ(0deg)}
}

#answerWrap .descriptionArea {
	width: 45%;
}

#adArea .descriptionArea {
    margin-top: 30px;
}

#adArea .answerImg {
	padding-left: 30px;
	padding-right: 30px;
}


#answerWrap .titleArea {
    display: flex;
    align-items: center;
}

#answerWrap .titleArea h3 {
	font-size: 25px;
	letter-spacing: 3px;
	margin-left: 10px;
    margin-bottom: 5px;
    line-height: 1.3;
}

#answerWrap .titleArea h3 span {
    font-size: 150%;
}
#catalogArea .titleArea h3 {
	color: #0078c3;
}
#leafletArea .titleArea h3 {
	color: #ff6600;
}
#printmoveArea .titleArea h3 {
	color: #ff3399;
}
#webArea .titleArea h3 {
	color: #00ccff;
}
#adArea .titleArea h3 {
	color: #66cc66;
}

.answerImg {
	position: relative;
	z-index: 10;
}

#answerWrap .descriptionArea p {
	font-size: 18px;
	letter-spacing: 3px;
    margin-top: 5px;
    text-align: justify;
}

.please {
	text-align: center;
    margin: -100px auto 0 auto;
    width: 1000px;
}

.please > div {
	display: inline-block;
    width: 607px;
    background: url(./img/img_please_back.png) no-repeat center center;
    background-size:contain;
	padding: 20px;
	box-sizing: border-box;
}

.please p {
    font-size: 21px;
    font-weight: 600;
	letter-spacing: 5px;
    color: #fff;
}


.sptoolInfo {
	text-align: center;
	margin-top: 80px;
}

.sptoolInfo h3 {
	font-size: 26px;
	font-weight: 500;
	border-bottom: 2px solid #0078c3;
	display: inline-block;
	padding: 0 10px;
}

.sptoolInfo ul {
	display: flex;
	justify-content: center;
    margin-top: 25px;
    flex-wrap: wrap;
}

.sptoolInfo li:nth-child(n+2) {
    margin-left: 10px;
}

.sptoolInfo img {
	width: 130px;
}



/***問い合わせ***/
#form {
    overflow: hidden;
    position: relative;
    padding-top: calc(100vw * 0.12 + 140px);
    padding-bottom: calc(100vw * 0.12 + 50px);
    margin-bottom: calc(-100vw * 0.12 - 10px);
    margin-top: -100px;
}

#form:before {
    background: rgba(0,120,195,0.2);
    content: '';
    position: absolute;
    transform-origin: center;
    transform: rotate(8deg);
    width: 200vw;
    height: calc(100% - 0.11 * (0.11 * 50% + 50vw) * 2);
    top: calc(0.14 * (0.14 * 50% + 50vw));
    left: -50vw;
    z-index: -1;
}
#formWrap {
    width: 1000px;
    margin: 0 auto;
    margin-top: 80px;
    display: flex;
    justify-content: center;
}

#formWrap > div {
    display: flex;
}

#formWrap > div:nth-child(2) {
    margin-left: 60px;
}

#formWrap > div > img {
    position: relative;
    top: -30px;
    right: 15px;
    animation: sukoshimawaru 1s ease-out infinite;
    transform-origin: 50% 50%;
    width: 126px;
    height: 126px;
}
@keyframes sukoshimawaru {
    0% {transform: rotateZ(0)}
    20% {transform: rotateZ(4deg)}
    30% {transform: rotateZ(-3deg)}
    40% {transform: rotateZ(2deg)}
    50% {transform: rotateZ(0)}
    100% {transform: rotateZ(0)}
}
#formWrap p {
	text-align: center;
	padding-top: 20px;
    font-size: 18px;
    color: #5D6182;
}


#formWrap > div > div a img:hover {
    animation: sukoshiyureru 1s infinite;
    transform-origin: bottom;
}

@keyframes sukoshiyureru {
    0% {transform: rotate3d(0, 0, 0, 0)}
    12.5% {transform: rotate3d(1, 2, -1, 4deg)}
    25% {transform: rotate3d(0, 0, 0, 0)}
    37.5% {transform: rotate3d(1, 2, -1, -3deg)}
    50% {transform: rotate3d(0, 0, 0, 0)}
    62.5% {transform: rotate3d(1, 2, -1, 2deg)}
    75% {transform: rotate3d(0, 0, 0, 0)}
    87.5% {transform: rotate3d(1, 2, -1, -1deg)}
    100% {transform: rotate3d(0, 0, 0, 0)}
}

/***footer***/
footer {
    background-color: #fff;
}
/*inquiry*/
#inquiry {
    border-bottom: 3px solid #c9c9c9;
}

address {
    width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    padding: 15px 0;
}

.companyInfo {
    width: 1000px;
    margin: 0 auto;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    padding: 15px 0;
}

.companyInfo .en {
    padding-left: 5px;
    padding-right: 20px;
    font-size: 80%;
}

.address {
    position: relative;
    padding-left: 20px;
    font-size: 80%;
}

.address::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -13px;
	width: 16px;
	height: 26px;
	background: url("../img/img_point.svg") no-repeat;
}

#goform {
	position: fixed;
	top: 8%;
	right: 5%;
	z-index: 1010;
}

#goform img.move {
    animation: furifuri 0.5s infinite;
    transform-origin:bottom;   
}
@keyframes furifuri {
    0% {transform: rotate3d(0, 0, 0, 0)}
    25% {transform: rotate3d(1, 2, -1, -4deg)}
    50% {transform: rotate3d(0, 0, 0, 0)}
    75% {transform: rotate3d(1, 2, -1, 5deg)}
    100% {transform: rotate3d(0, 0, 0, 0)}
}

/*** 問い合わせリンク ***/


/* modal */
.js-modal-open {
    cursor: pointer;
}
/*サンプルmodal*/
.modal {
    visibility: hidden;
    opacity: 0;
    height: 100vh;
    position: fixed;
	top: 0;
	left: 0;
	width: 100%;
    z-index: 1500;
    transition: 0.5s;
    transform: translate3d(0,0,100px)
}

.modal_bg {
    background: rgba(255,255,255,0.6);
    height: 100vh;
    position: absolute;
	width: 100%;
}
.modal_content {
    position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    width: 90vw;
    max-width: 1000px;
}

#modal_leaflet .modal_content {
    width: 80vh;
}

.modal_content .title {
	border-radius: 19px 19px 0 0;
	width: 450px;
	height: 80px;
	display: table;
	box-sizing: border-box;
    margin-bottom: -3px;
    position: relative;
}

.modal_close_btn {
    position: absolute;
    right: 35px;
    top: 50%;
    transform: translateY(-50%);
}

 .modal_close_btn a:hover {
    opacity: 1;
}

 .modal_close_btn div {
	border: 1px solid #fff;
	background: #fff;
	border-radius: 5px;
	padding: 3px 6px;
	font-size: 20px;
	font-weight: 600;
    line-height: 1;
}
#modal_catalogFlow .modal_close_btn div, #modal_catalog .modal_close_btn div {
    color: #0078C3;
}
#modal_leafletFlow .modal_close_btn div, #modal_leaflet .modal_close_btn div {
    color: #ff6600;
}
#modal_printmoveFlow .modal_close_btn div, #modal_printmove .modal_close_btn div {
    color: #ff3398;
}
#modal_webFlow .modal_close_btn div, #modal_web .modal_close_btn div {
    color: #00CBFF;
}
#modal_adFlow .modal_close_btn div, #modal_ad .modal_close_btn div {
    color: #66CB66;
}

.modal_content_box {
    border-radius: 0 19px 19px 19px;
    box-sizing: border-box;
    box-shadow: 6px 6px 6px rgba(0,0,0, 0.2);
    background: #fff;
    width: 100%;
}
#modal_catalogFlow .modal_content_box, #modal_catalog .iframeWrap {
    border: 3px solid #0078C3;
}
#modal_leafletFlow .modal_content_box, #modal_leaflet .iframeWrap {
    border: 3px solid #ff6600;
}
/*#modal_leafletFlow .modal_content_box, #modal_leaflet .modal_content_box {
    border: 3px solid #ff6600;
}*/
#modal_printmoveFlow .modal_content_box, #modal_printmove .modal_content_box {
    border: 3px solid #ff3398;
}
#modal_webFlow .modal_content_box, #modal_web .modal_content_box {
    border: 3px solid #00CBFF;
}
#modal_adFlow .modal_content_box, #modal_ad .modal_content_box {
    border: 3px solid #66CB66;
}

#modal_catalog .modal_content_box {
    border-radius: 0;
    box-sizing: border-box;
    box-shadow: none;
    background: transparent;
    height: 0;
    padding-top: 70.7%;
}

#modal_leaflet .modal_content_box {
    border-radius: 0;
    box-sizing: border-box;
    box-shadow: none;
    background: transparent;
    height: 0;
    padding-top: 100%;
}

.iframeWrap {
    border-radius: 0 19px 19px 19px;
    box-sizing: border-box;
    box-shadow: 6px 6px 6px rgba(0,0,0, 0.2);
    background: #fff;
    padding: 20px;
}

.modal_content_box iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: 0.5s;
	border-radius: 0 19px 19px 19px;
}

.modal_content_box video {
	width: 100%;
	height: auto;
	transition: 0.5s;
	border-radius: 0px 15px 15px 15px;
	display: block;
}

.modal_content_box .imageWrap {
    padding: 30px;
    text-align: center;
}

.modal_content_box .imageWrap img {
	width: 45%;
	box-shadow: 6px 6px 6px rgba(0,0,0, 0.2);
}

.modal_content_box .imageWrap img:nth-child(2) {
	margin-left: 5%;
}

.modal_content_box .flow {
    max-width: 100%;
    margin: 0 auto;
}









#modal_catalogFlow .title, #modal_catalog .title {
    background-color: #0078C3;
}
#modal_leafletFlow .title, #modal_leaflet .title {
    background-color: #ff6600;
}
#modal_printmoveFlow .title, #modal_printmove .title {
    background-color: #ff3398;
}
#modal_webFlow .title, #modal_web .title {
    background-color: #00CBFF;
}
#modal_adFlow .title , #modal_ad .title {
    background-color: #66CB66;
}

.modal_content .title p {
	color: #fff;
	font-size: 35px;
	font-weight: 600;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
}

.sample .modal_content_box {
    position: relative;
}

.popupFlow .modal_content_box {
	height: 100%;
	padding: 20px;
    text-align: center;
}



.popupFlow .popupDescription {
	display: flex;
	justify-content: center;
	margin-top: 30px;
}

.popupFlow .popupDescription p {
	font-size: 18px;
	letter-spacing: 3px;
	margin-top: 5px;
	text-align: justify;
	width: 38%;
}

.popupFlow .download {
    margin-left: 25px;
}

.popupFlow .download p {
	text-align: center;
	width: 100%;
	line-height: 1.3;
	color: #0078C3;
	font-weight: 600;
	margin-bottom: 10px;
}

@media screen and (max-width:750px){
	.pc {
		display: none;
	}

	.sp {
		display: block;
    }
    

    #headerWrap {
        max-width: 750px;
        width: 95%;
    }

    #corpLogo img {
        height: 4.5vw;
    }

    #mainWrap {
        width: 95%;
        height: 138vw;
        margin-top: 2vw;
    }

    #mainWrap h1 img {
        max-width: 100%;
    }

    #mainWrap h2.mainCopy {
        position: relative;
        top: 0;
        padding-left: 5vw;
        box-sizing: border-box;
    }

    .mainCopy .copyImg {
        width: 70vw;
    }


    .mainCopy .copyEgg {
        top: 13vw;
        left: 8.5vw;
    }

    .mainCopy .copyEgg img {
        width: 14.5vw;
    }

    #mainMenu {
        position: relative;
        top: 14vw;
        right: 0;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        width: 100%;
    }

    .mainMenuCopy {
        text-align: center;
    }

    .mainMenuCopy p {
        font-size: 3.8vw;
        margin-bottom: 5px;
    }

    .mainMenuImg {
        justify-content: center;
    }

    .mainMenuImg img {
        width: 10.5vw;
    }

    #mainWrap .mv {
        top: -37vw;
        left: 0;
        max-width: 100%;
    }

    /*** お悩み ***/
    #worriesWrap {
        width: 90%;
        margin-top: 5vw;
        height: auto;
    }

    #worriesWrap h2 {
        font-size: 5vw;
        letter-spacing: 1.2vw;
    }

    #worriesWrap ul {
        width: 100%;
    }    

    #worriesWrap > ul {
        margin-top: 3vw;
    }

    #worriesWrap li {
        font-size: 4vw;
        letter-spacing: 0.8vw;
    }
    #worriesWrap li:nth-child(n+2) {
        margin-top: 4vw;
    }

    #worriesWrap li img {
        width: 12%;
    }

    #worriesWrap li p {
        width: 82%;
    }

    #worriesWrap .pi.sp {
        position: relative;
        top: 5vw;
        margin: 0 auto;
        width: 70vw;
        right: 0;
    }

    #worriesWrap .arrow {
        width: 25vw;
    }

    /***解決***/
    #catalogArea, #leafletArea, #printmoveArea, #webArea, #adArea {
        padding: 12vw 0;
    }

    #leafletArea, #printmoveArea, #webArea, #adArea {
        margin-top: -10vw;
        margin-bottom: -10vw;
    }

    #catalogArea::before, #leafletArea::before, #printmoveArea::before, #webArea::before, #adArea::before {
        top: 65px;
    }

    .answerSection {
        display: block;
        width: 75%;
        margin: 0 auto;
        padding-top: 11vw;
    }

    .sectionWrap01 .answerSection {
        padding-top: 16vw;
    }

    #answerWrap .descriptionArea {
        width: 100%;
        margin-top: 0;
    }

    .titleArea img {
        width: 18vw;
    }

    #answerWrap .titleArea h3 {
        font-size: 4.5vw;
    }

    #answerWrap .titleArea h3 span {
        font-size: 130%;
    }

    #answerWrap .descriptionArea p {
        font-size: 4vw;
        letter-spacing: 0.5vw;
    }

    .sectionWrap01 .answerSection .answerImg, .sectionWrap02 .answerSection .answerImg {
        margin: 0 auto;
        text-align: center;
    }

    .answerSection .answerImg img {
        width: 100%;
        margin-top: 1vw;
    }

    .answerSection .answerImg img.sampleClick {
        width: 20vw;
        height: 20vw;
    }

    .answerPopupImg a {
        display: flex;
        justify-content: center;
        margin: 6vw 0;
        align-items: start;
    }

    .answerPopupImg a img:nth-child(1) {
        width: 70%;
    }

    .answerPopupImg a img:nth-child(2) {
        width: 25%;
        margin-left: 4%;
    }

    #adArea .answerImg {
        padding: 0;
    }

    #adArea .answerImg img {
        width: 31vw;
    }

    .please {
        margin: 5vw auto 0 auto;
        width: 100%;
    }

    .please > div {
        width: 90%;
    }

    .please p {
        font-size: 4vw;
        letter-spacing: 0.3vw;
    }


    .sptoolInfo {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
        margin-top: 15vw;
    }

    .sptoolInfo h3 {
        font-size: 4.2vw;
    }

    .sptoolInfo li {
        width: 40%;
    }

    .sptoolInfo li:nth-child(n+2) {
        margin: 0;
    }

    .sptoolInfo li:nth-child(2n) {
        margin-left: 2.5vw;
    }

    .sptoolInfo li:nth-child(n+3) {
        margin-top: 2.5vw;
    }
    .sptoolInfo img {
        width: 100%;
    }


    /***問い合わせ***/
    #form {
        margin-top: -12vw;
        padding-top: calc(100vw * 0.14 + 5vw);
    }

    #form::before {
        top: calc(0.2 * (0.2 * 50% + 50vw));
    }

    #formWrap {
        margin-top: 15vw;
        width: 90%;
        flex-wrap: wrap;
    }

    #formWrap h3 {
        font-size: 5.5vw;
        top: -4vw;
    }

    #formWrap p {
        padding-top: 2vw;
        font-size: 4vw;
    }

    #formWrap > div {
        width: 100%;
        justify-content: center;
        position: relative;
    }


    #formWrap > div:nth-child(2) {
        margin-left: 0;
        margin-top: 8vw;
    }

    #formWrap > div > img {
        width: 20vw;
        height: auto;
        position: absolute;
        top: -6vw;
        right: 9vw;
    }
    #formWrap > div > div {
        text-align: center;
    }

    
    #formWrap > div > div img {
        width: 30vw;
    }





    address {
        width: 100%;
        display: block;
    }

    address a, address img {
        margin: 0 auto;
        display: block;
        width: 90%;
    }

    address a {
        margin-top: 15px;
    }

    .companyInfo {
        width: 90%;
        font-size: 16px;
    }

    .companyInfo .en {
        padding-left: 0;
        padding-right: 0;
    }

    #goform {
        top: 2%;
    }
    #goform img {
        width: 12vw;
    }

    

    /*** 問い合わせリンク ***/    
    #formWrap > div > div > a img.move {
        animation: sukoshiyureru 1s infinite;
        transform-origin: bottom;
    }



    /*** モーダル ***/
    .modal_content {
        max-width: 75vw;
    }

    .popupFlow .modal_content_box {
        max-height: 75vh;
        overflow-y: auto;
        transform: translateZ(0);
        padding-bottom: 0;
    }

    .modal_content .title {
        width: 100%;
        height: 14vw;
    }

    .modal_content .title p {
        font-size: 6vw;
    }    

    .modal_close_btn {
        right: 5vw;
    }

    .modal_close_btn div {
        font-size: 4vw;
        padding: 3px 4px;
    }

    .modal_content_box, .iframeWrap {
        border-radius: 0 0 19px 19px;
    }
    
    .modal_content_box .imageWrap {
        padding: 3vw;
        white-space: nowrap;
        overflow-x: auto;
    }

    .modal_content_box .imageWrap img {
        width: 65vw;
    }


    
    /*.modal_content {
        padding: 2%;
        width: 75vw;
        max-height: 85vh;
        border-radius: 0 0 19px 19px;
    }

    #modal_list .modal_content {
        border-top: none;
    }

    .popupFlow .modal_content {
        padding: 0;
    }

    #modal_catalogFlow .modal_content .title, #modal_catalog .modal_content .title {
        border: 3px solid #0078C3;
        border-bottom: none;
    }
    #modal_leafletFlow .modal_content .title, #modal_leaflet .modal_content .title {
        border: 3px solid #ff6600;
        border-bottom: none;
    }
    #modal_printmoveFlow .modal_content .title, #modal_printmove .modal_content .title {
        border: 3px solid #ff3398;
        border-bottom: none;
    }
    #modal_webFlow .modal_content .title, #modal_web .modal_content .title {
        border: 3px solid #00CBFF;
        border-bottom: none;
    }
    #modal_adFlow .modal_content .title, #modal_ad .modal_content .title {
        border: 3px solid #66CB66;
        border-bottom: none;
    }
    .modal_content .title {
        width: calc(75vw - 6px);
        height: calc(12vw - 3px);
        top: -12vw;
    }*/

    

    

    /*.popupFlow .modal_content_box {
        overflow-y: scroll;
        padding: 5vw;
        width: calc(100% - 10vw);
        height: 70vh;
    }

    .modal_content_box iframe {
        border-radius: 0 0 19px 19px;
    }

    .modal_content_box .flow.sp {
        width: 40%;
        display: block;
        margin: 0 auto;
    }*/

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

    .slide.flow_sp img {
        height: 30vw;
    }
    
    #modal_printmoveFlow .slide.flow_sp img.open, #modal_webFlow .slide.flow_sp img.open {
        animation: slide4 9s infinite;
    }
    @keyframes slide4 {
        0% {transform:translate3d(14%,0,0)}
        12% {transform:translate3d(14%,0,0)}
        31% {transform:translate3d(-12%,0,0)}
        33% {transform:translate3d(-12%,0,0)}
        51% {transform:translate3d(-39%,0,0)}
        53% {transform:translate3d(-39%,0,0)}
        71% {transform:translate3d(-65%,0,0)}
        85% {transform:translate3d(-65%,0,0)}
        100% {transform:translate3d(14%,0,0)}
    }
    #modal_leafletFlow .slide.flow_sp img.open, #modal_adFlow .slide.flow_sp img.open {
        animation: slide5 11s infinite;
    }
    @keyframes slide5 {
        0% {transform:translate3d(12.5%,0,0)}
        10% {transform:translate3d(12.5%,0,0)}
        24% {transform:translate3d(-8%,0,0)}
        26% {transform:translate3d(-8%,0,0)}
        39% {transform:translate3d(-29%,0,0)}
        41% {transform:translate3d(-29%,0,0)}
        54% {transform:translate3d(-51%,0,0)}
        56% {transform:translate3d(-51%,0,0)}
        70% {transform:translate3d(-72%,0,0)}
        85% {transform:translate3d(-72%,0,0)}
        100% {transform:translate3d(12.5%,0,0)}
    }
    #modal_catalogFlow .slide.flow_sp img.open {
        animation: slide6 13s infinite;
    }
    @keyframes slide6 {
        0% {transform:translate3d(10%,0,0)}
        10% {transform:translate3d(10%,0,0)}
        21.5% {transform:translate3d(-7%,0,0)}
        23.5% {transform:translate3d(-7%,0,0)}
        34% {transform:translate3d(-23%,0,0)}
        36% {transform:translate3d(-23%,0,0)}
        46.5% {transform:translate3d(-42%,0,0)}
        48.5% {transform:translate3d(-42%,0,0)}
        59% {transform:translate3d(-60%,0,0)}
        61% {transform:translate3d(-60%,0,0)}
        72.5% {transform:translate3d(-76.5%,0,0)}
        85% {transform:translate3d(-76.5%,0,0)}
        100% {transform:translate3d(10%,0,0)}
    }

    .slide_over {
        position: absolute;
        left: 0;
        top: 0;
        background: rgb(255,255,255);
        background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 20%, rgba(255,255,255,0) 80%, rgba(255,255,255,1) 100%);
        width: 100%;
        height: 100%;
    }

    .popupFlow .popupDescription {
        display: block;
    }

    .popupFlow .popupDescription .popupText {
        width: 100%;
        font-size: 3.2vw;
    }

    .popupFlow .download {
        margin-left: 0;
    }

    .popupFlow .download p {
        font-size: 4vw;
        margin-top: 4vw;
    }

    .popupFlow .download img.sp {
        width: 62vw;
        display: block;
        margin: auto;
    }
    
}

@media screen and (max-width:750px) and (orientation: portrait){
    .sample .modal_content {
        /*padding: 5%;*/
        width: 75vw;
    }

    /*.popupFlow .modal_content {
        padding: 0;
        width: 75vw;
    }*/

    #modal_catalog .modal_content_box, #modal_leaflet .modal_content_box {
        padding-top: 141.5%;
        /*margin: 0 auto;*/
    }

    /*.modal_close_btn a {
        bottom: -50px;
    }*/
}

/*ローディングアニメーション*/

.loader {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transition: 0.5s;
}

.pacman>div:first-of-type,
.pacman>div:nth-child(2) {
 width:0;
 height:0;
 border-right:25px solid transparent;
 border-top:25px solid #0080ff;
 border-left:25px solid #0080ff;
 border-bottom:25px solid #0080ff;
 border-radius:25px;
 position:relative;
 left:-30px
}
@-webkit-keyframes rotate_pacman_half_up {
 0%,
 100% {
  -webkit-transform:rotate(270deg);
  transform:rotate(270deg)
 }
 50% {
  -webkit-transform:rotate(360deg);
  transform:rotate(360deg)
 }
}
@keyframes rotate_pacman_half_up {
 0%,
 100% {
  -webkit-transform:rotate(270deg);
  transform:rotate(270deg)
 }
 50% {
  -webkit-transform:rotate(360deg);
  transform:rotate(360deg)
 }
}
@-webkit-keyframes rotate_pacman_half_down {
 0%,
 100% {
  -webkit-transform:rotate(90deg);
  transform:rotate(90deg)
 }
 50% {
  -webkit-transform:rotate(0);
  transform:rotate(0)
 }
}
@keyframes rotate_pacman_half_down {
 0%,
 100% {
  -webkit-transform:rotate(90deg);
  transform:rotate(90deg)
 }
 50% {
  -webkit-transform:rotate(0);
  transform:rotate(0)
 }
}
@-webkit-keyframes pacman-balls {
 75% {
  opacity:.7
 }
 100% {
  -webkit-transform:translate(-100px,-6.25px);
  transform:translate(-100px,-6.25px)
 }
}
@keyframes pacman-balls {
 75% {
  opacity:.7
 }
 100% {
  -webkit-transform:translate(-100px,-6.25px);
  transform:translate(-100px,-6.25px)
 }
}
.pacman {
 position:relative
}
.pacman>div:nth-child(3) {
 -webkit-animation:pacman-balls 1s -.66s infinite linear;
 animation:pacman-balls 1s -.66s infinite linear
}
.pacman>div:nth-child(4) {
 -webkit-animation:pacman-balls 1s -.33s infinite linear;
 animation:pacman-balls 1s -.33s infinite linear
}
.pacman>div:nth-child(5) {
 -webkit-animation:pacman-balls 1s 0s infinite linear;
 animation:pacman-balls 1s 0s infinite linear
}
.pacman>div:first-of-type {
 -webkit-animation:rotate_pacman_half_up .5s 0s infinite;
 animation:rotate_pacman_half_up .5s 0s infinite
}
.pacman>div:nth-child(2) {
 -webkit-animation:rotate_pacman_half_down .5s 0s infinite;
 animation:rotate_pacman_half_down .5s 0s infinite;
 margin-top:-50px
}
.pacman>div:nth-child(3),
.pacman>div:nth-child(4),
.pacman>div:nth-child(5),
.pacman>div:nth-child(6) {
 background-color:#0080ff;
 border-radius:100%;
 margin:2px;
 width:10px;
 height:10px;
 position:absolute;
 -webkit-transform:translate(0,-6.25px);
 transform:translate(0,-6.25px);
 top:25px;
 left:70px
}