:root{
	--bg-1: #ffffff;
	--bg-2: #E5EBF3;
	--bg-top-banner: #C6D8E9;
	--bg-menu: #0D1D51;
	--bg-menu-hover: #717795;
	--color-links: #091231;
	font-size: 18px;
}

.en{
	font-family: 'Open Sans', sans-serif;
}

.jp{
	font-family: 'Noto Sans JP', sans-serif;
}

body{
	margin:0;
	height: 100%;
	background:var(--bg-1);
}
*{
	top:0;
	left:0;
}

a{
    min-height: 1.2222rem;
    color: var(--bg-menu);
    font-size: 1rem;
    line-height: 1.2222rem;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    text-decoration: underline;
}
p>a,
p>strong{
	display: inline;
}

#main_layer{
	height: 100%;
	box-sizing: border-box;
	padding-top:3.7222rem;
	opacity:1;
}
.loading #main_layer{
	opacity:0;
}
#outer_content{
	overflow: auto;
	box-sizing: border-box;
	overflow-y:auto;
	height:100%;
}
.sections{
	display:block;
	width:100%;
	background:var(--bg-1);
	/* min-width: 61.1111rem; */
	/*overflow: hidden;*/
	overflow:visible;
}
.sections:nth-child(1){
	z-index:100;
}
.sections:nth-child(2){
	z-index:99;
}
.sections:nth-child(3){
	z-index:98;
}
.sections:nth-child(4){
	z-index:97;
}
.sections:nth-child(5){
	z-index:96;
}
.centered{
	display:block;
	width:100%;
	max-width:61.1111rem;
	/* width: 61.1111rem; */
	margin:0 auto;
	padding:0 1.1111rem;
	box-sizing:border-box;
}

#header{
	position:absolute;
}

#header, #header .always{
	width: 100%;
}

#header .always{
	display: inline-grid;
	grid-template-columns: auto 1fr;
	height: 3.7rem;
	max-height: 3.7rem;
	box-sizing: border-box;
	box-shadow: 0 0 1rem #777;
	background: var(--bg-menu);
	overflow:hidden;
}

#header li::after{
	position: absolute;
	content: "";
	top: 35%;
	width: 0.0556rem;
	height: 30%;
	background: #fff;
}

#header .always::before{
	left:11rem;
}

#header img{
	float:left;
	width: auto;
	padding: 1rem 2.5rem;
	height: 3.7rem;
	box-sizing: border-box;
}

#header .always ol {
    display: grid;
    grid-template-columns: auto auto auto auto auto auto auto auto;
    overflow: hidden;
    height: 100%;
}

#header li{
	width: 100%;
	line-height: 1rem;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 0.7rem;
	color: #fff;
	float: left;
	min-height: 2rem;
	text-align: center;
	/* padding: calc(4.545% - 1.9056rem); */
	/*padding-left: calc(5% - 1.9444rem);
	padding-right: calc(5% - 1.9444rem);*/
	/* padding-top: 0.8333rem; */
	/* padding-bottom: 0.8889rem; */
	border-bottom: none;
}
#header li.local{
	background: var(--color-links);
}

#header li br{
	display:none;
}

#header li span {
	font-size: inherit;
	line-height: inherit;
	cursor: inherit;
	top: 50%;
	transform: translateY(-50%);
}
#header .deactivated span {
	color: #999;
}

#header li::after{
	left: -0.0556rem;
}

#header li:hover, 
#header li:hover:nth-child(10), 
#header li:hover:nth-child(11){
	background: var(--bg-menu-hover);
	/* z-index: 2; */
}
#header .deactivated:hover{
	background: transparent;
	cursor:not-allowed
}

#header li.current:hover, 
#header li.current{
	color: #000;
	background:var(--bg-1);
	z-index:3;
}

#header li:not(.deactivated):hover::after, 
#header li.current::after {
	/* opacity:0; */
}

#header li:nth-child(10), 
#header li:nth-child(11){
	background:rgb(119, 2, 12);
}

#header li:nth-child(10)::after{
	display:none;
}

.display_types{
	background:var(--bg-top-banner);
	overflow: hidden;
}

.display_types img {
	width: 59.5556rem;
	width: 100%;
	height: auto;
}

.sections p, 
.sections h5, 
.sections span, 
.sections dt, 
.sections dd{
	display:block;
	min-height: 1.2222rem;
	color: rgb(127, 127, 127);
	font-size: 1rem;
	line-height: 1.2222rem;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
}
.sections p, 
.sections h5, 
.sections span{
	text-align: justify;
	hyphens: auto;
}

p.additional_msg {
	margin-top: 2.5rem;
}

.sections h5{
    color:#000;
}

p.subtitle {
	margin-top: 1.1111rem;
	text-align: center;
}

.general_types {
	/* background: #F0F0F0; */
}
.general_types.first {
	/* padding-top: 2.2222rem; */
}
.general_types._1st {
	padding-top: 2.2222rem;
	margin-bottom: -2.2222rem;
}
[name='THE_AGENCY'] ._1st{
	margin-bottom: 0;
	padding-top: 0;
}

.general_types.white {
    background:var(--bg-1);
}

.general_types .centered{
	padding-bottom:2.2222rem;
	border-bottom:0.0556rem solid #7F7F7F;
}
.general_types .no_border{
	border-bottom: none;
}

