@charset "UTF-8";

*{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

a{
	color: inherit;
	text-decoration: none;
	transition: 0.3s;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}

a:hover{
	color: #999;
}

.mb10{margin-bottom: 10px;}
.mb20{margin-bottom: 20px;}
.mb30{margin-bottom: 30px;}
.mb40{margin-bottom: 40px;}
.mb50{margin-bottom: 50px;}
.mb60{margin-bottom: 60px;}
.mb80{margin-bottom: 80px;}
.mb100{margin-bottom: 100px;}
.mb200{margin-bottom: 200px;}

.normal{font-weight: normal;}
.small{font-size: 8pt;}
.red{color: #CC0000;}
.bold{font-weight: 600;}


/* PC版ベースに構築 ---------------------------------------- */


/* 共通設定 */

.pc_none{
	display: none;
}

body {
	font-family: 'Noto Sans Japanese', 'Avenir','Helvetica Neue','Helvetica','Arial',YuGothic,'Yu Gothic','Hiragino Sans',
	'ヒラギノ角ゴシック','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic';
	font-size: 12pt;
	font-weight: 400;
	background-color: #fff;
	color: #111;
	line-height: 1.8em;
	font-feature-settings : "palt";
	letter-spacing: 0.01em;
}

p{
	text-align: center;
}

header small{
	display: none;
}

footer{
	border-top: 2px solid #b2b2b2;
}



small{
	display: block;
	font-style: normal;
	font-size: 9pt;
	text-align: center;
	color: #999;
	margin: 25px 0;
}

#totop{
	display:none;
	border:0;
	position:fixed;
	right:2.5vw;
	bottom:10px;
	z-index: 3;
	width: 25px;
	height: 49px
}

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

#totop:hover{
	opacity: 0.7;
}

#contents{
	margin-top: 150px;
	padding-bottom: 100px;
}

h3{
	font-size: 24pt;
	text-align: center;
	margin-bottom: 75px;
	letter-spacing: 0.15em;
}

.other h3{
	margin-bottom: 50px;
}

.other h3:before{
	content: "";
	height: 90px;
	width: 2px;
	background-color: #111;
	display: block;
	margin: 0 auto 12px auto;
}


/* スクロールでフェードイン */
.fadein {
    opacity : 0;
    transform : translate(0, 50px);
    transition : all 300ms;
}
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}


/* ボタン マウスオーバー */
.anime-button, .anime-button:after{
	transition: all 0.2s;
}

.anime-button{
	background: none;
	position: relative;
	text-transform: uppercase;
	overflow: hidden;
	font-weight: 600;
}

.anime-button:before, .anime-button:after {
  background: #000;
  content: '';
  position: absolute;
  z-index: -1;
}

.anime-button:hover {
	color: #fff;
}

.anime-button:after {
  height: 0;
  left: 50%;
  top: 50%;
  width: 0;
}

.anime-button:hover:after {
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}


/* キャッチ部分 */
.h2_list:before{
	width: 90vw;
	height: 460px;
	background-color: #b2b2b2;
	margin-left: 10vw;
	border-radius: 13px 0 0 0;
	display: block;
	content: "";
	position: relative;
}

.radiusback{
	width: 90vw;
	height: 390px;
	right: 10vw;
	top: 150px;
	border-radius: 0 13px 0 0;
	background-repeat: no-repeat;
	background-size: 100vw auto;
	position: absolute;
}

#googleusage{
	overflow: hidden;
}

#googleusage .h2_list:before{
	height: calc( 100vh - 80px );
	background-color: #0081cc;
}

#googleusage.ohmesse .h2_list:before{
	background-color: #5baa34;
}

#googleusage .radiusback{
	height: calc( 100vh - 150px );
}

.about_pic{
	background-image: url(../img/company/back.jpg);
	background-position: center center;
}

.contact_pic{
	background-image: url(../img/contact/back.jpg);
	background-position: center right -100px;
}

.google_pic{
	background-image: url(../img/googleusage/back.jpg);
	background-position: center right -100px;
}

.ohmesse_pic{
	background-image: url(../img/ohmesse/back.jpg);
	background-position: center right -100px;
}

h2 img{
	width: 63px;
	height: auto;
	display: block;
	position: absolute;
	right: 8vw;
	top: 210px;
}

#googleusage h2 img{
	top: calc( 103px + 50% );
	transform: translate(0,-50%);
}

#googleusage .catch{
	color: #fff;
	position: absolute;
	bottom: 100px;
	left:  10vw;
	animation-name: fadeUp;
    animation-duration: 1s;
    animation-timing-function: linear;
}

@keyframes fadeUp {
    0% {
        bottom: 50px;
    }
	50% {
        bottom: 50px;
    }
    100% {
        bottom: 100px;
    }
}


#googleusage .catch em{
	font-size: 40pt;
	font-weight: 700;
	font-style: normal;
	display: block;
	margin-bottom: 1em;
	letter-spacing: 0.1em;
	line-height: 1.4;
}

#googleusage.ohmesse .catch em{
	margin-bottom: 0em;
	letter-spacing: 0.05em;
	line-height: 1.5em;
	font-size: 38pt;
}

#googleusage .catch p{
	font-size: 20pt;
	text-align: left;
	line-height: 2em;
	letter-spacing: 0.05em;
	font-weight: 500;
	background: linear-gradient(transparent 70%, #0081cc 70%);
	display: inline;
}

#googleusage #scroll{
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	color: #fff;
	display: block;
	position: absolute;
	right: 5vw;
	bottom: 0;
	transition: 0.2s;
}

#googleusage #scroll:hover{
	opacity: 0.7;
	bottom: -2px;
}

