@charset "utf-8";
/* ----------------------------------------------------------------------------- */

.pcOnly{ display: block; }
.spOnly{ display: none; }

@media screen and ( max-width:599px) {
/* ================================================== VIEWPORT SmartPhone 599px = */
/* ================================================================= START!!!!! = */

.pcOnly{ display: none; }
.spOnly{ display: block; }

/* header{ background: #C00; } */

html{ font-size: 14px; }

html, body{
	height:100%;
}

body{
	overflow-x: hidden;
}

.fontL {
	font-size: 2rem;
	line-height: 2.5rem;
}



h1 {
	font-size: 1.5rem;
}

h2 {
	font-size: 1.25rem;
	margin-bottom: 2.5vw;
}

h3 {
	font-size: 1.2rem;
}

h4 {
	font-size: 1.15rem;
}


p.ctaLink {
	margin: 5vw 0;
}

p.ctaLink a {
	font-size: 1.25rem;
	padding: 5px 30px;
}


.balloon {
	padding: 10px 20px;
	margin-bottom: 4.5vw;
}











/* header ---------------------------------------------------------------------- */
header {
	position: absolute;
}

header .col {
	padding: 3vw 10px;
	justify-content: center;
}

header .col ul {
	display: none;
}



/* header.clone-nav ------------------------------------------------------------ */
header.clone-nav .col h1 {
	justify-content: center;
}



/* #sec_topImg ----------------------------------------------------------------- */
#sec_topImg {
	position: relative;
	height: 100vh;
}

#sec_topImg .col {
	height: 100vh;
}

#sec_topImg .col .topTitle {
	top: 12vh !important;
	position: absolute;
}

#sec_topImg .col .topTitle h2 {
	font-size: 1.2rem;
	padding-right: 0;
}

#sec_topImg .col .topTitle h1 {
	padding-top: 1.75vw;
	padding-bottom: 2.25vw;
	font-size: 1.75rem;
	padding-right: 0;
	line-height: 1.75rem;
}

#sec_topImg .col .topTitle h1 span {
	font-size: 1.25rem;
}

#sec_topImg .col .topTitle h1 span.colorRed {
	font-size: 1.0em;
	line-height: 1.5em;
}



#sec_topImg .col {
	height: 100vh;
}

#sec_topImg p.sec_topimg_03 {
	right: 0;
	height: 74vh;
	left: 0;
}

#sec_topImg dl.sec_topImg_02 {
	bottom: 15px !important;
	width: 50vw;
}

#sec_topImg dl.sec_topImg_02 dt {
	font-size: 0.75rem;
}

#sec_topImg dl.sec_topImg_02 dd {
	padding: 10px 20px;
}







/* #sec_01 --------------------------------------------------------------------- */
#sec_01 {
	margin-top: 0vh !important;
}

#sec_01 .col {
	opacity: 0;
	transition: all 0.2s linear;
}

#sec_01.change .col {
	opacity: 1;
}


#sec_01 h3 {
	font-size: 1.25rem;
}

#sec_01 h2 {
	font-size: 1.75rem;
}






/* #sec_02 --------------------------------------------------------------------- */
#sec_02::after {
	border-width: 30px 45vw 0 45vw;
}

#sec_02::before {
	border-width: 40px 45vw 0 45vw;
}

#sec_02 .col {
	padding-top: 70px;
}



/* #sec_03 --------------------------------------------------------------------- */
#sec_03 h3 {
	font-size: 1.5rem;
}

#sec_03 .col .point {
	width: 100%;
	flex-direction: column;
}

#sec_03 .col .point .txt {
	width: 100%;
}

#sec_03 .col .point .num {
	width: 100%;
}

#sec_03 .col .point .num p {
	font-size: 2rem;
	flex-direction: row;
	padding: 8px;
}

#sec_03 .col .point .num p span {
	font-size: 1.5rem;
	margin-right: 10px;
}

#sec_03 .colIn:last-of-type::after {
	height: 40vw;
	width: 80vw;
	bottom: 30px;
}



/* #sec_04 --------------------------------------------------------------------- */
#sec_04 .colIn {
	flex-direction: column;
}

#sec_04 h4 {
	width: 100%;
	padding: 10px;
}



/* #sec_05 --------------------------------------------------------------------- */
#sec_05 .colIn {
	max-width: calc(100% - 20px);
	min-width: auto;
	padding: 30px 10px 30px;
}

#sec_05 .colIn .num {
	position: relative;
	top: -30px;
	left: -10px;
	background: #00a89b;
	right: -10px;
	width: calc(100% + 20px);
}

#sec_05 .colIn .num p {
	padding: 10px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2rem;
}
#sec_05 .colIn .num p::after {
	display: none;
}

#sec_05 .colIn .num p span {
	margin-right: 10px;
}