.general_types .first,
.gallery_types .first,
.customers_types .first {
	padding-top:2.2222rem;
	white-space: pre-wrap;
}
.customers_types ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 0;
	row-gap: 0.5rem;
	padding-top: 3.3333rem;
	padding-bottom:0;
	width: 100%;
}

.general_types .second, .magazine_types .second{
	margin-top: 3.0556rem;
	min-height: 18.3333rem;
}

.general_types .main_imgs{
	position: absolute;
	width: 43%;
	height: 100%;
	/* float:left; */
	max-width: initial;
	object-fit: cover;
}

.general_types.variant_2 .main_imgs{
	position: absolute;
	width: 43%;
	height: 100%;
	max-width: initial;
}
.general_types.mirrored.variant_2 .main_imgs{
	left: auto;
	right: 0;
}

.general_types.mirrored .main_imgs{
	/* float:right; */
	left: auto;
	right: 0;
}

.general_types .text_boxes{
	width: 54%;
	margin-left: 46%;
	float:right;
}

.general_types.variant_2 .text_boxes{
	width:54%;
	margin-left: 46%;
	height: min-content;
}

.general_types.mirrored .text_boxes{
	margin-left: 0;
	margin-right: 46%;
}

h1 {
	top:0;
	width:100%;
	min-height: 2rem;
	padding-top: 4.7222rem;
	color: #000;
	font-size: 1.83rem;
	text-align: center;
	line-height: 2rem;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	text-transform: uppercase;
}
.sections h1 span {
	min-height: inherit;
	color: inherit;
	font-size: inherit;
	text-align: inherit;
	line-height: inherit;
	font-family: inherit;
	font-weight: inherit;
}
h2{
	text-transform: uppercase;
}

h2,
.general_types .text_boxes h2, 
.general_types.variant_3 h2{
	top:0;
	width:100%;
	min-height: 2rem;
	color: #000;
	font-size: 1.7rem;
	text-align: right;
	line-height: 2rem;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
}

.general_types.mirrored .text_boxes h2{
	text-align:left;
}

stress, .left p a{
	min-height: inherit;
	font-size: inherit;
	line-height: inherit;
	font-family: inherit;
	font-weight: inherit;
	color: rgb(127, 127, 127);
}

.general_types .text_boxes p{
	width:100%;
	margin-top:1.1111rem;
	text-align:right;
	white-space: pre-wrap;
}

.general_types.mirrored p{
	text-align:left;
}

.general_types.variant_2 .text_boxes p{
	text-align:justify;
}

.general_types.variant_2 .text_boxes p span{
	margin-left: 1.6667rem;
	font-size:inherit;
	line-height:inherit;
	text-align:inherit;
	text-justify: inter-character;
}

.general_types.variant_2 .text_boxes p span::before {
	content: "-";
	position: absolute;
	left: -1.1111rem;
}

.form_types .buttons, 
.customers_types .buttons, .profile_types .buttons, .gallery_types .buttons.more, .magazine_types .buttons.more {
	position: absolute;
	top:auto;
	left:auto;
	bottom: 0;
	right: 0;
	min-width: 11.1111rem;
	line-height: 1.4rem;
	font-size: 1.1rem;
	padding: 0.6rem 0;
	letter-spacing: 0;
	text-align: center;
	color: var(--bg-menu);
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	border: 0.0556rem solid var(--bg-menu);
	border-radius:1.4444rem;
	overflow:hidden;
}

.general_types .buttons {
	float: right;
	margin-top:2.7778rem;
	min-width: 11.1111rem;
	line-height: 1.2rem;
	padding: 0.8rem 0;
	font-size: 1.1rem;
	letter-spacing: 0;
	text-align: center;
	color: var(--bg-menu);
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	border: 0.0556rem solid;
	border-radius:1.4444rem;
	overflow:hidden;
}

.general_types.mirrored .buttons{
	float: left;
}

.general_types .buttons span, .form_types .buttons span, .customers_types .buttons span, .profile_types .buttons span, .gallery_types .buttons.more span, .magazine_types .buttons.more span {
	box-sizing: border-box;
	min-width: 100%;
	height: 100%;
	padding: 0 1.6667rem;
	font-size: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	text-align: inherit;
	color: inherit;
	font-family: inherit;
	font-weight: inherit;
}

.general_types .buttons:hover, .form_types .buttons:hover, .customers_types .buttons:hover, .profile_types .buttons:hover, .gallery_types .buttons.more:hover, .magazine_types .buttons.more:hover {
	background: var(--bg-menu);
	color:#fff;
}

.deactivated .general_types .buttons:hover, 
.general_types .buttons.deactivated:hover, 
.deactivated .form_types .buttons:hover, 
.form_types .buttons.deactivated:hover, 
.gallery_types .buttons.deactivated:hover {
	background: transparent;
	color: rgb(199, 0, 18);
}

.general_types.last, 
.profile_types.last, 
.gallery_types.last {
	/* padding-top: 2.2222rem; */
	padding-bottom: 4.4444rem;
	/* border-bottom: 0.1111rem solid #000; */
}

.general_types._3rd {
	padding-top: 2.2222rem;
}
.general_types.last .centered{
	border:none;
}

