@charset "UTF-8";
@import url("grid.css");

/*----------------------------------------------------------------------------------------
▼共通デザイン（モバイル向け）
-----------------------------------------------------------------------------------------*/
/*html {
    overflow-x: hidden;
}*/

img {
	max-width:100%;
	height: auto;/*高さ自動*/
	vertical-align:bottom;
    -webkit-backface-visibility: hidden;
}
a {
    display:block;
    color: #666;
    text-decoration-line: none;
}
a:hover { 
    color: #999;
}
a img:hover {
	opacity: 0.8;
}

hr {
    width:80%;
    margin: auto;
    border-top: 1px dotted #ccc;
}

.underline {
	border-bottom: 3px solid #000;
	padding-bottom: 0.5rem;
}
.center{ text-align: center;}
.aline-center{ align-items: center;}
.right{ text-align:right;} /* 右 */
.left{ text-align:left;} /*左*/
.float-right{ float:right;}
.float-left{ float:left;}

.br-small {display: block;}
.br-mid {display: none;}
.br-big {display: none;}

.full-width {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}

.fadein {
    opacity: 0;
    transform : translate(0, 50px);
    transition : all 1200ms;
}

.fadein.scrollin{
    opacity: 1;
    transform: translate(0, 0);
}

/*ヘッダー
-------------------------------------*/
.head {
    width: 100vw;
	display: flex;
    flex-direction: row;
    padding: 1rem 0 0 0;
}

.head h1 { 
    padding: 1rem 0;
}
/*メイン背景
-------------------------------------*/

.main {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
    margin: 0 auto;
	width: 100%;
	height: auto;
}

/*メイン青
-------------------------------------*/
.imgmain {
	position: absolute;
	top: 0;
	width: 100%;
	height: 55%;
	background: url('../img/mainimg.png') left top;
	background-repeat: no-repeat;
	background-size: auto;
	z-index: 1;
}

.bluemain {
	position: absolute;
	width: 100%;
	height: 67%;
	bottom: 0;
	background: rgba(186,227,249);
	margin: 0 auto;
	text-align: center;
	z-index: 2;
}

/*メイン画像
-------------------------------------*/
.mainimg {
	width: 100vw;
	margin: 4% auto;
	padding:2em 3em 0;
	z-index: 3;
}
.mainimg img{
	padding-bottom: 3rem;
}


@media screen and (min-width: 700px){	
    .main_pc { display:block; }
    .main_sp { display:none; }
}
@media screen and (max-width: 700px){	
    .main_pc { display:none; }
    .main_sp { display:block; }
}


/*メインコンテンツ
-------------------------------------*/
.blueback {
    width:100%;
	background: rgba(186,227,249);
	height: auto;
	padding: 0 0 3rem;
	margin: 0;
}

.whiteback {
	background: rgba(300,300,300);
	height: auto;
	padding: 3rem 0;
	margin: 5em 0;
}
	.point img {
		width: 90%;
		margin: 0 auto;
	}
/*point1の背景*/
.whitebox {
	background: rgba(300,300,300);
	height: auto;
	padding: 8rem 1rem;
	margin: 10rem 0 5rem 0;
}