#sec_05 .coldb{
	flex-direction: column;
}

#sec_05 .coldb img{
	width: 100%;
}




#sec_05 .colIn .imgWrapp span {
	position: absolute;
	bottom: 70px;
	left: 4%;
	width: 40px;
	height: 40px;
}

#sec_05 .colIn .imgWrapp span .imgInner {
	width: 25px;
}



/* #sec_06 --------------------------------------------------------------------- */
#sec_06 .col .colIn ul li {
	width: calc(100%);
}



/* #sec_07 --------------------------------------------------------------------- */
#sec_07 .colIn {
	padding: 40px 20px;
}

#sec_07 .colIn dl dt {
	align-items: stretch;
	padding-right: 2.5rem;
}

#sec_07 .colIn dl dt::before {
	right: 5px;
}

#sec_07 .colIn dl dt span {
	height: auto;
	padding: 0 10px;
}


/* #sec_10 --------------------------------------------------------------------- */
#sec_10 .colIn.coltri > div {
	width: calc(100%);
}


/* #sec_11 --------------------------------------------------------------------- */
#sec_11 .colIn ul li {
	width: calc(100%);
	padding: 8px;
}

#sec_11 .colIn ul li br{
	display: none;
}

#sec_11 .colIn ul li i {
	margin-right: 1.5vw;
}


/* #sec_13 --------------------------------------------------------------------- */
#sec_13 .colIn .tableWrap {
	flex-direction: column;
	border: 0;
}

#sec_13 .colIn .tableWrap .tbHead{
	display: none;
}

#sec_13 .colIn .tableWrap .tbLow{
	width: 100%;
	border: 1px solid #bdbdbd;
	margin-bottom: 20px;
	border-radius: 8px 8px 0 0;
	overflow: hidden;
}

#sec_13 .colIn .tableWrap .tbLow:last-of-type h3 {
	padding: 15px 15px 5px;
	border: 1px solid #bdbdbd;
	margin-top: 0;
	border-radius: 0;
}

#sec_13 .colIn .tableWrap ul li:nth-of-type(2) {
	height: auto;
}

#sec_13 .colIn .tableWrap ul li{
	display: flex;
	justify-content: space-between;
	width: 100%;
	align-items: center;
}

#sec_13 .colIn .tableWrap ul li span{
	display: block;
	background-color: #612e12;
	padding: 4px 8px;
	color: #FFF;
	border-radius: 4px;
	width: 7.5rem;
}

#sec_13 .colIn .tableWrap ul li p{
	text-align: center;
	width: calc(100% - 8.5rem);
}





/* section.sec_cta ------------------------------------------------------------- */


/* .sec_cta.verb --------------------------------------------------------------- */
section.sec_cta.verb {
	overflow: initial;
}

section.sec_cta.verb .col {
	padding: 5vw 2vw;
}

section.sec_cta.verb .colIn:first-of-type {
}

section.sec_cta.verb .colIn:first-of-type {
	width: 35vw;
	bottom: auto;
	left: -3vw;
	top: -5vw;
}

section.sec_cta.verb .colIn:last-of-type {
	width: calc(100% + 4vw);
	margin: 0 -2vw;
	padding-left: 2vw;
	padding-right: 2vw;
	overflow: hidden;
}

section.sec_cta.verb .colIn:last-of-type .ctaTitle {
	padding: 0;
	width: 70vw;
	padding-right: 0;
	padding-left: 0;
	margin-left: auto;
	margin-right: 0;
}

section.sec_cta.verb .colIn:last-of-type .ctaTitle img {
	position: absolute;
	bottom: -30px;
	top: auto;
	right: -20px;
	margin: auto;
	width: 45%;
	transform: rotate(10deg);
	z-index: -1;
}

section.sec_cta.verb .colIn:last-of-type .ctaTitle h3 {
	padding: 5px 30px;
	font-size: 0.75rem;
}