.gallery_types h2, 
.magazine_types h2, 
.customers_types h2, 
.form_types h2, 
.faq_types h2{
	top:0;
	width:100%;
	min-height: 2rem;
	margin-top:2.5rem;
	color: #000;
	font-size: 1.6667rem;
	text-align: center;
	line-height: 2rem;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
}

.gallery_types ul, .gallery_types ol {
	/* margin: 1.9444rem -0.5556rem 0 -0.5556rem; */
	/* width: calc(100% + 1.1111rem); */
	margin-top: 1.9444rem;
	width: 100%;
}

.gallery_types li {
	display: inline-block;
	/* width: 10.8889rem; */
	/* height: 16.4444rem; */
	width: 100%;
	aspect-ratio: 0.75;
	/* margin: 0.5556rem; */
	/* float: left; */
	background:#ccc;
	overflow:hidden;
	cursor: pointer;
}

.gallery_types li.sleeping{
	top: 0;
}
.gallery_types li:nth-child(5n+1).sleeping{
	transform: translateX(-30%);
}
.gallery_types li:nth-child(5n+2).sleeping{
	transform: translateX(-40%);
}
.gallery_types li:nth-child(5n+3).sleeping{
	transform: translateX(-50%);
}
.gallery_types li:nth-child(5n+4).sleeping{
	transform: translateX(-60%);
}
.gallery_types li:nth-child(5n+5).sleeping{
	transform: translateX(-70%);
}
.gallery_types li:nth-child(5n+6).sleeping{
	transform: translateX(-80%);
}
.gallery_types li:nth-child(5n+7).sleeping{
	transform: translateX(-90%);
}

.gallery_types li .img{
	width: 100%;
	height:100%;
	object-fit: cover;
	object-position: center;
}

.gallery_types li .img{
	/* left:-50%; */
	/* height:100%; */
}

.gallery_types li:hover .img {
    transform: scale(1.2);
}

.gallery_types li span{
	position:absolute;
	top:auto;
	bottom:0;
	left:0;
	width: 100%;
    min-height: 1.7778rem;
    background-color: rgba(0, 0, 0, 0.5);
    color: rgb(255, 255, 255);
    font-size: 1.1111rem;
    text-align: center;
    line-height: 1.7778rem;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
}

.gallery_types .buttons.more, .magazine_types .buttons.more{
	position: relative;
	display: block;
	width: 12.7778rem;
	margin: 2.2rem auto 0 auto;
}

p.final{
	margin:2.5rem auto;
	display: inline-block;
	text-align: center;
	width: 100%;
}

p.final span, p.final a{
	text-align: left;
	width:auto;
	float: none;
}
/*
.magazine_types{
	background:rgb(240, 230, 230);
	overflow:hidden;
}

.magazine_types .left{
	width:52%;
	float:left;
}

.magazine_types .left .top_imgs{
	width:100%;
	height: 20.2778rem;
	overflow: hidden;
	border: none;
}

.magazine_types .left img{
	height: 100%;
	margin-left: -9.6111rem;
}

.magazine_types .left h4{
	width:100%;
	margin-top:2.7778rem;
	min-height: 2rem;
	color: #C70012;
	font-size: 1.6667rem;
	text-align: justify;
	line-height: 2rem;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
}

.magazine_types .left p{
	width:100%;
	min-height: 1.5556rem;
	margin-top:1.6667rem;
	color: rgb(127, 127, 127);
	font-size: 1rem;
	text-align: justify;
	line-height: 1.2222rem;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
}

.magazine_types .left p a {border: none;}

.left p a{
	color: rgb(199, 0, 18);
}

.magazine_types .right{
	width:44%;
	float:right;
}

.magazine_types .right li{
	width: 100%;
	box-sizing: border-box;
	border: 0.0556rem solid #000;
	padding: 0.8333rem 1.3889rem;
	margin-bottom: 1.6667rem;
}

.magazine_types .right li .circles {
	height:6.4444rem;
	width: 6.4444rem;
	float: left;
	border-radius: 3.2222rem;
	overflow: hidden;
}
.magazine_types .right li .circles img{
	height: 100%;
	left: -0.7222rem;
}

.magazine_types .right li p{
	position: absolute;
	left: 9.4444rem;
	top: 50%;
	margin-right: 1.3889rem;
	text-align:justify;
	color: #C70012;
}

.magazine_types .right li p span:nth-child(1) {
	opacity: 0;
}

.magazine_types .right li p span:nth-child(2) {
	position: absolute;
	color: inherit;
	top: -50%;
}
*/

.customers_types{
	/* background:#F0F0F0; */
	padding-bottom: 3.3333rem;
}

.customers_types .second{
	margin:2.5rem 0;
	height:37.6111rem;
}

.customers_types li{
	/* float: left; */
	width: 100%;
	/* aspect-ratio: 1.98; */
	/* min-height: 5.5556rem; */
	color: #000;
	/* margin-bottom: 1.1111rem; */
}
.customers_types li img{
	width: 100%;
	height: auto;
}

.customers_types li.sleeping{
	transform: translateY(15%);
}
.customers_types .sleeping.left{
}
.customers_types .sleeping.right{
}



.form_types{
	background-color: var(--bg-2);
	padding: 1.1111rem 0 4.4444rem 0;
}
.form_types p {
	top:0;
	color: #000;
	margin-top: 0.5556rem;
}