#googleusage #scroll a{
	vertical-align: 2px;
	letter-spacing: 0.1em;
	font-weight: 200;
	font-size: 11pt;
}

#googleusage #scroll a:hover{
	color: #fff;
}

#googleusage #scroll:after{
	width: 2px;
	height: 50px;
	background-color: #fff;
	content: "";
	display: inline-block;
	margin-top: 5px;
}


/* ohmesse.php */
section#comingsoon{
	min-height: calc(100vh - 160px);
	height: calc(100vh - 160px);
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	width: 100vw;
}


/* contact.php */
#contact_tel{
	margin-bottom: 150px;
}

.tel_time{
	margin: 30px auto 5px auto;
}

.tel_time img{
	width: 30px;
	height: auto;
	margin-right: 10px;
	display: inline-block;
}

.tel{
	font-size: 30pt;
	font-weight: 900;
	letter-spacing: 0.1em;
}

#contact_form table{
	margin: 20px auto 0 auto;
	width: 510px;
}

#contact_form tr{
	border-bottom: 1px solid #4d4d4d;
}

#contact_form th, #contact_form td{
	padding-top: 35px;
	padding-bottom: 5px;
	vertical-align: middle;
	height: 30px;
	line-height: 1.2em;
}

#contact_form th{
	font-weight: normal;
	text-align: left;
	width: 110px;
	white-space:nowrap;
}

#contact_form td{
	width: 400px;
	position: relative;
}

#contact_form textarea{
	width: 100% !important;
	height: 200px!important;
	padding: 5px;
	border: 1px solid #4d4d4d;
	border-radius: 5px;
	font-size: 12pt;
}

#contact_form input{
	border: 0;
	background-color: #fff;
	padding: 5px;
	height: 30px;
	width: 390px;
	display: block;
	margin: 0;
	margin-left: 10px;
	font-size: 12pt;
}

#contact_form input:hover{
	border: 0;
	background-color: #efefef;
}

#contact_form .mfp_buttons input{
	border: 0;
	background-color: rgba(255,255,255,0);
	padding: 0;
	width: 270px;
	height: 70px;
	display: block;
	margin: 0;
	margin-left: 0px;
	font-size: 12pt;
	line-height: 70px;
}

#contact_form .mfp_buttons input:hover{
	border: 0;
	background-color: rgba(255,255,255,0);
	color: #fff !important;
}

#contact_form .choice, #contact_form .remarks, #contact_form .policy {
	border-bottom: 0;
}

#contact_form .choice th, #contact_form .remarks th{
	vertical-align: top;
}

#contact_form .choice td, #contact_form .remarks td{
	padding-left: 10px;
}

#contact_form .choice input{
	width: inherit;
	display: inline-block;
	margin-right: 2px;
}

#contact_form .ls , #company .ls{
	letter-spacing: 0.5em;
}

#contact_form .ls span.red{
	margin-left: -0.7em;
}

#contact_form th span.red{
	font-size: 8pt;
	vertical-align: 5px;
}

#contact_form .policy p{
	font-size: 10pt;
	margin-bottom: 20px;
	line-height: 1.6em;
	text-align: justify;
    text-justify: inter-ideograph;
}

.mfp_buttons button{
	display: block;
	margin: 50px auto 0 auto;
	border: 2px solid #000;
	text-align: center;
	width: 280px;
	height: 70px;
	line-height: 70px;
	font-size: 12pt;
	color: #000;
	border-radius: 13px;
	background-color: #fff;
}

.mfp_buttons button:hover{
	cursor: pointer;
	background-color: #000;
	color: #fff;
}

#contact_form input[type="checkbox"] {
  margin: 0;
  display: none;
}

.input-checkbox {
  display: block;
  position: relative;
  padding-left: 24px;
	padding-bottom: 10px;
}
.input-checkbox label {
  display: inline-block;
  font-size: 16px;
  cursor: pointer;
	vertical-align: -2px;
}
.input-checkbox label:before,
.input-checkbox label:after {
  content: "";
  position: absolute;
  display: inline-block;
  transition: transform .2s ease;
}
.input-checkbox label:before {
  top: 4px;
  left: 0;
  width: 14px;
  height: 14px;
  border: 1px solid #4d4d4d;
  border-radius: 3px;
}
.input-checkbox label:after {
  top: 8px;
  left: 5px;
  width: 6px;
  height: 11px;
  margin-top: -5.5px;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-radius: 1.5px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: border-bottom-color,border-right-color .2s ease;
}

.input-checkbox input[type="checkbox"]:checked + label:after {
  border-color: #0081cc;
}

.input-checkbox label:hover{
	color: #999;
}

div#mfp_overlay_background {
    background-color: #000;
    position: absolute;
    display: none;
    z-index: 10000;
}

div#mfp_overlay_inner {
    background-color: #FFF;
    padding: 50px;
    margin: 0px auto;
	margin-top: 50px;
    width: 80vw;
    max-width: 90vw;
	min-width: 1000px;
}

div#mfp_overlay {
    position: absolute;
    display: none;
    z-index: 10001;
}

#mfp_confirm_table{
	margin: 0 auto;
	width: 100%;
	border-top: 1px solid #ccc;
}

#mfp_confirm_table th, #mfp_confirm_table td{
	padding: 10px;
	border-bottom: 1px solid #ccc;
}

#mfp_confirm_table th{
	width: 200px;
}

#mfp_hidden{
	display: none;
}

.mfp_err{
	color:#CC0000;
	font-size: 8pt;
	position: absolute;
	top: 15px;
	left: 10px;
}


/* about.php */
#message{
	margin-bottom: 150px;
}

.message_logo{
	width: 150px;
	height: 121px;
	display: inline-block;
	margin-top: 10px;
}