section.sec_cta.verb .colIn:last-of-type .ctaTitle h2 {
	margin-bottom: 0;
	filter: drop-shadow(0px 0px 3px #000);
	font-size: 1.15rem;
	/* text-shadow: 
		2px 2px 0px #3c9e3f,
		2px 0px 0px #3c9e3f,
		0px 2px 0px #3c9e3f,
		0px 0px 0px #3c9e3f,
		-2px -2px 0px #3c9e3f,
		-2px  0px 0px #3c9e3f,
		 0px -2px 0px #3c9e3f,
		 0px  0px 0px #3c9e3f; */
}

section.sec_cta.verb .colIn:last-of-type ul {
	margin-top: 1.25rem;
	z-index: 9;
}

section.sec_cta.verb .colIn:last-of-type ul li:first-of-type {
	padding: 2rem 2.5% 1rem 2.5%;
}

section.sec_cta.verb .colIn:last-of-type ul li:first-of-type img {
	bottom: auto;
	margin: 0;
	left: -5.5%;
	top: -30%;
	width: calc(100% - 68%);
}

section.sec_cta.verb .colIn:last-of-type ul li:first-of-type span {
	position: relative;
	background: #f9e3e1;
	width: 100%;
	display: block;
	padding: 6px 0;
	border-radius: 8px 8px 0 0;
}

section.sec_cta.verb .colIn:last-of-type ul li:first-of-type h3 {
	background: #f9e3e1;
	position: relative;
	margin-top: 0;
	font-size: 1.25rem;
}

section.sec_cta.verb .colIn:last-of-type ul li:last-of-type p a {
	font-size: 1.5rem;
}




/* .fixMenu -------------------------------------------------------------------- */
.fixMenu {
	top: auto;
	bottom: -100px;
	left: 0;
	right: 0;
	width: 100%;
	display: flex;
	align-items: stretch;
	justify-content: center;
	-webkit-transition: -webkit-all 0.2s linear;
	   -moz-transition:    -moz-all 0.2s linear;
	    -ms-transition:     -ms-all 0.2s linear;
	     -o-transition:      -o-all 0.2s linear;
	        transition:         all 0.2s linear;
}

.fixMenu.fix {
	bottom: 0px;
    text-align:right;
}


.fixMenu a{
	display: block;
	color: #FFF;
	text-decoration: none;
}

.fixMenu a p i{
	font-size: 1.75rem;
	margin-right: 1vw;
}

/*.fixMenu .request ,
.fixMenu .private {
	margin: 0;
	width: calc(100% / 2);
	display: flex;
	align-items: center;
	justify-content: center;
}

.fixMenu .request {
	background-color: #3e6b3e;
	border-right: 1px solid #FFF;
	margin: 0;
}

.fixMenu .private {
	background-color: #ab363b;
}

.fixMenu .request p.spOnly,
.fixMenu .private p.spOnly{
	padding: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}*/

.fixMenu div {
	margin: 0;
	width: calc(100% / 4);
	display: flex;
	align-items: center;
	justify-content: center;
    /*border:1px solid #396;*/
}
.fixMenu div img {
	width:65px;
    margin:0 7px;
}



/* .seminarPageLink -------------------------------------------------------------------- */
div.seminarPageLink {
	top: auto;
	bottom: -130px;
	left: 0;
	right: 0;
	margin: 0;
	transition: all 0.2s linear;
}

div.seminarPageLink.fix {
	bottom: 70px;
}

div.seminarPageLink i.close {
	position: absolute;
	background: rgba(255,255,255,0);
	right: 0;
	top: /*-10px*/-7px;
	padding: 5px;
	z-index: 2000;
	text-align: right;
}

div.seminarPageLink ul li{
	width: calc(100% / 2);
}

div.seminarPageLink ul li:last-of-type{
	margin-left: 0.25rem;
}

div.seminarPageLink ul li img{
	width: 100%;
    padding-bottom: 10px;
}




/* .pageTopLink ---------------------------------------------------------------- */
p.pageTopLink {
	/* bottom: 70px; */
	bottom: 180px;
    right:5px;
}


/* footer ---------------------------------------------------------------------- */
footer {
	margin-bottom: 6rem;
}

footer > div.copy {
	padding-bottom: 65px;
}




/* #secCTA --------------------------------------------------------------------- */
#secCTA > h3 {
	text-shadow: 0px 0px 10px #FFF, 0px 0px 10px #fff, 0px 0px 5px #3c9e3f;
	margin-left: 10px;
	margin-right: 10px;
}

#secCTA .col {
	width: calc(100% - 20px);
	border-radius: 10px;
	padding: 20px 20px 0 20px;
}

#secCTA .col form {
	width: calc(100% + 40px)!important;
	padding: 0;
	margin-left: -20px;
	margin-right: -20px;
}

#secCTA .col form.mktoForm fieldset {
	border: 0;
}

#secCTA .col form.mktoForm .mktoFieldWrap {
	justify-content: center;
	flex-direction: column;
}

#secCTA .col form.mktoForm .mktoRequiredField .mktoLabel {
	width: 100%!important;
	margin-bottom: 10px;
}

#secCTA .col form.mktoForm #nameSei,
#secCTA .col form.mktoForm #kanaSei,
#secCTA .col form.mktoForm #addrCity,
#secCTA .col form.mktoForm #addrBanchi,
#secCTA .col form.mktoForm #Email,
#secCTA .col form.mktoForm #Phone,
#secCTA .col form.mktoForm #getFrom,
#secCTA .col form.mktoForm #message {
	width: calc(100%)!important;
}