.form_types ol {
	top:0;
	width: 48%;
	margin-top: 1.7rem;
}

.form_types li {
	width:100%;
	margin-bottom:1.1111rem;
}

.form_types li special_1{
	width:32%;
}

.form_types li special_2{
	float:right;
	width:60%;
}

.form_types li special_3{
	width:58%;
}

.form_types li special_4{
	float:right;
	width:34%;
}

.form_types .left{
	float:left;
}

.form_types .right{
	float:right;
}

.form_types span {
	width:100%;
	min-height: 1.3333rem;
	color: #6B6B6B;
	font-size: 1.1111rem;
	line-height: 1.3333rem;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
}

.form_types .input_fields.textareas{
	height:8.8889rem;
}

.form_types .centered{
	overflow:hidden;
}

.form_types .messages {
	display:none;
	/* float: right; */
	width: 48%;
	min-height: 1.1111rem;
	font-size: 1rem;
	line-height: 1.1111rem;
	font-weight: 600;
}

.form_types.success .success_msgs {
	float: left;
	display:inline-block;
	color:#070;
}

.form_types.errors .error_msgs {
	float: left;
	display:inline-block;
	color:#f00;
}

.sections.form_types .buttons{
	position: absolute;
	bottom: 1.1111rem;
	left: 1.1111rem;
	right: auto;
	/* bottom: 0; */
	/* right: auto; */
	/* top: 5.3rem; */
	margin: 0;
}

.form_types .sending_texts{
	display:none;
	position:absolute;
	animation:1s linear infinite alternate blinking;
	width: 100%;
	min-height: 1.8889rem;
	font-size: 1.3333rem;
	line-height: 1.8889rem;
	font-weight: 600;
	text-align: center;
	font-family: 'Open Sans', sans-serif;
	top: 50%;
	cursor: default;
}

.form_types.sending .centered{
	opacity:0.5;
}

.form_types.sending .sending_texts {
    display:block;
}
.form_types.sending .buttons a, 
.form_types.sending input, 
.form_types.sending select, 
.form_types.sending textarea {
    display: none;
}



/*
.form_types .centered .sleeping{
	opacity:0;
	top:10vh;
}
*/
.sections .sleeping{
	opacity:0;
	/* top:10vh; */
	transform: translateY(10vh);
}

.sections img.sleeping{
	opacity:0;
	top:0;
}


.banner_types {
	padding: 1.6667rem 0;
	border-bottom: 0.1667rem solid #00f;
	box-shadow: 0 0 1vw #777;
}



.profile_types {
	padding-top: 2.2222rem;
	/* background:#ededed; */
	overflow: hidden;
}

.profile_types div:has(.main_pics){
	width: 100%;
	height: 90%;
}

.profile_types .color_bgs {
	position: absolute;
	top: auto;
	bottom: 0;
	left: 1.1111rem;
	width: 100vw;
	min-width: 100%;
	height: 100%;
	background: #ededed;
}

.profile_types .main_pics {
	width: 50%;
	/* height: 32rem; */
	aspect-ratio: 0.8;
	margin-top: -9.5rem;
	z-index:2;
	/* overflow: hidden; */
	object-fit: cover;
	object-position: center;
}
/*
.profile_types .main_pics.sleeping{
	opacity:0;
}
*/
.profile_types .info_blocks {
	float: right;
	width: 48%;
	box-sizing: border-box;
}

.profile_types h2.name,
.profile_types h1 {
	float: right;
	text-align: left;
	width: 48%;
	padding-bottom: 1.6rem;
	line-height: 0;
	height: 8rem;
	margin-top: 2rem;
	font-family: "RobotoLight", Helvetica, Arial, sans-serif;
	font-weight: 500;
	padding-top: 0;
}
.profile_types h1 strong{
	display: inline-block;
	font-size: 3.5rem;
	line-height: 0.9;
	font-weight: normal;
	max-width: 100%;
	max-height: 6.3rem;
	overflow: hidden;
	text-overflow: ellipsis;
}

.profile_types h2.sleeping{
	top:0;
	left:-10vw;
}

.profile_types i,
.profile_types small {
	font-family: inherit;
	line-height: 1;
	font-weight: 600;
	font-family: 'Open Sans', sans-serif;
}
.profile_types i {
	/* display: inline; */
	font-size: 0.8rem;
}
.profile_types h1 small {
	width: 100%;
	font-size: 0.97rem;
	margin-top: 0.5rem;
}

.profile_types .right {
	float:right;
	width: 50%;
}
.profile_types .right>div {
	width: 100%;
	margin-bottom: 1.4rem;
}

.profile_types .profile_data{
	top:0;
	width:100%;
	margin-top: 1.5rem;
}
.profile_types .profile_data ol{
	width: 50%;
}
/*
.profile_types .profile_data.sleeping{
	top:10vh;
}
*/
.profile_types .profile_data li, .profile_types .right span{
	display:block;
}

.profile_types .right span{
	text-align:right;
}

.profile_types .profile_data span,
.profile_types .profile_data dt,
.profile_types .profile_data dd{
	font-family: "RobotoLight", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	line-height: 1.3rem;
	/* height: 2.6rem; */
	color:#7d7b7b;
}

.profile_types .profile_data li{
	margin-bottom: 0.8rem;
}