.message_logo img{
	width: 100%;
	height: auto;
}

#message .message_wrap{
	width: 820px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#message .message_wrap p{
	text-align: left;
	text-align: justify;
	text-justify: inter-ideograph;
}

#message .message_wrap p.sign{
	font-size: 10pt;
	text-align: right;
	margin-top: 50px;
}

#message .message_wrap p.sign span{
	font-weight: 700;
	font-size: 18pt;
	margin-left: 10px;
	letter-spacing: 0.2em;
}

#message .message_wrap div{
	width: 600px;
}

#company table{
	width: 550px;
	margin: 0 auto;
}

#company table tr{
	border-bottom: 1px solid #4d4d4d;
}

#company table tr:last-child{
	border-bottom: 0;
}


#company table th, #company table td{
	padding-top: 20px;
	padding-bottom: 20px;
	vertical-align: middle;
}

#company table th{
	font-weight: normal;
	text-align: left;
	white-space:nowrap;
	padding-left: 20px;
	padding-right: 20px;
}

#company table a{
	border-bottom: 1px solid #999;
	padding-bottom: 2px;
}

#company td.works span{
	font-weight: bold;
}

#company td.works p{
	text-align: left;
	line-height: 1.6em;
}

#company td.works p:first-of-type{
	margin-bottom: 15px;
}



/* googleusage.php ※一部ohmesse共通 */
.google_wrap h3{
	color: #0081cc;
}

.google_wrap h3:before{
	display: block;
	margin: 0 auto;
	margin-bottom: 25px;
	width: 75px;
	height: 75px;
	text-align: center;
	color: #fff;
	border-radius: 50%;
	font-weight: 700;
	font-size: 26pt;
	background-color: #0081cc;
	content: "01";
	line-height: 75px;
	padding-left: 5px;
	box-sizing: border-box;
}

.google_wrap #gu02 h3:before{
	content: "02";
}

.google_wrap #gu03 h3:before{
	content: "03";
}

.google_wrap #gu04 h3:before{
	content: "04";
}

.google_wrap #gu05 h3:before{
	content: "05";
}

.google_wrap section, .ohmesse_wrap section{
	padding-top: 150px;
	padding-bottom: 120px;
}

.google_wrap section:last-of-type, .ohmesse_wrap section:last-of-type{
	padding-bottom: 50px;
}

.blueback{
	background-color: #e6f1f8;
}

.greenback{
	background-color: #eef6ea;
}

/*01*/
#gu01, #om01{
	padding-top: 150px;
	margin-top: -150px;
}

#gu01 dl{
	width: 1024px;
	margin: 0 auto;
	margin-bottom: 60px;
}

#gu01 dt{
	background-image: url(../img/googleusage/question.svg);
	background-size: auto 50px;
	background-position: center top 5px;
	background-repeat: no-repeat;
	height: 60px;
	font-weight: 500;
	font-size: 16pt;
	line-height: 60px;
	margin-bottom: 30px;
}

#gu01 .q02 dt{
	margin-bottom: 15px;
}

#gu01 .q01 ul{
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	width: 100%;
	height: 70px;
}

#gu01 .q01 li{
	width: 24%;
	background-color: #efefef;
	border-radius: 13px;
	font-size: 11pt;
	position: relative;
}

#gu01 .q01 li img{
	display: block;
	margin: -20px auto 0 auto;
}

#gu01 .q01 li:nth-child(2) img, #gu01 .q01 li:nth-child(3) img{
	margin: -10px auto 0 auto;
}

#gu01 .q01 li p{
	position: absolute;
	bottom: 5px;
	left: 0%;
	transform: translate(0,-50%);
	width: 100%;
}

#gu01 .q02 dd{
	background-color: #efefef;
	border-radius: 13px;
	width: 100%;
	height: 70px;
	line-height: 70px;
	font-size: 11pt;
	position: relative;
}

#gu01 .q02 dd:after{
  content: "";
  position: absolute;
  right: 0;
  bottom: -20px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #efefef transparent transparent transparent;
  border-width: 32px 27px 0 27px;
}

#gu01 strong{
	text-align: center;
	display: block;
	font-size: 16pt;
	color: #0081cc;
	font-weight: bold;
	margin-bottom: 15px;
}

#gu01 .answer{
	list-style-type: none;
	text-align: left;
	margin: 0 auto;
	width: 330px;
	padding-bottom: 50px;
}

#gu01 .answer li{
	position: relative;
	font-weight: bold;
	margin-bottom: 10px;
}

#gu01 .answer li:after{
	display: block;
  content: '';
  position: absolute;
  top: .5em;
  left: -25px;
  width: 15px;
  height: 7px;
  border-left: 3px solid #0081cc;
  border-bottom: 3px solid #0081cc;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#gu01 .cost{
	width: 1024px;
	height: 375px;
	margin: 0 auto;
	background-image: url(../img/googleusage/qu01_costo.jpg);
	background-position: top -120px left -70px;
	background-size: 1090px auto;
	border-radius: 13px;
	padding-top: 100px;
}

#gu01 .cost p{
	font-size: 13pt;
	font-weight: bold;
	text-align: center;
	margin-bottom: 25px;
	line-height: 2.0em;
}

#gu01 .cost p span{
	text-emphasis:circle filled #0081cc;
   -webkit-text-emphasis:circle filled #0081cc;
}

#gu01 .cost a, p.toContact a{
	display: block;
	border-radius: 13px;
	border: 2px solid #0081cc;
	text-align: center;
	height: 72px;
	width: 400px;
	line-height: 65px;
	color: #0081cc;
	font-weight: bold;
	font-size: 14pt;
	background-color: transparent;
	margin: 0 auto;
}