b {
    font-size: 2rem;
    color: #1e90ff;
    background-image: linear-gradient(transparent 60%, #ffff89 60%);
}

.ptitle {
    font-size:120%;
	text-align: center;
}

.pic1 {
	margin-top:10%;
}

.pic2 {
	position: absolute;
	width: 36%;
	top: 25vh;
    right: -4%;
}

.imgBottle {
	position: absolute;
	width: 36%;
	top: 25vh;
    left: 2.3%;
}

.imgRefill {
	position: absolute;
	width: 36%;
	top: 25vh;
    right: 2.3%;
}

/*Point 1
------------------------------------*/
.clblue { color: #1e90ff;}
.clred { color: #ff0000;}
.clgreen { color: #008000;}

.point1 {
    width : 100%;
}



.itemTitle{
    align-self: center;
	margin:10% auto;
	    color : #1e90ff;
    justify-self: center;
    text-align : center;
    font-size: 140%;
}

.pic1-1{
    height: auto;
    width: 100%;
    margin: auto;
	padding:0 10%;
}

.p1text {
	justify-self: center;
    margin: auto;
	padding:5% 0 5%;
    text-align: left;
    width:75%;
    font-size: 90%;
}


.pic1-2 {
    height: auto;
    width: 100%;
    margin: auto;
	padding:0 10%;  
}

.itemText2 {
    justify-self: center;
    
}

.pic1-3 {
    height: auto;
    width: 100%;
    margin: auto;
	padding:0 10%;
    
}

.itemText3 {
    justify-self: center;
    
}

.pic1-4 {
	justify-self: center;
    max-width: 100%;
    margin: 0 auto;
	padding: 0 30%;
}


/*Point 2
------------------------------------*/
.point2{
}

.p2body {
    display: grid;
    height : auto;
    width : auto;
    margin : 0 auto;
}

.p2title {
    justify-self: center;
	text-align: center;
    width: 100%;
    height:auto;
    margin : 5% 0 10%;
    font-size: 120%;
}

#p2SmartList {
    justify-self: center;
    display: grid;
    width: 100%;
	margin: 0;
    grid-template-columns: 100%;
}
#p2SmartList2 {
    justify-self: center;
    display: grid;
    width: 100%;
    height:350px;
	margin: 0 0 10%;
    grid-template-columns: 100%;
}
	
	#p2SmartList3 {
    justify-self: center;
    display: grid;
    width: 100%;
    height:310px;
	margin: 5% 0 0;
    grid-template-columns: 100%;
}
.smallImg {
    justify-self: center;
    display : block;
    margin : 0 auto 5%;
	text-align: center;
	width: 100vw;
}

.bigImg {
    display : none;
    justify-self: center;
}

.box1 {
    justify-self: center;
    margin : 0;
    grid-column: 1 / 2;
    visibility:visible;
    height:100%;
    width: auto;
}

.imgBalloon {
	justify-self: center;
    visibility:visible;
    margin : 0 auto;
	padding-top: 1.5rem;
	height: auto;
}

.imgBalloon img {
    max-width:100vw;
    }

.box2 {
    margin : 0 auto;
    justify-items: center;
    grid-column: 1 / 2;
    visibility:visible;
    width: 100%;
}

.box3 {
    justify-self: center;
    visibility:hidden;
}

.box4 {
    
    justify-self: center;
    visibility:visible;
    margin : 0 0 0 0;
    grid-row: 3 / 4;
    grid-column: 1 / 2;
    width: 100%;
    height:auto;
}

.imgAllow {
    justify-self: center;
    width: 90%;
    height:auto;
}

.box5 {
    
    justify-self: center;
    visibility:visible;
    margin : 0 0 0 0;
    grid-row: 4 / 5;
    grid-column: 1 / 2;
    height:100%;
    width: 100%;
}





.itemText {
    text-align : center;
    font-size: 90%;
}

.p2hr1 {
    justify-self: center;
    visibility:visible;
    grid-column: 1 / 2;

}

.p2hr2 {

}

.caution{
    font-size: 80%;
}

.flex-container{
    visibility:hidden;
}

/*Point 3
------------------------------------*/

.pic3-1{
    width: 80%;
    height: auto;
    margin : 0 auto;
}

.p3title {
    top: 0px;
}

.p3text {
    font-size: 90%;
}

.yellowback{
    padding: 0.2% 3% 0.2% 3%;
    background:#ffff00;
    border-radius: 50px; 
}

/*Point 4
------------------------------------*/
.point4{
    height : 150%;
}

.p4title {
    top: 0px;
	margin-bottom: 30px;
}

.pdlist {
    display: grid;
    height: 85%;
    width: Auto;
    align-self: center;
    justify-items: center;
}

.pdtitle1{
    font-size:90%;
    font-weight: bold;
	text-align: center;
}

.pdimg1 {
    width:20%;
    height:auto;
    margin: 6% 0;
}

.pdtxt1 {
    width:70%;
    text-align:left;
    font-size:90%;
}

.p4hr {
    display: block;
    border-top: 1px dotted #ccc;
    width: 80%;
    margin: 50px 0 50px;
}

.pdtitle2{
    top: 20%;
    font-size:90%;
    font-weight: bold;
	text-align: center;
	margin: 0 0 0;
}

.pdcapacity2 {
    font-size:90%;
    font-weight: bold;
}

.pdimg2 {
    width:20%;
    height:auto;
    margin: 6% 0;
}

.pdtxt2 {
    width:70%;
    text-align:left;
    font-size:90%;
}

/*ジグザグ
------------------------------------*/
.zigzag {
    position: relative;
    background: #fff;
}
.zigzag::before, .zigzag::after {
    height: 20px;
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
}
.zigzag::before {
    top: -20px;
    background: linear-gradient(45deg, #fff 10px, transparent 0), linear-gradient(315deg, #fff 10px, transparent 0);
    background-size: 20px 20px;
}
.zigzag::after {
    bottom: -20px;
    background: linear-gradient(135deg, #fff 10px, transparent 0), linear-gradient(225deg, #fff 10px, transparent 0);
    background-size: 20px 20px;
}
/*ポイント*/
.point {
	position: absolute;
	top: -50px;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

/*サークル
-------------------------------------*/
.circle {
	width: 200px;
    height: 200px;
    position: relative;
    border-radius: 50%;
    margin: 1rem auto;
	text-align: center;
}
.circle span {
	font-family: UD Shin Go NT Regular;
	line-height: 1.3em;
	position: absolute;
    left: 0;
    top: 50%;
    margin: 1em 0;
    width: 100%;
    text-align: center;
	-webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media ( min-width : 700px ) {
.circle {
	width: 200px;
    height: 200px;
    position: relative;
    border-radius: 50%;
    margin: 1rem auto;
	padding: 1rem;
}
}
/* サークルのPC表示 */
@media ( min-width : 700px ) {
.c_row {
    display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 3rem 0;
	}

.c_col {
    margin-left: 3%;
}

.c_col:first-child { 
    margin-left: 0; 
}
}
/* サークルのスマホ表示 */
@media ( max-width : 700px ) {

.c_row {
	width: 100%;
    display: flex;
	flex-direction: column;
	justify-content:center;
}

.c_col {
    display: block;
    flex: auto;
    margin: auto;
}
}
/*色指定
-------------------------------------*/
.c_01 {
	background: #fff100;
    color: #00a0e9;
}


/*フッター
------------------------------------*/
footer{
    height: 25vh;
    color:#fff;
    background: #1e90ff;
    position: relaticve;
    bottom: 0;
}

.footer{
    height:100%;
    width:100%;
    display: grid;
    grid-template-rows: 40% 28% 6% 28% 40%;
    grid-template-columns: 15% 34% 2% 34% 15%;
}

.link1{
    text-align: right;
    grid-row: 2 / 3;
    grid-column: 2 / 3;
}

.separate{
    text-align: center;
    grid-row: 2 / 3;
    grid-column: 3 / 4;
}

.link2{
    text-align: left;
    grid-row: 2 / 3;
    grid-column: 4 / 5;
}

.col{
    align-self: start;
    margin: 0 12% 30% 0;
    text-align: center;
    grid-row: 4 / 5;
    grid-column: 2 / 5;
}

/*コピーライト
-------------------------------------*/
.copyright {
    text-align: center;
    padding: 1rem 0;
    background-color: #fff;
}
.copyright a {
    color: #000;
    text-decoration: none;
	display: inline-block;
}
/*DSKトップへ戻るボタン
-------------------------------------*/
#dsktop {
    position: fixed;
    bottom: 100px;
    right: 10px;
	z-index: 10;
}
#dsktop a {
    display: block;
    width: 70px;
    padding: 10px 5px;
    text-align: center;
}
#dsktop a:hover {

}
/*ページトップへ戻るボタン
-------------------------------------*/
#pagetop {
    position: fixed;
    bottom: 15px;
    right: 10px;
    z-index: 10;
}
#pagetop a {
    display: block;
    width: 70px;
    padding: 10px 5px;
    text-align: center;
}
#pagetop a:hover {

}
/*パンくずリスト
-----------------------------------*/
.breadcrumb {
    margin: 0 0 1em 0;
    padding: 0;	
}
.breadcrumb li {
    list-style-type: none;
}
.breadcrumb li a {
    display: inline-block;
    color: #959fa5;
}