.profile_types .profile_data li span,
.profile_types .profile_data dt,
.profile_types .profile_data dd{
	display:inline-block;
	/* max-width: 58%; */
	text-align: left;
	white-space: break-spaces;
}

.profile_types .profile_data span:nth-child(2n+1),
.profile_types .profile_data dt{
	font-weight:700;
	color:#000;
}
.profile_types .profile_data dl{
	display: grid;
	grid-template-columns: auto 1fr;
}
.profile_types .profile_data dt{
	/* float:left; */
	font-weight:700;
	color:#000;
	padding-right: 0.5rem;
}

.profile_types .thumbs_containers{
	padding: 0;
	margin-top:1.1111rem;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
	grid-gap: 1.1111rem;
}

.profile_types .thumbs_containers li {
	width: 100%;
	aspect-ratio: 0.67;
	overflow:hidden;
}
/*.profile_types .thumbs_containers li div {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	cursor: pointer;
}*/
.profile_types .thumbs_containers li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	cursor: pointer;
}
.profile_types .thumbs_containers li:hover img{
	transform: scale(1.5);
}

.profile_types .thumbs_containers li a {
	position: absolute;
	width:100%;
	height:100%;
}

.profile_types .buttons {
    position: relative;
    display: block;
    margin: 2.5rem auto 2rem auto;
    width: 15rem;
}

.input_fields{
	width: 100%;
	margin-top: 0.2222rem;
}

.input_fields span, 
.input_fields input, 
.input_fields select, 
.input_fields textarea{
	top: 0;
	left: 0;
	min-width:100%;
	width:100%;
	max-width:100%;
	min-height:100%;
	height:100%;
	max-height:100%;
	border: 0.0556rem solid #C4C4C4;
	box-sizing: border-box;
	padding: 0.3333rem;
	min-height: 1.9444rem;
	font-size: 0.9444rem;
	line-height: 1.1667rem;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	color:#000;
}

.input_fields span{
	/*z-index:2;*/
}

.input_fields input, 
.input_fields select, 
.input_fields textarea{
	position: absolute;
	background-color: transparent;
}
.input_fields textarea{
	min-height: 100%;
}

/* background-color, not the shorthand: it must not wipe the caret drawn as a
   background-image on the selects. */
.input_fields.filled span,
.input_fields.filled input, 
.input_fields.filled select, 
.input_fields.filled textarea{
	background-color:var(--bg-1);
}

.input_fields input:focus, .input_fields:hover input, 
.input_fields select:focus, .input_fields:hover select, 
.input_fields textarea:focus, .input_fields:hover textarea{
	background-color:var(--bg-1);
	border-color:#000;
	z-index:3;
}

.deactivated .buttons a, 
.buttons.deactivated a, 
.deactivated .input_fields input, 
.input_fields.deactivated input, 
.deactivated .input_fields select, 
.input_fields.deactivated select, 
.deactivated .input_fields textarea, 
.input_fields.deactivated textarea{
	display:none;
}

.input_fields.errors input, 
.input_fields.errors select, 
.input_fields.errors textarea{
	background-color:#ff8;
	border-color:#f00;
}



.footer_types .stripes{
	width: 100%;
	padding: 1.1111rem 0;
	/* min-height: 3.3333rem; */
}
.footer_types .stripes.black{
	background: #000;
}
.footer_types .stripes.last{
	padding-bottom: 0;
}
.footer_types .stripes .three{
	display: grid;
	grid-template-columns: repeat(3,auto);
	align-items: center;
	justify-content: space-between;
}
.footer_types .stripes a {
	display: grid;
	grid-template-columns: auto auto;
	border-bottom: none;
	width: fit-content;
	color: #fff;
	line-height: 2.2rem;
	height: 2.2rem;
	text-decoration: none;
}
.footer_types .stripes a:has(img) {
	display: block;
	
}
.footer_types .stripes a *{
	cursor: inherit;
	color: inherit;
}
.footer_types .stripes a>div,
.footer_types .stripes a>span{
	padding: 0.2rem;
	height: 1.6rem;
	/* margin-top: 0.4444rem; */
	line-height: 1.7rem;
	text-align: center;
}
.footer_types .stripes a>div{
	border: 0.0556rem solid;
	border-radius: 50%;
	aspect-ratio: 1;
}
.footer_types .stripes .phone::before{
	content: "phone_in_talk";
}
.footer_types .stripes .email::before{
	content: "phone_in_talk";
}
.footer_types .stripes img{
	height: 100%;
	width: auto;
	object-fit: contain;
}
.footer_types .stripes.last img{
	width: 100%;
	height: auto;
}
.footer_types .stripes.last .logo{
	position: absolute;
	left: calc(var(--mobile-margins) + 4.1%);
	top: 13%;
	width: 12%;
	height: auto;
}

.footer_types .centered {
	overflow: hidden;
}

.footer_types .bg{
	position:absolute;
	top:auto;
	bottom:0;
	left: 12.7778rem;
	width: 26.6667rem;
	opacity:0.3;
}

.footer_types .left{
	float: left;
	width:35%;
	width: min-content;
	z-index: 2;
}

.footer_types .left .logos ._0 {
	height: 2.9444rem;
	width: auto;
	margin-left: -0.2222rem;
}
.footer_types .left .logos._1 {
	height: 2.7778rem;
	width: auto;
}
.footer_types .left .logos {
	margin-bottom:1.1111rem;
	border: none;
}
.footer_types .left .logos.non_retina{
	display:block;
}
.footer_types .left .logos.retina{
	display:none;
}