#gu01 .cost a:hover, p.toContact a:hover{
	background-color: #0081cc;
	color: #fff;
}


/*02*/
#gu02 .product dl{
	background-image: url(../img/googleusage/gu02-a.svg);
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 77px 77px;
	margin: 0 auto;
	margin-bottom: 40px;
	padding-left: 95px;
	width: 700px;
	height: 100px;
}

#gu02 .product dt{
	font-weight: bold;
	color: #0081cc;
	font-size: 14pt;
}

#gu02 .product dl:nth-of-type(2){
	background-image: url(../img/googleusage/gu02-d.svg);
}

#gu02 .product dl:nth-of-type(3){
	background-image: url(../img/googleusage/gu02-e.svg);
}

#gu02 .product dl:nth-of-type(4){
	background-image: url(../img/googleusage/gu02-d.svg);
}

#gu02 .product dl:nth-of-type(5){
	background-image: url(../img/googleusage/gu02-g.svg);
}

#gu02 .product dl:nth-of-type(6){
	background-image: url(../img/googleusage/gu02-e.svg);
}

.streetview{
	padding-top: 50px;
}

.streetview iframe{
	margin: 0 auto;
	border-radius: 13px;
	display: block;
}

.streetview p{
	margin-top: 20px;
}

.streetview_other{
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	width: 1024px;
	margin: 0 auto;
	padding-top: 75px;
}

.streetview_other figure{
	width: 480px;
	 font-size: 11pt;
}

.streetview_other figure img{
	display: block;
	width: 480px;
	height: 235px;
	border-radius: 13px;
	margin-bottom: 15px;
}

.streetview_other figure img:hover{
	opacity: 0.7;
}


/*03*/
#gu03 em{
	display: inline-block;
	font-style: normal;
	background-color: #0081cc;
	color: #fff;
	margin-right: 5px;
	padding: 5px;
	line-height: 1.0em;
}

#gu03 p:first-of-type{
	font-weight: bold;
	margin-bottom: 20px;
}

#gu03 p.gu03last{
	margin-top: 50px;
}

#gu03 .preview{
	width: 1024px;
	margin: 0 auto;
	display: flex;
	padding-top: 70px;
}

#gu03 .preview img{
	height: 780px;
	width: auto;
}

#gu03 .preview div{
	padding-left: 30px;
}

#gu03 .preview dl{
	margin-top: 120px;
}

#gu03 .preview dt{
	color: #0081cc;
	font-weight: bold;
	margin-bottom: 5px;
	font-size: 14pt;
}

#gu03 .preview dl:last-of-type dt{
	color: #aaa;
}

#gu03 .preview dd{
	text-align: justify;
    text-justify: inter-ideograph;
}


/*04*/
#gu04 h4{
	margin-bottom: 50px;
	}

#gu04 h4:after{
	display: block;
	width:1024px;
	margin: 0 auto;
	margin-top: -15px;
	height: 2px;
	background-color: #0081cc;
	content: "";
	position: relative;
	z-index: 1;
}

#gu04 h4 span{
	font-size: 16pt;
	color: #0081cc;
	font-weight: bold;
	text-align: center;
	background-color: #e6f1f8;
	display: block;
	position: relative;
	z-index: 2;
	width: 200px;
	margin: 0 auto;
}

#gu04 h4:last-of-type span{
	width: 400px;
}

#gu04 img.logotag{
	display: block;
	width: 550px;
	height: auto;
	margin: 0 auto;
	margin-top: 40px;
}

.partnerlink{
	display: inline-block;
    border: 1px solid #111;
    padding: 10px;
    text-align: center;
    width: 350px;
    font-size: 13px;
    margin-top: 50px;
}

.partnerlink:hover{
	 border: 1px solid #ccc;
}

#gu04 .suport{
	background-image: url(../img/googleusage/suport.png);
	background-position: top left;
	background-repeat: no-repeat;
	background-size: 1024px 180px;
	width: 1024px;
	height: 180px;
	margin: 40px auto 100px auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-left: 50px;
	padding-right: 50px;
	padding-top: 35px;
}

#gu04 .suport dl{
	width: 230px;
	align-self:flex-start;
	line-height: 1.5em;
}

#gu04 .suport dt{
	font-weight: bold;
	margin-bottom: 5px;
}

#gu04 .suport dd{
	font-size: 11pt;
	text-align: justify;
    text-justify: inter-ideograph;
}

#gu04 .tool ul{
	width: 1024px;
	height: 200px;
	margin: 40px auto 120px auto;
	display: flex;
	justify-content:space-between;
	flex-wrap:nowrap;
}

#gu04 .tool ul li{
	width: 24%;
	height: 190px;
	background-color: #fff;
	border-radius: 13px;
	text-align: center;
	padding-top: 30px;
	line-height: 1.5em;
}

#gu04 .tool ul li img{
	display: block;
	margin: 0 auto;
	margin-bottom: 20px;
}

#gu04 .tool ul li:nth-child(1) img{
	width: 77px;
	height: 67px;
}


#gu04 .tool ul li:nth-child(2) img{
	width: 85px;
	height: 85px;
	margin-top: -18px;
}

#gu04 .tool ul li:nth-child(3) img{
	width: 67px;
	height: 67px;
}

#gu04 .tool ul li:nth-child(4) img{
	width: 56px;
	height: 73px;
	margin-top: -6px;
}

/*05*/
#gu05 a, #om03 a{
	margin-top: 50px;
}



/* ohmesse.php */

/*01*/
.ohmesse_wrap h3{
	color: #5baa34;
	margin-bottom: 50px;
}

#om01 .howabout{
	margin-bottom: 150px;
}

#om01 .howabout img{
	width: 700px;
	height: auto;
	margin: 0 auto;
	margin-top: 75px;
	display: block;
}