.mktoForm .mktoClear {
	position: absolute;
	right: 10px;
	bottom: 10px;
}

#secCTA .col .fromNotice {
	margin-left: -20px;
	margin-right: -20px;
	padding: 20px;
}








/* #page-doctor ---------------------------------------------------------------- */

/*キャッチ*/
#sec_topImg .col .topTitle h2 {
	font-size:0.85rem;
}

#sec_topImg .col .topTitle h1 span {
	font-size:0.5em;
}
#sec_topImg .col .topTitle h1 span.doctor {
	font-size: 0.8em;
	line-height: 0.8em;
}



/* #page-doctor #doc_sec_01 ---------------------------------------------------- */
#page-doctor #doc_sec_01 {
	margin-top: calc(100vh)!important;
}

#page-doctor #doc_sec_01 h3 {
	font-size: 1.5rem;
}

#page-doctor #doc_sec_01 .col .point {
	width: 100%;
	flex-direction: column;
}

#page-doctor #doc_sec_01 .col .point .txt {
	width: 100%;
}

#page-doctor #doc_sec_01 .col .point .num {
	width: 100%;
}

#page-doctor #doc_sec_01 .col .point .num p {
	font-size: 2rem;
	flex-direction: row;
	padding: 8px;
}

#page-doctor #doc_sec_01 .col .point .num p span {
	font-size: 1.5rem;
	margin-right: 10px;
}

#page-doctor #doc_sec_01 .colIn:last-of-type::after {
	height: 40vw;
	width: 80vw;
	bottom: 30px;
}







/* #page-doctor.ver02 ---------------------------------------------------------- */
/* ----------------------------------------------------------------------------- */
#page-doctor.ver02 #doc_sec_01 {
	margin-top: calc(85vh)!important;
}

#page-doctor.ver02 #sec_topImg .col .docTitle {
	width: 80vw;
	height: 80vw;
	left: 0;
	right: 0;
}

#page-doctor.ver02 #sec_topImg dl.sec_topImg_02 {
	bottom: 27vw !important;
}

#page-doctor.ver02 #sec_topImg .col .docTitle h2 {
	font-size: 3.25vh;
}

#page-doctor.ver02 #sec_topImg .col .docTitle h1 {
	font-size: 3.5vh;
}

#page-doctor #doc_sec_01 .col .point .num {
	flex-direction: column;
}

#page-doctor.ver02 #sec_04 dl{
	flex-direction: column;
	width: 100%;
	border-radius: 40px;
}

#page-doctor.ver02 #sec_04 dt{
	height: auto;
	width: 100%;
	margin-right: 0px;
	margin-bottom: 35px;
}

#page-doctor.ver02 #sec_04 dd {
	width: 100%;
	height: auto;
}

#page-doctor.ver02 #sec_04 dt::before {
	display: none;
}

#page-doctor.ver02 #sec_04 dt::after {
	display: none;
}

#page-doctor.ver02 #sec_04 .sec-graph {
	padding: 30px 10px!important;
}

#page-doctor.ver02 #sec_04 .sec-graph .toolTip p {
	width: 60px;
	height: auto;
	padding: 15px 9px;
	border-radius: 8px;
}

#page-doctor.ver02 #sec_04 .sec-graph .toolTip p:nth-of-type(6) {
	left: 72.5%;
	bottom: 75%;
}

#page-doctor.ver02 #sec_04 .sec-graph .toolTip p:nth-of-type(5) {
	bottom: 32%;
	left: 62.5%;
}

#page-doctor.ver02 #sec_04 .sec-graph .toolTip p:nth-of-type(4) {
	left: 47.5%;
}

#page-doctor.ver02 #sec_04 .sec-graph .toolTip p:nth-of-type(3) {
	bottom: 28%;
	left: 37%;
}

#page-doctor.ver02 #sec_04 .sec-graph .toolTip p:nth-of-type(2) {
	bottom: 49%;
	left: 21.5%;
}

#page-doctor.ver02 #sec_04 .sec-graph .toolTip p:nth-of-type(1) {
	bottom: 24%;
	left: 11%;
}

#page-doctor.ver02 .colIn.colHalf > div {
	width: 100%;
	margin-bottom: 10px;
}

#page-doctor.ver02 .colIn.colHalf {
	flex-direction: column;
}

#page-doctor.ver02 #sec_03 .colIn:first-of-type {
	flex-direction: column;
}

#page-doctor.ver02 #sec_03 .colIn:first-of-type .point {
	width: 100%;
	margin-bottom: 10px;
}

#page-doctor.ver02 #sec_03 .colIn:first-of-type .point .num {
	padding: 0;
}








/* ================================================== VIEWPORT SmartPhone 599px = */
/* =================================================================== END!!!!! = */
}