.footer_types .right{
	display:inline-block;
	float: right;
	width:65%;
	width: auto;
	margin: 0 0 0.8333rem auto;
	z-index: 2;
}

.footer_types .right li{
	display:block;
	height:1.6111rem;
	margin: 0 0 1.1111rem auto;
}

.footer_types .right li *{
	float:right;
	margin-left:1.1111rem;
	width: 1.6667rem;
	height: auto;
}

.footer_types .right li span, 
.footer_types .right li a{
	color: #FFFFFF;
	font-size: 1.1667rem;
	text-align: right;
	line-height: 1.6111rem;
	font-family: pt-sans-narrow, sans-serif;
	font-weight: 400;
	min-width:15.5556rem;
	border: none;
}



.gallery_types ul {
	display: inline-grid;
	width: 100%;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	grid-gap: 0.5556rem;
}





.top_hostesses{
	/* background: #F0F0F0; */
}

.top_hostesses h2 {
	text-align:left;
}

.top_hostesses ul {
	display: inline-grid;
	width: 100%;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	grid-gap: 0.5556rem;
}

.top_hostesses li {
    /* display: none; */
    width: 7.4444rem;
    width: 100%;
    aspect-ratio: 0.75;
    /* height: 11.2222rem; */
    margin: 0;
    /* float: left; */
    background: #ccc;
    overflow: hidden;
    cursor: pointer;
}