#om01 h3:first-of-type:after{
	margin: 0 auto;
	width: 225px;
	height: 12px;
	background-color: rgba(251,237,33,0.7);
	display: block;
	content: "";
	margin-top: -6px;
}

#om01 h3:first-of-type{
	letter-spacing: 0.05em;
}

#om01 h3:first-of-type span{
	letter-spacing: -0.1em;
}

#om01 .artistNews dl{
	margin: 0 auto;
	margin-bottom: 10px;
	width: 600px;
	display: flex;
	flex-wrap: nowrap;
}

#om01 .artistNews dt{
	width: 100px;
	min-width: 100px;
}

#om01 .artistNews dd{
	text-align: justify;
    text-justify: inter-ideograph;
}


/*02*/
#om02 .artistList ul, .artworkList ul{
	margin: 0 auto;
	width: 1025px;
	height: auto;
	display: flex;
	flex-wrap: wrap;
}
#om02 .artistList ul::before{
  content:'';
  display: block;
  width: 240px;
	margin-bottom: 65px;
  order:1;
  background-image: url(../img/ohmesse/comingsoon@2x.png);
  background-size:240px auto;
  background-color: transparent;
	margin-left: 20px;
}
#om02 .artistList ul::after{
  content:'';
  display: block;
  width: 240px;
	margin-bottom: 65px;
	background-image: url(../img/ohmesse/comingsoon@2x.png);
	background-size:240px auto;
	background-color: transparent;
}

#om02 .artistList ul li{
	width: 240px;
	margin-bottom: 30px;
	margin-right: 20px;
}

#om02 .artistList ul li:nth-child(4n) {
	margin-right: 0px;
}

#om02 .artistList ul a, .artworkList ul a{
	display: block;
}

#om02 .artistList ul a:hover, .artworkList ul a:hover{
	opacity: 0.7;
}

#om02 .artistList ul span, .artworkList ul span{
	width: 220px;
	height: 220px;
	display: block;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	border: 10px solid #fff;
	box-sizing: content-box;
	background-color: #fff;
}

#om02 .artistList ul p{
	font-size: 9pt;
	color: rgba(0,0,0,0.8);
	margin-top: 5px;
}

/*03*/
p.toContact#om a{
	border: 2px solid #5baa34;
	color: #5baa34;
	font-size: 13pt;
}

p.toContact#om a:hover{
	background-color: #5baa34;
	color: #fff;
}

#om03 p.toContact#om a{
	margin-bottom: 150px;
}

#om03 .sponsor ul{
	width: auto;
	height: auto;
	display: table;
	margin: 0 auto;
	table-layout: fixed;
}

#om03 .sponsor ul li{
	width: 235px;
	height: 70px;
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}

#om03 .sponsor ul img{
	width: auto;
	max-height: 100%;
}


/*ArtistList 詳細ページ*/
.artistList_name{
	display: flex;
	justify-content: space-between;
	margin-bottom: 80px;
	background-image: url(../img/ohmesse/icon.svg);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 50px 50px;
	padding-left: 70px;
	height: 50px;
	align-items: center;
}

.artistList_name p{
	letter-spacing: 0.05em;
	text-align: left;
}

.artistList_name em{
	font-style: normal;
	font-weight: 600;
	font-size: 20pt;
}

.artistList_name span.spelling{
	font-size: 10pt;
}

.artistList_name span.drawing{
	font-weight: 600;
	font-size: 20pt;
}

.artistList_name span.drawing:before{
	margin-left: 30px;
	border-left:1px solid #999;
	width: 31px;
	height: 25px;
	content: "";
	display: inline-block;
	vertical-align: -2px;
}

.artistList_name a{
	display: block;
	border-radius: 5px;
	width: 120px;
	height: 30px;
	text-align: center;
	text-decoration: none;
	background-color: transparent;
	font-size: 8pt;
	line-height: 28px;
	color: #5ba934;
	border: 1px solid #5ba934;
}

.artistList_name a:hover{
	background-color: #5ba934;
	color: #fff;
}

#contents.artistList_wrap{
	background-color: #f8f8f8;
	margin-top: 0;
	padding-bottom: 30px;
}

#contents.artistList_wrap section{
	padding-top: 75px;
	width: 1025px;
	margin: 0 auto;
}

.artistList_picture{
	width: 600px;
	height: 450px;
	overflow: hidden;
	margin: 0 auto;
}

.artistList_picture img{
	display: block;
	width: 100%;
	height: auto;
}

.artistList_profile{
	margin-top: 90px;
	display: flex;
	justify-content: space-between;
}

.artistList_profile dl{
	width: 580px;
	height: auto;
}

.artistList_profile dt{
	font-weight: 600;
	margin-bottom: 10px;
}

.artistList_profile dd{
	font-size: 11pt;
	text-align: justify;
    text-justify: inter-ideograph;
	margin-bottom: 20px;
}
.artistList_profile dd p{
	text-align:left;
}