/*-------------------------------------
▼中型画面向けデザイン（タブレットなど）
--------------------------------------*/
@media screen and (min-width: 701px) {

    img {
        max-width:100%;
        height: auto;/*高さ自動*/
        vertical-align:bottom;
    }
    a {
        display:block;
        color: #666;
        text-decoration-line: none;
    }
    a:hover { 
        color: #999;
    }
    a img:hover {
        opacity: 0.8;
    }
    .underline {
        border-bottom: 3px solid #000;
        padding-bottom: 0.5rem;
    }
    .center{ text-align: center;}
    .aline-center{ align-items: center;}
    .right{ text-align:right;} /* 右 */
    .left{ text-align:left;} /*左*/
    .float-right{ float:right;}
    .float-left{ float:left;}

    .br-small {display: none;}
    .br-mid {display: block;}
    .br-big {display: none;}

    .full-width {
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
    }

    .fadein {
        opacity: 0;
        transform : translate(0, 50px);
        transition : all 1200ms;
    }

    .fadein.scrollin{
        opacity: 1;
        transform: translate(0, 0);
    }
    /*ヘッダー
    -------------------------------------*/
    .head {
        display: flex;
        flex-direction: row;
        padding: 1rem 0 0 0;
    }

    .head h1 { 
        padding: 1rem 0;
    }

    .bluemain {
        height: 50%;
    }

    /*メイン画像
    -------------------------------------*/
    .mainimg {
        width: 100vw;
        margin: 4%;
        padding:2em 0 0;
        z-index: 3;
    }
    .mainimg img{
        padding-bottom: 3rem;
    }
    .imgdouble{
        display:none;
    }

    .br-small {
        display: none;
    }

    .br-mid {
        display: block;
    }

    /*point1の背景*/
    .whitebox {
        background: rgba(300,300,300);
        height: auto;
        padding: 8rem 0;
        margin: 10rem 0 5rem 0;
    }

    .comment {
        font-size: 105%;
    }

    /*メインコンテンツ
-------------------------------------*/

    b {
        font-size: 100%;
        color: #1e90ff;
        background-image: linear-gradient(transparent 60%, #ffff89 60%);
    }

    .ptitle {
        font-size:170%;
		text-align: center;
    }

    .pic1 {
        margin-top:10%;
    }

    .pic2 {
        position: absolute;
        width: 36%;
        top: 25vh;
        right: -4%;
    }

    .pic3 {
        position: absolute;
        width: 36%;
        top: 25vh;
        left: -4%;
    }

    .imgBottle {
        position: absolute;
        width: 30%;
        top: 25vh;
        left: 1%;
    }

    .imgRefill {
        position: absolute;
        width: 30%;
        top: 25vh;
        right: 3%;
    }

    /*Point 1
    ------------------------------------*/
    .clblue { color: #1e90ff;}
    .clred { color: #ff0000;}
    .clgreen { color: #008000;}
    
    .point1 {
        height: 100%;
    }
    

    .itemTitle{
		text-align: center;
		color : #1e90ff;
        text-align: center;
        font-size: 160%;
    }

    
    .pic1-1{
        max-width: 100%;
		margin: 0 auto;
		padding: 0 10%;
        justify-self: center;
		text-align: center;
    }
    
    
    .p1text {
		justify-self: center;
        text-align: left;
        width:65%;
        font-size: 100%;
    }
   
    
    hr {
        width:80%;
        margin: auto;
        border-top: 1px dotted #ccc;
    }
    

    
    .pic1-2 {
        max-width: 100%;
		margin: 0 auto;
		padding: 0 20%;
        justify-self: center;
		text-align: center;
       
    }
    
    .itemText2 {
        justify-self: center;
       
    }
    
    .p1hr2 {
      
    }
    

    
    .pic1-3 {
        max-width: 100%;
		margin: 0 auto;
		padding: 0 20%;
        justify-self: center;
		text-align: center;
        
    }
    
    .itemText3 {
        justify-self: center;
       
    }
    
    .p1hr3 {
     
    }
    

    
    .pic1-4 {
        max-width: 100%;
		margin: 0;
		padding: 0 auto;
        justify-self: center;
		text-align: center;
        
    }
    
    .itemText4 {
        justify-self: center;
        
    }

    /*Point 2
------------------------------------*/

    .p2body {
        display: grid;
        width : 100%;
        margin : 0 auto;
    }
    
    .p2title {
		font-size:170%;
		text-align: center;
    }

    #p2SmartList {
        justify-self: center;
        display: grid;
		margin: 0 auto 10%;
        width: 100%;
		height: 150px;
		grid-template-rows: 30% 30% 40%;
        grid-template-columns: 35% 15% 50%;
    }
    #p2SmartList2 {
        justify-self: center;
        display: grid;
		margin: 10% auto;
        width: 100%;
		height: 150px;
		grid-template-rows: 30% 30% 40%;
        grid-template-columns: 35% 15% 50%;
    }
    #p2SmartList3 {
        justify-self: center;
        display: grid;
		margin: 10% auto;
        width: 100%;
		height: 150px;
		grid-template-rows: 30% 30% 40%;
        grid-template-columns: 35% 15% 50%;
    }
    .smallImg {
        display : none;
    }

    .bigImg {
        display : block;
        margin : 0;
    }

    .imgBalloon {
        visibility:visible;
        margin : 0;
        
    }
	.imgBalloon img {
        max-width:100%;
    }
	
    .box1 {
		align-self: stretch;
        visibility:visible;
        margin : 0;
		grid-row: 1 / 2;
        grid-column: 2 / 4;
		height: auto;
    }
    .box2 {  
		grid-row: auto;
        grid-column: 1 / 2;
        justify-items: center;
        visibility:visible;
		height: 100%;
        width: 100%;
    }

    .box3 {
        visibility:visible;
        margin : auto 30% 0 0;
		padding: auto 0;
		grid-row: auto;
        grid-column: 2 / 3;
        width: 100%;
		height: 100%;
    }

    .box4 {
		text-align: left;
        margin : auto 0;
		padding: auto 0;
        grid-column: 3 / 4;
        height:100%;
        width: 100%;
    }

    .imgAllow {
        max-width: 100%;
        margin: 0;
    }

    .box5 {
		align-self: flex-end;
        text-align: left;
        visibility:visible;
        margin : 0;
        grid-column: 3 / 4;
        width: 100%;
		height: 100%;
    }

    .itemText {
        font-size: 100%;
    }

    .p2hr1 {
        visibility:hidden;
    }

    .caution{
        font-size: 80%;
    }

    .flex-container{
        visibility:hidden;
    }

    /*Point 3
    ------------------------------------*/

    .pic3-1{
        width: 75%;
        height: auto;
        margin : 0 auto;
    }

    .p3text {
        font-size:100%;
    }

    /*Point 4
    ------------------------------------*/
    .point4{
        height : 420%;
    }

    .p4title {
        font-size: 210%;
        top: 0px;
		margin-bottom:30px;
    }

    .pdlist {
        display: grid;
        height: 100%;
        width: 100%;
        grid-template-columns: 50% 50%;
    }

    .pdtitle1{
		text-align: center;
        margin:0px auto 5%;
        font-size:90%;
        font-weight: bold;
        grid-row: 1 / 2;
        grid-column: 1 / 2;
    }

    .pdimg1 {
        width:25%;
        height:auto;
        margin: 0;
        grid-row: 3 / 4;
        grid-column: 1 / 2;
    }

    .pdtxt1 {
        top:auto;
        width:70%;
        text-align:left;
        font-size:90%;
        grid-row: 4 / 5;
        grid-column: 1 / 2;
    }

    .p4hr {
      display: none;
    }

    .pdtitle2{
		text-align: center;
        margin:0px auto 5%;
        font-size:90%;
        font-weight: bold;
        grid-row: 1 / 2;
        grid-column: 2 / 3;
    }
    .pdimg2 {
        width:25%;
        height:auto;
        margin: Auto 0 10% 0;
        grid-row: 3 / 4;
        grid-column: 2 / 3;
    }

    .pdtxt2 {
        width:70%;
        text-align:left;
        font-size:90%;
        grid-row: 4 / 5;
        grid-column: 2 / 3;
    }

    /*フッター
    ------------------------------------*/
    footer{
        height: 25vh;
        color:#fff;
        background: #1e90ff;
    }

    .footer{
        height:100%;
        width:100%;
        display: grid;
        grid-template-rows: 40% 28% 6% 28% 40%;
        grid-template-columns: 25% 24% 2% 24% 25%;
    }

    .link1{
        text-align: right;
        grid-row: 2 / 3;
        grid-column: 2 / 3;
    }

    .separate{
        text-align: center;
        grid-row: 2 / 3;
        grid-column: 3 / 4;
    }

    .link2{
        text-align: left;
        grid-row: 2 / 3;
        grid-column: 4 / 5;
    }

    .col{
        align-self: start;
        margin: 0 12% 0 0;
        text-align: center;
        grid-row: 4 / 5;
        grid-column: 2 / 5;
    }

}