.top_hostesses li span {
    min-height: 1.3889rem;
    font-size: 0.8889rem;
    line-height: 1.3889rem;
    font-weight: 400;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.top_hostesses li:nth-child(-1n+28) {
    display: inline-block;
}




.customers_types.variant_2{
    /* padding: 3.2222rem 0; */
    /* padding-top: 2.2222rem; */
    overflow: hidden;
}

.customers_types.variant_2 .left li.sleeping{
	top:0;
	left:-20vh;
}

.customers_types.variant_2 .text_boxes{
	width:47%;
	margin-left:3%;
}

.customers_types.variant_2 h2{
	text-align:right;
	margin-top: 0;
}





.general_types.variant_3{
	/* padding-top: 3.0556rem; */
	padding-top: 2.2222rem;
	padding-bottom: 5.2778rem;
}

.general_types.variant_3 h2{
	margin-top:3.0556rem;
}

.general_types.variant_3 .first{
	padding-top: 2.5rem;
}

.general_types.variant_3 .second{
	margin-top:0;
}

.general_types.variant_3 .text_boxes h2{
	text-align:left;
}

.general_types.variant_3 .second h5{
	margin-top: 1.6667rem;
}

.general_types.variant_3 .second p{
	text-align:justify;
	margin-top: 0;
}

.general_types.variant_3 .left{
	width:25%;
	overflow: hidden;
	margin-top: 3.0556rem;
}

.general_types.variant_3 .left img{
	width: 14.5556rem;
	margin-top: 3.8889rem;
}

.general_types.variant_3 .left img:nth-child(1){
	margin-top:0;
}

.general_types.variant_3 .text_boxes{
	width:72%;
	overflow: hidden;
}

.general_types.variant_3 .centered{
	border-bottom:0;
	padding-bottom: 0;
}

.general_types.variant_4 .second {
	width: 100%;
	height: min-content;
}
.general_types.variant_4 .centered {
	border: none;
	padding-bottom: 0;
}

.general_types.variant_4 .text_boxes p {
	margin-top: 1rem;
}
.general_types.variant_4 .main_imgs {
	max-width: none;
	/* width: 28.3333rem; */
	object-fit: cover;
	object-position: center;
}
.general_types.variant_4.last .main_imgs {
	height: auto;
}
.general_types.variant_4 .text_boxes {
	/* width: 28.3333rem; */
}
.general_types._2nd .main_imgs.right {
	float: right;
	margin-top: 1.5556rem;
}
.general_types._2nd .main_imgs.desktop.right {
	position: relative;
	width: 54%;
	margin-left: 46%;
}
.general_types._3rd .main_imgs {
	float: right;
}
.general_types._4th .main_imgs.left {
	height: 100%;
}
.general_types._4th .main_imgs.right {
	position: relative;
    float: right;
    width: 54%;
}
.general_types._4th .text_boxes {
	float: left;
	margin-top: 0.9444rem;
}
.general_types._4th h2 {
	width: auto;
}
.general_types.variant_4 .centered.last {
	padding-bottom: 2.2222rem;
    border-bottom: 0.0556rem solid #7F7F7F;
}
.general_types.variant_4 a {
	border: none;
	margin-left: 0.5556rem;
}
.general_types.variant_4 .icons {
	width: 1.9444rem;
	height: auto;
}





.customers_types.variant_3{
	/* padding-top:2.2222rem; */
	padding-bottom: 2.7778rem;
}

.customers_types.variant_3 h2{
	text-align:left;
}

.customers_types.variant_3 p{
    margin-top:2.2222rem;
}

.customers_types.variant_3 .images_boxes{
	display: inline-grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem;
	width: 40%;
	margin-top: 2.9rem;
}

.customers_types.variant_3 img{
    width: 100%;
}

.customers_types.variant_3 img:first-child{
    grid-column: span 2;
}

.customers_types.variant_3 .text_boxes{
	float: right;
	width: 50%;
}

.customers_types.variant_3 .text_boxes h2, .variant_3 .text_boxes li{
	margin-bottom: 2rem;
	width: 100%;
}

.customers_types.variant_3 .sleeping.right {
	opacity:0;
	/* top: 0; */
	transform: none;
	left: 20vw;
}

.customers_types.variant_3 .text_boxes p{
	margin-top:0;
}

.customers_types.variant_3 .text_boxes li:before{
	content: attr(data-reason);
	position: absolute;
	left: -3.4rem;
	width: 2.2222rem;
	height: 2.2222rem;
	line-height: 2.2222rem;
	font-size: 1rem;
	text-align:center;
	background:#000;
	color: #fff;
	border-radius: 1.1111rem;
}

.customers_types.variant_3 .text_boxes .buttons{
    bottom: 2rem;
    left: -100%;
    right: auto;
}

.customers_types.variant_3 .last p{
	text-align:right;
}

.customers_types.variant_3 .last a{
	font-size: inherit;
	line-height: inherit;
	color: rgb(199, 0, 18);
}






.faq_types{
	padding-bottom:2.2222rem;
}

.faq_types h2{
    padding-bottom:0.5556rem;
}

.faq_types li{
	width:100%;
	margin-top: 2.5rem;
	overflow: hidden;
}

.faq_types li div{
    width: 100%;
    z-index: 2;
    background: var(--bg-2);
    overflow: hidden;
}

.faq_types li div span{
	display: inline-block;
	position: absolute;
	width: auto;
	padding-left: 2rem;
	line-height: 2rem;
	height: 2rem;
	hyphens: unset;
	overflow: hidden;
	color: #000;
	font-size: 1.5556rem;
	top: 50%;
	transform: translateY(-50%);
}

.faq_types li div span qst{
	font-size:inherit;
	line-height:inherit;
	overflow: hidden;
	width: 1.1667rem;
	float: left;
}

.faq_types li.expanded div span qst{
	width: 7.2222rem;
}

.faq_types li div p{
	box-sizing: border-box;
	width: calc(100% - 6.5rem);
	margin-left: 6.5rem;
	background: var(--bg-menu);
	color:#fff;
	font-size: 1.1111rem;
	hyphens: unset;
	text-align: left;
	line-height: 1.4444rem;
	padding: 1rem 6% 1rem 6%;
	text-transform: uppercase;
}

.faq_types li.expanded div p{
	width: calc(100% - 12rem);
	margin-left: 12rem;
	background: #000;
}

.faq_types li div img{
    position:absolute;
    width: 1.3889rem;
    aspect-ratio: 1.5;
    left: auto;
    right: 1%;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
}

.faq_types li.expanded div img{
    transform: translateY(-50%) rotate(180deg);
}

.faq_types li .answers{
	padding-top: 1.6667rem;
	width: 100%;
	text-align: justify;
	hyphens: auto;
	float: left;
	margin-top: -60vh;
	height: 50vh;
}

.faq_types li.expanded .answers{
	margin-top:0;
	/* height: auto; */
	height: min-content;
}

.faq_types li .answers span{
	margin-left:2.2222rem;
}

.faq_types li .answers span::before{
    content:"\25CF";
    position:absolute;
    left:-1.3889rem;
}

.faq_types li .answers a{
	line-height:inherit;
	font-size:inherit;
	color: #337ab7;
}







.expanded_images{
	display:none;
	position:fixed;
	width:100vw;
	height:100vh;
	z-index:100;
}

.expanding .expanded_images{
	display:inline-block;
}

.expanded_images .bgs{
	position:absolute;
	width:100%;
	height:100%;
	background:#000;
	opacity:0;
}

.expanding .expanded_images .bgs{
	opacity:0.7;
}

.expanded_images .spinners{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 3.3333rem;
    /* margin: -1.6667rem; */
    animation:2s linear infinite running spinning;
}

.expanded_images.img_loaded .spinners{
	opacity:0;
}

.expanded_images .img_containers{
	/*opacity:0;*/
}

.expanded_images .img_containers img{
	box-shadow: 0.2222rem 0 0.5556rem #333;
	/* height: 100%; */
	/* width: 100%; */
	/* left: -50%; */
	/* top: -50%; */
}

.expanded_images.img_loaded .spinners{
	display:none;
}

.expanded_images.img_loaded .img_containers{
	/*opacity:1;*/
}

.expanded_images  .img_galleries{
	height:100%;
	width:100%;
	opacity:1;
	top: -0;
	background: #000;
}

.expanded_images .img_containers {
	position: absolute;
	opacity:0;
	top: 3%;
	left: 3%;
	width:94%;
	height: 94%;
	z-index:1;
	/* left: 50%; */
}
.expanded_images .img_containers div {
	width: 100%;
	height: 100%;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.expanded_images .img_containers img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}
.expanded_images .img_containers img.preview {
	filter: blur(0.2222rem);
	opacity: 0.3;
}
.expanded_images .img_containers img.picture {
	position: absolute;
	z-index:5;
}

.expanded_images .img_containers.left{
	transform: translateX(-50%);
}

.expanded_images .img_containers.right{
	transform: translateX(50%);
}

.expanded_images .img_containers.in_view{
	opacity:1;
	z-index:2;
}

.expanded_images .arrows{
	display:none;
}

.expanding .expanded_images .arrows{
	display:inline-block;
	position: absolute;
	top: 50%;
	left: 6%;
	transform: translateY(-50%);
	color: #fff;
	font-size: 1.6667rem;
	z-index:5;
	cursor: pointer;
	line-height: 2.7778rem;
	height: 2.7778rem;
	width: 2.7778rem;
	text-align: center;
	border-radius: 1.5rem;
	border: 0.1111rem solid #fff;
	font-weight: 800;
	opacity: 0.5;
}

.expanding .expanded_images .arrows.next{
    left: auto;
    right: 6%;
}

.expanding .expanded_images .arrows:hover{
	background:var(--bg-1);
	color:#000;
	opacity:1;
}


.removed {
	display: none !important;
}













@keyframes spinning{
	0%{transform: translate(-50%,-50%) rotate(0deg);}
	100%{transform: translate(-50%,-50%) rotate(365deg);}
}

@-webkit-keyframes spinning{
	0%{transform: translate(-50%,-50%) rotate(0deg);}
	100%{transform: translate(-50%,-50%) rotate(365deg);}
}


@keyframes blinking{
	0%{opacity:0;}
	100%{opacity:1;}
}

@-webkit-keyframes blinking{
	0%{opacity:0;}
	100%{opacity:1;}
}



/** --------------------------------------
          QUOTE FORM - selects, paired
          fields and validation feedback
    --------------------------------------*/

req{
	min-height: inherit;
	font-size: inherit;
	line-height: inherit;
	font-family: inherit;
	font-weight: inherit;
	color: #c00;
}

/* Selects follow the .input_fields structure above. The native arrow is dropped
   and redrawn as a background caret, so it survives the transparent background
   the other fields use before they are filled. */
.input_fields select{
	cursor: pointer;
	padding-right: 1.5556rem;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236B6B6B'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.4444rem center;
	background-size: 0.5556rem 0.3333rem;
}

/* base.css resets every element to font-size:0, which would blank out the
   dropdown list in browsers that honour font-size on <option>. */
.input_fields select option{
	font-size: 0.8889rem;
	line-height: normal;
	font-family: 'Open Sans', sans-serif;
	color: #000;
	background: var(--bg-1);
}

/* Two fields sharing one row: language pairs, date range, time range. */
.form_types .input_fields.halves{
	width: 48%;
	float: left;
}

.form_types .input_fields.halves:nth-of-type(even){
	margin-left: 4%;
}

.form_types.invalid .invalid_msgs{
	float: left;
	display: inline-block;
	color: #f00;
}


/*
	PROFILE PAGINATION (top-hostess-milano.php)
	The crawlable page-by-page series sits inside .gallery_types.top_hostesses, whose <li>
	rules dress the profile grid: a 0.75 aspect ratio, a grey placeholder background and an
	overlaid <span> caption. Those rules are left untouched; these ones simply outrank them
	for the list items inside .pagination.
*/
.gallery_types .pagination{
	display: block;
	width: 100%;
	margin: 2.2rem auto 0 auto;
	text-align: center;
}
.gallery_types .pagination ol{
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.4444rem;
	width: auto;
	margin: 0 auto;
}
.gallery_types .pagination li,
.top_hostesses .pagination li{
	display: inline-block;
	width: auto;
	aspect-ratio: auto;
	margin: 0;
	background: none;
	overflow: visible;
	cursor: default;
}
.gallery_types .pagination li a,
.gallery_types .pagination li span,
.top_hostesses .pagination li span{
	position: static;
	display: block;
	box-sizing: border-box;
	min-width: 2.2222rem;
	min-height: 2.2222rem;
	padding: 0 0.4444rem;
	background: none;
	background-color: transparent;
	border: 0.0556rem solid var(--bg-menu);
	color: var(--bg-menu);
	font-family: 'Open Sans', sans-serif;
	font-size: 0.8889rem;
	font-weight: 400;
	line-height: 2.1111rem;
	text-align: center;
	text-decoration: none;
}
.gallery_types .pagination li a{
	cursor: pointer;
}
.gallery_types .pagination li a:hover{
	background-color: var(--bg-menu);
	color: #fff;
}
.gallery_types .pagination li.current span,
.top_hostesses .pagination li.current span{
	background-color: var(--bg-menu);
	color: #fff;
}
.gallery_types .pagination .pagination_note{
	width: 100%;
	margin-top: 1.1111rem;
	color: rgb(127, 127, 127);
	font-size: 0.8889rem;
	line-height: 1.2222rem;
	text-align: center;
	white-space: normal;
}


/*
	GOOGLE RATING (footer black strip, contacts.inc)
	The strip used to hold three items; the rating makes it four. The original .three rule is
	left in place and .four simply follows it on the same element, so anything else still
	relying on .three is unaffected.
*/
.footer_types .stripes .four{
	grid-template-columns: repeat(4,auto);
}
.footer_types .stripes a.google_rating{
	grid-template-columns: auto auto;
	white-space: nowrap;
}
.footer_types .stripes a.google_rating .stars{
	padding-right: 0.3333rem;
	color: #FBBC04;
	letter-spacing: 0.0556rem;
}