.artistList_profile_work{
	width: 364px;
	height: 364px;
	background-color: #fff;
	border: 10px solid #fff;
	box-sizing: content-box;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

p.artworkTitle{
	font-weight: 600;
	text-align: left;
	margin-bottom: 10px;
}

.artworkList ul{
	padding-bottom: 80px;
}

.artworkList ul li{
	width: 240px;
	margin-bottom: 20px;
	margin-right: 20px;
}

.artworkList  ul li:nth-child(4n) {
	margin-right: 0px;
}

.toOhmesse{
	margin-top: 100px;
}

.toOhmesse a{
	text-align: center;
	position: relative;
	margin-right: -20px;
}

.toOhmesse a:before{
	content: "";
	background-image: url(../img/ohmesse/cursol.svg);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 35px 4px;
	width: 35px;
	height: 4px;
	display: block;
	position: absolute;
	left: -40px;
	top: 10px;
}

/* modal */

.modal .table{
	display: table;
	margin: 0 auto;
	clear: both;
}

.modal img{
	width: auto;
	max-width: 1000px;
	max-height: 70vh;
	display: block;
	margin: 10px auto;
}

.modal p.title_year{
	text-align: left;
}

.modal p.size_price{
	text-align: right;
}

.closebutton{
background: url(../img/ohmesse/close.svg);
    background-position-x: 0%;
    background-position-y: 0%;
    background-repeat: repeat;
    background-size: auto;
    background-position: 3px 0px;
    background-repeat: no-repeat;
    background-size: 25px 25px;
	width: 30px;
	height: 30px;
	float: right;
}


/* SP版上書き ---------------------------------------- */

@media screen and (max-width:1024px){
	
	body{
		font-size: 11pt;
		width: 100vw;
		min-width: 100vw;
		overflow-x: hidden;
	}
	
	.pc_none{
		display: block;
    }
	.sp_none{
		display: none;
    }
	
	p{
		text-align: left;
	}
	
	article, footer{
		width: 100vw;
	}
	
	small{
		font-size: 8pt;
	}
	
	.h2_list{
		padding-top: 70px;
	}
	
	.h2_list::before {
		height: 300px;
		top: 0;
	}
	
	.radiusback{
		height: 270px;
		top: 100px;
	}
	
	h2 img {
		width: 50px;
		right: 5vw;
		top: 130px;
	}
	
	#contents {
		margin-top: 100px;
		padding-bottom: 50px;
	}
	
	#contents section{
		width: 85vw;
		margin-left: auto;
		margin-right: auto;
	}
	
	h3 {
    font-size: 16pt;
    margin-bottom: 25px;
	}
	
	#message .message_wrap {
		width: 100%;
	}
	
	#message .message_wrap div {
		width: 100%;
		margin-top: 30px;
	}
	
	#company table {
		width: 100%;
	}
	
	.message_logo{
		display: block;
		margin: 0 auto;
	}
	
	.contact_pic {
		background-position: center right;
	}
	
	.tel_time {
		text-align: center;
	}
	
	.tel {
		font-size: 24pt;
	}
	
	#contact_tel {
		margin-bottom: 75px;
	}
	
	#contact_tel p:last-of-type{
		text-align: center;
	}
	
	#contact_form table {
		width: 100%;
	}
	
	#contact_form th, #contact_form td{
		display: list-item;
		list-style-type: none;
		width: initial;
		height: initial;
	}
	
	#contact_form td{
		padding-top: 0;
	}
	
	#contact_form input{
		margin-left: 0;
		width: 100%;
		padding: 0;
	}
	
	#contact_form th br{
		display: none;
	}
	
	#contact_form .choice th{
		padding-bottom: 10px;
	}
	
	#contact_form .choice td, #contact_form .remarks td {
		padding-left: 0px;
	}
	
	#contact_form textarea {
		margin-bottom: 50px;
	}
	
	.mfp_buttons button {
		margin: 30px auto 0 auto;
	}
	
	
	/* googleusage*/
	#googleusage {
		overflow: hidden;
		height: 100vh;
	}
	
	#googleusage .h2_list::before {
		top: 0;
	}
	
	#googleusage .radiusback{
		height: 100vh;
		overflow: hidden;
		top: 100px;
		background-size: auto calc(100vh - 100px);
		background-position: top center;
	}
	
	#googleusage #scroll{
		display: none;
	}
	
	#googleusage .catch{
		bottom: initial;
		top: 150px;
	}
	
	#googleusage .catch em{
		font-size: 7vw;
		line-height: 1.6;
	}
	
	#googleusage h2 img {
		top: initial;
		transform: initial;
		bottom: 50px;
		right: 5vw;
	}
	
	#googleusage .catch p {
		font-size: 14pt;
	}
	
	.google_wrap h3{
		font-size: 14pt;
		margin-bottom: 50px;
		letter-spacing: 0.05em;
	}
	
	#contents.google_wrap section, #contents.ohmesse_wrap section{
		width: 100vw;
	}
	
	.section_wrap{
		width: 85vw;
		margin: 0 auto;
	}
	
	.google_wrap section, .ohmesse_wrap section {
		padding-top: 75px;
		padding-bottom: 75px;
	}
	
	#gu01 {
		padding-top:100px;
	}
	
	#gu01 p{
		text-align: center;
	}
	
	#gu01 dl{
		width: 100%;
		margin-bottom: 40px;
	}
	
	#gu01 dt{
		background-position: center top;
		padding-top: 10px;
		line-height: 1.6em;
		height: auto;
		margin-bottom: 20px;
		background-size: auto 40px;
		font-size: 12pt;
	}
	
	#gu01 .q01 ul{
		flex-wrap: wrap;
		height: initial;
	}
	
	#gu01 .q01 li {
		width: 100%;
		padding: 10px;
		margin-bottom: 15px;
	}
	
	#gu01 .q01 li img, #gu01 .q01 li:nth-child(2) img, #gu01 .q01 li:nth-child(3) img{
		margin: 0 auto;
	}
	
	#gu01 .q01 li p {
		position: relative;
		bottom: 0;
		transform: none;
	}
	
	#gu01 .q02 dd{
		height: inherit;
		line-height: 1.8em;
		padding: 15px;
	}
	
	#gu01 .q02 dd p{
		width: 90%;
		margin: 0 auto;
	}
	
	#gu01 strong{
		line-height: 1.6em;
		font-size: 12pt;
	}
	
	#gu01 .answer{
		width: auto;
		padding-left: 15px;
	}
	
	#gu01 .answer li:after{
		left: -20px;
		width: 10px;
		height: 5px;
	}
	
	#gu01 .cost{
		width: 100%;
		background-image: url(../img/sp/googleusage/qu01_costo.jpg);
		background-position: center;
		background-size: cover;
		height: auto;
		padding-top: 30px;
		padding-bottom: 30px;
	}
	
	#gu01 .cost p{
		width: 85%;
		line-height: 1.6em;
		margin-left: auto;
		margin-right: auto;
		font-size: 8pt;
	}
	
	#gu01 .cost a, #gu05 a{
		width: 85%;
	}
	
	#gu02 .product dl{
		width: 100%;
		line-height: 1.5em;
		height: auto;
		min-height: 80px;
		background-size: 60px 60px;
		padding-left: 80px;
	}
	
	#gu02 .product dt{
		padding-top: 0;
		padding-bottom: 5px;
		font-size: 13pt;
	}
	
	.streetview {
		padding-top: 20px;
	}
	
	.streetview iframe{
		width: 100%;
		height: 300px;
	}
	
	.streetview_other{
		padding-top: 50px;
		flex-wrap: wrap;
	}
	
	.streetview_other figure {
		width: 100%;
	}
	
	.streetview_other figure:first-of-type {
		margin-bottom: 30px;
	}
	
	.streetview_other figure img{
		width: 100%;
		height: auto;
	}
	
	#gu03 .preview{
		display: block;
		width: 100%;
		padding-top: 30px;
	}
	
	#gu03 .preview img {
		height: auto;
		width: 100%;
	}
	
	#gu03 .preview dl{
		margin-top: 20px;
	}
	
	#gu03 .preview dl:last-of-type{
		margin-top: 50px;
	}
	
	#gu03 .preview div{
		padding-left: 0;
	}
	
	#gu04 h4::after {
		width: 100%;
	}
	
	#gu04 .suport {
		background-image: none;
		width: 100%;
		height: auto;
		margin: 20px auto 70px auto;
		display: block;
		padding-left: 0;
		padding-right: 0;
		padding-top: 0;
	}
	
	#gu04 .suport dl {
		width: 100%;
		padding: 20px 20px 25px 20px;
		margin-bottom: 15px;
		background-color: #fff;
		border-radius: 13px;
	}
	
	#gu04 .tool ul{
		width: 100%;
		height: auto;
		flex-wrap:wrap;
		margin: 30px auto 70px auto;
	}
	
	#gu04 .tool ul li {
		width: 100%;
		height: 180px;
		margin-bottom: 15px;
		line-height: 1.6em;
	}
	
	#gu04 .tool ul li img{
		margin-bottom: 10px;
	}
	
	#gu04 h4 span {
		font-size: 15pt;
		width: auto;
		line-height: 1.4em;
		display: inline-block;
		transform: translate(-50%,0);
		left: 50%;
		padding-left: 15px;
		padding-right: 15px;
	}
	
	#gu04 h4:last-of-type span {
		width: 250px;
		line-height: 1.4em;
	}
	
	#gu04 .gu04-3 h4:after{
		margin-top: -15px;
	}
	
	#gu04 img.logotag{
		width: 100%;
	}
	
	#gu05 p, #om03 p{
		text-align: center;
	}
	
	#gu05 p:first-of-type, #om03 p:first-of-type{
		text-align: left;
	}
	
	.partnerlink{
		width: 100%;
	}
	
	
	/* ohmesse.php */
	section#comingsoon {
		min-height: calc(100vh - 80px);
		height: calc(100vh - 80px);
	}
	
	section#comingsoon p{
		text-align: center;
	}
	
	.ohmesse_wrap h3{
		margin-bottom: 30px;
	}
	
	#googleusage.ohmesse .catch em{
		font-size: 24pt;
		ine-height: 1.4em;
	}
	
	#om01 h3:first-of-type::after{
		width: 150px;
	}
	
	#om01 .howabout img{
		width: 100%;
		max-width: 800px;
		margin-top: 50px;
	}
	
	#om01 .howabout{
		margin-bottom: 75px;
	}
	
	#om01 .howabout p{
		text-align: justify;
		text-justify: inter-ideograph;
	}
	
	#om01 .howabout p br{
		display: none;
	}
	
	#om01 .artistNews dl{
		max-width: 100%;
	}
	
	.ohmesse_wrap section#om02{
		padding-bottom: 0px;
	}
	
	#om02 .artistList ul, .artworkList ul{
		width: 100%;
		display: flex;
		margin-left: -5px;
		justify-content: space-between;
	}
	
	#om02 .artistList ul li, .artworkList ul li{
		width: calc(48% - 5px);
		margin-right: 0px;
	}
	
	#om02 .artistList ul::after {
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		width: 48%;
		margin-right: -5px;
	}
	
	#om02 .artistList ul li span, .artworkList ul li span {
		display: block;
		height: 0;
		width: 100%;
		padding-bottom: 100%;
		background-size: cover;
		border: 5px solid #fff;
	}
	
	#om02 .artistList ul p{
		margin-top: 2px;
		text-align: center;
		font-size: 10pt;
	}
	
	#om03 p.toContact#om a {
		margin-bottom: 100px;
		width: 100%;
	}
	
	#om03 .sponsor ul{
		width: 100%;
		max-width: 500px;
		height: auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	
	#om03 .sponsor ul li{
		width: 45%;
		height: auto;
		display: block;
		align-self: center;
		margin-bottom: 10px;
		margin-left: 5%;
	}
	
	#om03 .sponsor ul img {
		width: 100%;
		max-height: unset;
	}
	
	.ohmesse_wrap section:last-of-type {
		padding-bottom: 0px;
	}
	
	#contents.artistList_wrap{
		padding-top: 50px;
	}
	
	#contents.artistList_wrap section{
		width: 85vw;
	}
	
	.artistList_name {
		display: block;
	}
	
	.artistList_profile{
		flex-wrap: wrap;
		margin-top: 50px;
	}
	
	.artistList_name{
		padding-left: 65px;
	}
	
	.artistList_name a{
		float: right;
		margin-top: 5px;
	}
	
	.artistList_name p{
		line-height: 1.6em;
	}
	
	.artistList_name em, .artistList_name span.drawing{
		font-size: 14pt;
	}
	
	.artistList_name span.spelling {
		font-size: 8pt;
	}
	
	.artistList_name span.drawing{
		display: block;
	}
	
	.artistList_name span.drawing::before {
		display: none;
	}
	
	.artistList_picture {
		width: 100%;
		height: auto;
	}
	
	.artistList_profile dl {
		width: 100%;
		margin-bottom: 20px;
	}
	
	.artistList_profile dd{
	margin-bottom: 0px;
}
	
	.artistList_profile_work {
		width: 50vw;
		height: 50vw;
		margin: 0 auto;
	}
	
	.artworkList ul{
		padding-bottom: 50px;
	}
	
	p.toContact#om a{
		width: 100%;
		font-size: 11pt;
	}
	
	.toOhmesse{
		text-align: center;
		margin-top: 50px;
	}
	
	.modal img{
		max-width: 100%;
	}
	
	/* contact.php */
	div#mfp_overlay_inner {
		min-width: 90vw;
	}
	
	#mfp_confirm_table th, #mfp_confirm_table td{
		width: 100%;
		text-align: left;
		display: block;
	}
	
	#mfp_confirm_table th{
		border-bottom: 0;
		padding-bottom: 0;
	}
	
	#mfp_confirm_table td{
		padding-top: 0;
	}
	
	#company td.works p {
    font-size: 10pt;
}
	
} /* SP版終わり */


@media screen and (max-width:1024px) and (orientation: landscape) {
	#googleusage .radiusback{
		height: 360px;
		background-size: 100% auto;
		background-position: center center;
	}
	
	#googleusage h2 img{
		width: 35px;
		top: 125px;
		bottom: initial;
		right: 6vw;
	}
	
	#googleusage{
		height: initial;
	}
	
	#googleusage .h2_list::before{
		height: 360px;
	}
	
	#gu01 .cost{
		background-size: 100% auto;
	}
	
	#gu04 .tool ul li {
		width: 48%;
	}
}


/* tablet版上書き ---------------------------------------- */

@media only screen and (min-width:768px) and (max-width:1024px) {
	.radiusback {
		background-size: 100vw auto;
	}
	
	p{
		text-align: center;
	}
	
	#contents.google_wrap section{
		width: 100vw;
	}
	
	.section_wrap{
		width: 90vw;
		margin: 0 auto;
	}
	
	#contact_form th, #contact_form td{
		display: table-cell;
		vertical-align: bottom;
	}
	
	#contact_form th{
		width: 110px;
	}
	
	#contact_form input{
		padding: 5px;
	}
	
	#contact_form .remarks th, #contact_form .remarks td {
		padding-top: 35px;
	}
	
	#contact_form .choice th, #contact_form .choice td{
		padding-top: 35px;
		padding-bottom: 0px;
	}
	
	#gu01 .cost{
		background-size: 100% auto;
	}
	
	#gu01 dt, #gu01 .cost p{
		font-size: 3vw;
	}
	
	#gu01 .q01 li {
		width: 48%;
	}
	
	.streetview_other{
		flex-wrap: nowrap;
	}
	
	.streetview_other figure {
		width: 48%;
	}
	
	.streetview_other figure:first-of-type {
		margin-bottom: 0px;
	}
	
	#gu04 .tool ul li {
		width: 48%;
		margin-right: 10px;
	}
	
	#gu04 img.logotag{
		width: 50%;
	}
	
	#gu03 .preview img{
		height: auto;
		width: 75%;
		margin: 0 auto;
		display: block;
	}
	
	#contact_form th br {
		display: block;
	}
	
	#gu05 p:first-of-type, #om03 p:first-of-type {
		text-align: center;
	}
	
} /* tablet版終わり */


/* tablet横版上書き ---------------------------------------- */
@media only screen and (min-width:768px) and (max-width:1024px) and (orientation: landscape) {
	
	#googleusage #scroll{
		right: 3vw;		
	}
	
	.streetview iframe{
		width: 100%;
		height: 500px;
	}
	
	#gu01, #om01 {
		padding-top: 150px;
		margin-top: -150px;
	}
	
	#gu01 dl {
		width: 100%;
	}
	
	#gu01 .q01 li {
		width: 24%;
	}
	
	#gu01 .cost {
		width: 100%;
	}
	
	#gu03 .preview {
		width: 100%;
	}
	
	#gu04 .suport{
		background-size: 100% auto;
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
		padding-top: 20px;
	}
	
	#gu04 h4::after {
		width: 100%;
	}
	
	#gu04 .tool ul{
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	
	#gu04 .tool ul li{
		width: 24%;
		margin-right: 5px;
	}
	
	.artistList_profile dl {
		width: calc(100% - 450px);
	}
	
	.artistList_profile_work{
		margin: 0;
		width: 400px;
		height: 400px;
	}
	
} /* tablet横版終わり */






/* 印刷用 ---------------------------------------- */
@media print{
	*{
		transition-property: none !important;
		animation-name: none !important;
		opacity: 1 !important;
		font-family:initial;
	}
}

