@charset "UTF-8";

:root {
	/* color */
    --main-color01: #1B3F6E;
	--main-color02: #1354A9;
    --base-color01: #F4F8F8;
    --accent-color01: #BAA343;
    --background-gray: #f3f3f3;
	--text-black: #222222;
	--red: #BA1E1E;
	
	/* font-style */
	--main_style: "Noto Sans JP", serif;	
	--sub_style: "Shippori Mincho", serif;
    --sub_style02: "Zen Kaku Gothic New", sans-serif;
    --EN_style:  "Cal Sans", sans-serif;

/* gradient */
    --gradient_01: linear-gradient(180deg, rgba(88,110,142,1) 0%, rgba(202,213,229,1)100%);
    --gradient_02: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(200,209,224,1)100%);
    --gradient_03: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(200,209,224,1)100%);
}

body {
	font-family: var(--main_style);
	line-height: 2.0;
	font-size: 19px;
	-webkit-text-size-adjust: 100%;

	}

body.is_sp,
body.iphone-access,
body.android-access {
	font-size: 17px;
}


/* PC-SP非表示切り替えクラス */
body.is_pc .PcNodisplay,
body.is_tab .PcNodisplay,
body.is_sp.yoko-mode .PcNodisplay,
body.is_pc .smallonly,
body.is_tab .smallonly{display:none;}	

body.is_sp .smallonly{display: none;}	
body.is_sp .SpNodisplay{display: none;}	
body.is_sp.tate-mode .SpNodisplay_tate{display: none;}

body.is_pc a:hover{opacity: 0.4; transition: 0.4s;}

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,p{margin:0;padding:0;!important}
li{list-style:none;}
a{cursor:pointer; text-decoration: none; color: var(--main-color02);}

input[type="submit"] ,
input[type="button"] {cursor:pointer;}

input[type="submit"]:hover ,
input[type="button"]:hover {opacity: 0.4; transition: 0.4s;}


/*common*/
span.yerrrow_txt{color: var(--accent-color01);}
.white_txt{color: #fff;}
.contentBox_blue{background:var( --main-color01);}
.InnerBox{width: 90%; max-width: 1280px; padding: 80px 0; margin: 0 auto;}
.txtBox900{max-width: 900px; margin: 0 auto;}
.bigtxt_400{font-size: 23px; font-weight: 400;line-height: 1.7;letter-spacing: 2px;}
.bigtxt{font-size: 24px; font-weight: 600;line-height: 1.7;letter-spacing: 2px;}

#global-pagetop{position: fixed; bottom: 90px!important;}

/*-- スマホ --*/
body.is_sp .InnerBox{ padding: 55px 0;}
body.is_sp .bigtxt, body.is_sp .bigtxt_400{font-size: 19px; font-weight: 400;line-height: 1.5;letter-spacing:0;}

/*-------*/


/*--- header ---*/
header{position: relative; width: 100vw;}
.header_inner{
    display: flex; 
    justify-content: space-between;
     align-items: center;
     height: 90px;
     margin: 0 25px;
     padding:10px;
}

.header_l h1.Logo a {
  height: 100%;
  display: flex;
  align-items: center;
  max-width: 500px;
  text-shadow: 0px 0px 15px rgba(0,0,0,0.9);
}	
.header_l h1.Logo a img{
	max-height: 100%;
	width:70%;
    max-width: 76px;
}
.header_l h1.Logo a span.logoBox{color:#fff;line-height: 1.2;letter-spacing: 1px;}
.header_l h1.Logo a span.logo{font-family: var(--sub_style);font-size: 34px;letter-spacing: 3px;}
.header_l h1.Logo a span.logo_en{
    font-family: var(----sub_style0); 
    font-size: 14px;
    display: block;
    font-weight: 300;
    padding-top: 5px;
}
.header_r{width:60%;max-width: 230px;margin-right: 45px;}	

body.is_pc .fixedBTN,
body.is_tab .fixedBTN,
body.is_sp.yoko-mode .fixedBTN{display: none;}

 .rinkBTN a{
    display: block;
    width: 100%;
    background: var(--red); 
    color: #fff; 
    padding: 17px 28px; 
    position: relative; 
    border-radius: 8px;
    font-size: 18px;
    line-height: 1.3;
    transition: 0.4s;
}

.rinkBTN a::after ,
body.is_sp.yoko-mode .rinkBTN a::after,
body.is_tab .rinkBTN a::after
{
    content: "";
	display: block;
	position: absolute;
	top: 29px;
	bottom: 0;
	right: 16px;
	width: 11px;
	height: 11px;
	border-right: 3px solid #fff;
	border-bottom: 3px solid #fff;	
	-webkit-transform:rotate(45deg);
	transform: rotate(45deg);
		
}


/*-- スクロール後 --*/
header.scroll-change .header_inner{
    display: flex; 
    justify-content: space-between; 
    align-items: center;
    height:70px;
    margin: 0 25px; 
    padding:10px;
}

header.scroll-change .header_l h1.Logo a {
  height: 100%;
  display: flex;
  align-items: center;
  max-width: 500px;
}	
header.scroll-change .header_l h1.Logo a img{
	max-height: 100%;
	width:70%;
    max-width: 70px;
}
header.scroll-change .header_l h1.Logo a span.logoBox{color:  #fff;line-height: 1.2;letter-spacing: 1px;}
header.scroll-change .header_l h1.Logo a span.logo{font-family: var(--sub_style);font-size: 29px;}
header.scroll-change .header_l h1.Logo a span.logo_en{
    font-family: var(----sub_style02); 
    font-size: 12px;
    display: block;
    font-weight: 300;
}
header.scroll-change .header_r{max-width: 200px;margin-right: 25px;}	

header.scroll-change .rinkBTN a{
    display: block;
    width: 100%;
    background: var(--red); 
    color: #fff; 
    padding: 7px 15px; 
    position: relative; 
    border-radius: 8px;
    font-size: 15px;
    line-height: 1.3;
    transition: 0.4s;
}

header.scroll-change .rinkBTN a::after
{
    content: "";
	display: block;
	position: absolute;
	top: 20px;
	bottom: 0;
	right: 13px;
	width: 8px;
	height: 8px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;	
	-webkit-transform:rotate(45deg);
	transform: rotate(45deg);
		
}

 /*-- スクロール後ここまで --*/

/*-- タブレット・スマホ --*/
body.is_tab  header.scroll-change .header_inner{height: 60px;}
body.is_tab  .header_inner{height: 85px;}
body.is_tab .header_l h1.Logo a {max-width: 490px;}	
body.is_tab .header_l h1.Logo a span.logo{font-size: 28px;}


body.is_sp.tate-mode .header_inner{display: block;margin: 0 10px; padding:10px 0;}
body.is_sp.tate-mode .header_l h1.Logo a span.logo{font-size: 26px;}
body.is_sp.tate-mode .header_l h1.Logo a span.logo_en{font-size: 11px;}
body.is_sp.tate-mode .header_l h1.Logo a img{
	max-height: 100%;
	width:70%;
    max-width: 60px;
}

body.is_sp.tate-mode .rinkBTN a{
    position: fixed; 
    border-radius: 0; 
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto 0; 
    padding: 10px 20px; 
    display:flex;
    justify-content: center;
    align-items: center; 
    opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}
body.is_sp.tate-mode .fixedBTN a {
	display: flex !important;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
    transition: 0.4s;
}

body.is_sp.tate-mode .fixedBTN a.is-show {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto;
    transition: 0.4s;
}
body.is_sp.tate-mode .rinkBTN a::after{display: none;}
body.is_sp.tate-mode .rinkBTN a span{text-align: left;position: relative;padding-right: 30px;}
body.is_sp.tate-mode .rinkBTN a span::after{
    content: "";
	display: block;
	position: absolute;
	bottom: 15px;
	right:0;
	width: 8px;
	height: 8px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;	
	-webkit-transform:rotate(-45deg);
	transform: rotate(-45deg);
		
}

body.is_tab.iphone-access.yoko-mode header.scroll-change .header_inner,
body.is_tab.android-access.yoko-mode header.scroll-change .header_inner{height: 50px;}

body.is_tab.iphone-access.yoko-mode .header_inner,
body.is_tab.android-access.yoko-mode .header_inner{height: 70px;}


body.is_sp.yoko-mode .header_r,
body.iphone-access.yoko-mode .header_r,
body.android-access.yoko-mode .header_r{width:60%;max-width: 147px;margin-right: 25px;}	

body.is_sp.yoko-mode header.scroll-change .header_r,
body.iphone-access.yoko-mode header.scroll-change .header_r,
body.android-access.yoko-mode header.scroll-change .header_r{max-width: 145px;margin-right: 25px;}	

body.is_sp.yoko-mode .rinkBTN a,
body.iphone-access.yoko-mode .rinkBTN a,
body.android-access.yoko-mode .rinkBTN a{font-size: 11px;padding: 8px 10px; margin-top:5px;}

body.is_sp.yoko-mode .rinkBTN a::after,
body.iphone-access.yoko-mode .rinkBTN a::after,
body.android-access.yoko-mode .rinkBTN a::after{
    width: 5px;
    height: 5px;
    top: 15px;
    right: 13px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;	
}

body.is_sp.yoko-mode .header_inner,
body.iphone-access.yoko-mode .header_inner,
body.android-access.yoko-mode .header_inner{margin: 0 8px; padding:10px 0;height: 50px;}

body.is_sp.yoko-mode .header_l h1.Logo a span.logo,
body.iphone-access.yoko-mode .header_l h1.Logo a span.logo,
body.android-access.yoko-mode .header_l h1.Logo a span.logo{font-size: 24px;}

body.is_sp.yoko-mode .header_l h1.Logo a span.logo_en,
body.iphone-access.yoko-mode .header_l h1.Logo a span.logo_en,
body.android-access.yoko-mode .header_l h1.Logo a span.logo_en{font-size: 10px;padding-top: 1px;}

body.is_sp.yoko-mode .header_l h1.Logo a,
body.iphone-access.yoko-mode .header_l h1.Logo a,
body.android-access.yoko-mode .header_l h1.Logo a {max-width: 300px;}	

body.is_tab .header_l h1.Logo a img,
body.is_sp.yoko-mode .header_l h1.Logo a img,
body.iphone-access.yoko-mode .header_l h1.Logo a img,
body.android-access.yoko-mode .header_l h1.Logo a img{ max-width: 57px;}

/*-----------*/


/*--- footer ---*/
.footer{background: var(--main-color02); color: #fff;padding: 40px 20px 10px;}
.footer_inner{width: 100%; max-width: 1280px;margin: 10px auto;}
.footer_inner h2.Logo  {
    width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 435px;margin: 0 auto;
}	
.footer_inner h2.Logo img{
	max-height: 100%;
	width:70%;
    max-width: 101px;
}
.footer_inner h2.Logo span.logoBox{color:  #fff;line-height: 1.3;}
.footer_inner h2.Logo span.logo{font-family: var(--sub_style);font-size: 38px;letter-spacing: 3px;}
.footer_inner h2.Logo span.logo_en{
    font-family: var(----sub_style02);
     font-size: 13px;
     display: block;
     font-weight: 300;
     padding-top: 5px;
     letter-spacing: 2px;
    }
.footer_inner p{
    font-size: 23px;
    padding-top: 20px;
    border-top:1px solid #fff;
    max-width:555px;
     margin: 20px auto;
     text-align: center;
     font-weight: 300;
    }
.copy{font-size: 17px;padding-top: 20px;text-align: center;}

/*-- スマホ --*/
body.is_sp.tate-mode.footer_inner h2.Logo span.logoBox{letter-spacing: 0;}
body.is_sp.tate-mode .footer{padding: 40px 15px 10px;}
body.is_sp.tate-mode .footer_inner h2.Logo span.logo{font-size: 28px;}
body.is_sp.tate-mode .footer_inner h2.Logo span.logo_en{font-size: 12px;}
body.is_sp.tate-mode .footer_inner h2.Logo img{
	max-height: 100%;
	width:70%;
    max-width: 60px;
}
body.is_sp.tate-mode .footer_inner p{font-size:19px; letter-spacing: 1px;line-height: 1.3;}
body.is_sp.tate-mode .copy{font-size: 14px;}
body.is_sp.tate-mode .footermar{margin-top: 10px;}
/*-----------*/


/*--- TitleStyle ---*/
.TitleStyle_white{font-weight: 700; font-size: 45px;letter-spacing: 3px; line-height: 1.7;color: #fff;text-align: center;}
.TitleStyle_white span.line{display: block; border-bottom: 2px solid #fff; width: 100px;margin:25px auto;}

.TitleStyle_left{font-weight: 700; font-size: 45px;letter-spacing: 3px; line-height: 1.7;color: var(--main-color01);}
.TitleStyle_left span.line{display: block; border-bottom: 2px solid var(--main-color01);; width: 100px;margin:20px 0;}

.TitleStyle_attention{
    font-weight: 900;
    font-size: 150px;
    letter-spacing: 4px;
    color:var(--red);
    text-shadow: 8px 8px 0 rgba(255, 255, 255, 0.9);
    line-height: 1.2;
}
.TitleStyle_red{font-weight: 900; font-size: 55px;letter-spacing: 2px; line-height: 1.5;color: var(--red);}
.TitleStyle_blue{font-weight: 700; font-size: 48px;letter-spacing: 2px; line-height: 1.4;color: var(--main-color02);text-align: center;}

/*--- タブレット・スマホ ---*/
body.is_sp .TitleStyle_white,
body.iphone-access .TitleStyle_white,
body.android-access .TitleStyle_white{font-size: 27px;letter-spacing: 1px;}

body.is_sp .TitleStyle_white span.line,
body.iphone-access .TitleStyle_white span.line,
body.android-access .TitleStyle_white span.line{width: 95px;margin:18px auto;}

body.is_sp .TitleStyle_left,
body.iphone-access .TitleStyle_left,
body.android-access .TitleStyle_left{font-size: 28px;letter-spacing: 1px;text-align: center;}

body.is_sp .TitleStyle_left span.line,
body.iphone-access .TitleStyle_left span.line,
body.android-access .TitleStyle_left span.line{width: 95px;margin:18px auto;}

body.is_tab .TitleStyle_attention{font-size: 100px;letter-spacing: 4px;text-shadow: 5px 5px 0 rgba(255, 255, 255, 0.9);text-align: center;}

body.is_sp .TitleStyle_attention,
body.iphone-access .TitleStyle_attention,
body.android-access .TitleStyle_attention
{font-size: 80px;letter-spacing: 1px;text-shadow: 5px 5px 0 rgba(255, 255, 255, 0.9);text-align: center;}

body.is_tab .TitleStyle_red{font-size: 30px;letter-spacing: 1px;text-align: center;}

body.is_sp .TitleStyle_red,
body.iphone-access .TitleStyle_red,
body.android-access .TitleStyle_red{font-size: 23px;text-align: center;}

body.is_tab .TitleStyle_blue{font-size: 30px;letter-spacing: 1px;}

body.is_sp .TitleStyle_blue,
body.iphone-access  .TitleStyle_blue,
body.android-access .TitleStyle_blue{font-size: 26px;letter-spacing:0;}

@media screen and (min-width: 768px) and (max-width: 1480px) {
.TitleStyle_attention{font-size: 98px;letter-spacing: 4px;text-shadow: 5px 5px 0 rgba(255, 255, 255, 0.9);}
.TitleStyle_red{font-size: 36px;letter-spacing: 1px;}
}


/*-----------*/

/*-- fastview --*/
.fastviewBox{
    position: relative;
     width: 100%; 
     height: 100vh;
     background-image: url(../../images/main_pht.jpg);
     background-size: cover;
     background-position: 50% center;
     background-repeat: no-repeat;
    }

.fastviewBox .catchphrase{
    position: absolute;
    bottom: 6%;
    left: 5%;
    color: #fff;
    width: 100%;
    max-width: 960px;

}
.fastviewBox .catchphrase h2{font-size: 66px; font-weight: 800; line-height: 1.3;letter-spacing: 5px;}
.fastviewBox .catchphrase h2 span.bigtxt{font-size: 150px; font-weight: 800; line-height: 1.3;letter-spacing: 3px;display: block;}
.fastviewBox .catchphrase p{font-size:22px;line-height: 1.6;margin-top: 50px;max-width: 890px;letter-spacing: 2px;}


/*-- タブレット・スマホ --*/
body.is_tab .fastviewBox{
    position: relative;
     width: 100%; 
     height: 100vh;
     background-image: url(../../images/main_pht_tab.jpg);
     background-size: cover;
     background-repeat: no-repeat;
     overflow: hidden;
    }
body.is_tab.tate-mode .fastviewBox .catchphrase{max-width: 657px;}

body.is_tab .fastviewBox .catchphrase h2{font-size: 40px;letter-spacing: 2px;}
body.is_tab .fastviewBox .catchphrase h2 span.bigtxt{font-size: 120px;}
body.is_tab .fastviewBox .catchphrase p{font-size: 17px;max-width: 500px;margin-top: 30px;}
@media screen and (max-width: 930px){
body.is_tab.yoko-mode .fastviewBox{
     height: 100%;
     min-height: 450px;
    }
body.is_tab.android-access.yoko-mode .fastviewBox .catchphrase{max-width: 100%;top:26%;}

body.is_tab.yoko-mode .fastviewBox .catchphrase h2{font-size: 35px;letter-spacing: 2px;}
body.is_tab.yoko-mode .fastviewBox .catchphrase h2 span.bigtxt{font-size: 90px;}
body.is_tab.yoko-mode .fastviewBox .catchphrase p{font-size: 17px;max-width: 90%;margin-top: 20px;}

}



body.is_sp.tate-mode .fastviewBox{
    position: relative;
     width: 100%; 
     height: 100vh;
     background-image: url(../../images/main_pht_sp.jpg);
     background-size: cover;
     background-repeat: no-repeat;
    }

body.is_sp .fastviewBox .catchphrase,
body.iphone-access.tate-mode .fastviewBox .catchphrase,
body.android-access.tate-mode .fastviewBox .catchphrase{
    position: absolute;
    bottom: 7%;
    left: 4%;
    color: #fff;
    width: 90%;

}


body.is_sp .fastviewBox .catchphrase h2,
body.iphone-access .fastviewBox .catchphrase h2,
body.android-access .fastviewBox .catchphrase h2{font-size: 32px;letter-spacing: 0;}


body.is_sp .fastviewBox .catchphrase h2 span.bigtxt,
body.iphone-access .fastviewBox .catchphrase h2 span.bigtxt,
body.android-access .fastviewBox .catchphrase h2 span.bigtxt{font-size: 100px;}


body.is_sp .fastviewBox .catchphrase p,
body.iphone-access .fastviewBox .catchphrase p,
body.android-access .fastviewBox .catchphrase p{font-size: 17px;max-width: 100%;margin-top: 20px;}

body.is_sp.yoko-mode .fastviewBox,
body.iphone-access.yoko-mode .fastviewBox,
body.android-access.yoko-mode .fastviewBox{
height: 100%;
min-height: 450px;
}


body.is_sp.yoko-mode .fastviewBox .catchphrase,
body.iphone-access.yoko-mode .fastviewBox .catchphrase,
body.android-access.yoko-mode .fastviewBox .catchphrase{
    position: absolute;
    top:18%;
    left: 3%;
    max-width: 780px;
}


@media screen and (max-width: 477px){

body.is_sp.tate-mode .fastviewBox .catchphrase h2,
body.iphone-access .fastviewBox .catchphrase h2,
body.android-access .fastviewBox .catchphrase h2{font-size: 26px;letter-spacing: 0;}

body.is_sp.tate-mode .fastviewBox .catchphrase h2 span.bigtxt,
body.iphone-access .fastviewBox .catchphrase h2 span.bigtxt,
body.android-access .fastviewBox .catchphrase h2 span.bigtxt{font-size: 80px;letter-spacing: 1px;}


body.is_sp.tate-mode .fastviewBox .catchphrase p,
body.iphone-access .fastviewBox .catchphrase p,
body.android-access .fastviewBox .catchphrase p{font-size: 17px;margin-top: 20px;}


}

/*-----------*/


/*-- 非行政書士行為は、原則として禁止されています。 --*/
.contentBox01{background:var(--gradient_01);}

.contentBox01 .gridBox{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 300px)); 
    justify-content: center;
    gap:40px;
    margin-top: 50px;
}
.contentBox01 .gridBox li{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    background: #fff; 
    padding: 25px 27px 28px;
    line-height: 1.4; 
    border-radius: 0 15px 0 0;
    background-image: url(../../images/icon_NG.svg);
    background-size: 80%;
    background-position: center;
    background-repeat: no-repeat;

}
.contentBox01 .gridBox li h3{ 
    font-size: 55px;
    font-family: var(--EN_style);
    letter-spacing: 3px;
    color: var(--accent-color01);
    text-align: center;
    line-height: 1.2;
}
.contentBox01 .gridBox li h3 span{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-family: var(--main_style);
    font-size: 22px;
    letter-spacing: 0;
    color: var(--text-black);
    min-height: 60px;
    line-height: 1.5;

}
.contentBox01 .gridBox li p.line{display: block; border-bottom: 1px solid var(--accent-color01);width: 100%;margin: 10px auto 15px;}
.contentBox01 .bigtxt{max-width: 970px; margin: 50px auto 0; line-height: 1.8;letter-spacing: 3px;}

/*-- スマホ --*/
body.is_sp.tate-mode .contentBox01 .gridBox li{padding:28px 20px; background-size:60%;}

body.is_sp.tate-mode .contentBox01 .gridBox li h3{font-size: 45px;}
body.is_sp.tate-mode .contentBox01 .gridBox li h3 span{min-height: 20px;font-size: 22px;min-height: 60px;}

body.is_sp.yoko-mode .contentBox01 .gridBox li h3{font-size: 40px;line-height: 1;}
body.is_sp.yoko-mode .contentBox01 .gridBox li h3 span{min-height: 60px;font-size: 17px;letter-spacing:0 ;line-height: 1.4;}

body.is_sp.yoko-mode .contentBox01 .gridBox{
    grid-template-columns: repeat(3, 1fr); 
    gap:20px;
}
body.is_sp.yoko-mode .contentBox01 .gridBox li{padding:15px; background-size:60%;}
body.is_sp.yoko-mode .contentBox01 .gridBox li p.line{margin: 8px auto}

/*-----------*/



/*-- ごまかしても違法です！ --*/
.contentBox02{
    background-image:url(../../images/LPpht_01.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 300px;
    position: relative;
}
.contentBox02::before{
    content: "";
    display: block;
    background-image:url(../../images/icon_danger.svg);
    background-size: cover;
    background-repeat: no-repeat; 
    width: 315px;height: 311px;
    position: absolute;
    left: 0;
    top: 0;bottom: 1%;
    margin: auto 0;
}
.contentBox02 p{max-width:900px;margin: 20px auto;font-size: 27px; letter-spacing: 4px;line-height: 1.8;font-weight: 500;}
body.is_sp .contentBox02 p{font-size: 19px; letter-spacing:1px;line-height: 1.5;}
body.is_sp.tate-mode .contentBox02::before{display: none;}

/*-----------*/

/*-- 非行政書士行為に加担するとどうなるの？ --*/
.contentBox03{background:var(--gradient_02);}
.contentBox03 .flexBox{    
    display: flex;
    justify-content: space-between;
    gap:20px;
}
.contentBox03 .flexBox .flexBox__inner{width: 50%;}
.contentBox03 .flexBox .flexBox__inner p{font-size: 24px; letter-spacing: 2px;line-height: 2;}
.contentBox03 .flexBox p.imgBox{ max-width: 540px;}
.contentBox03 .flexBox p.imgBox img{width: 100%;}

.contentBox03 ul.gridBox{    
    display: grid;
    grid-template-columns: repeat(4, 1fr); 
    justify-content: center;
    gap:60px;
    margin: 60px auto 0;

}
.contentBox03 ul.gridBox li{
    display: flex;
    justify-content:flex-end;
    align-items: center;
    flex-direction: column;
    background: #fff; 
    padding: 26px 25px;
    line-height: 1.4; 
    border-radius: 5px;
    box-shadow: 5px 5px 0 rgba(24, 19, 85, 0.2);

}

.contentBox03 ul.gridBox li p{
    width:80%;
    max-width: 189px;
    text-align: center;
    margin-top: 28px;
    font-weight: 500;
    color: #fff; 
    background-color: var(--main-color01);
    padding: 9px 15px; 
    border-radius: 50px;
    line-height: 1.4;
}
.contentBox03 ul.gridBox li img{width: 60%;object-position: center;}
.contentBox03 ul.gridBox li#shinsei img{max-height: 130px;}

@media screen and (min-width: 769px) and (max-width: 1282px){

.contentBox03 ul.gridBox{gap:40px}
.contentBox03 ul.gridBox li{padding: 25px 20px;}
.contentBox03 ul.gridBox li p{font-size: 18px; }

}

/*-- タブレット・スマホ --*/
body.is_tab .contentBox03 .flexBox,
body.is_sp .contentBox03 .flexBox{flex-direction: column;gap:35px;}

body.is_tab .contentBox03 .flexBox .flexBox__inner,
body.is_sp .contentBox03 .flexBox .flexBox__inner{width: 100%;}

body.is_sp .contentBox03 .flexBox .flexBox__inner p{font-size: 19px; letter-spacing: 1px;line-height: 1.5;}
body.is_tab .contentBox03 .flexBox p.imgBox,
body.is_sp .contentBox03 .flexBox p.imgBox{margin: 0 auto; max-width: 450px;}

body.is_tab .contentBox03 ul.gridBox{grid-template-columns: repeat(2, 1fr); gap:30px; max-width: 650px;}
body.is_sp.tate-mode .contentBox03 ul.gridBox{grid-template-columns: repeat(2, 1fr); gap:15px}

body.is_tab .contentBox03 ul.gridBox li p{font-size: 15px; padding: 4px 15px;}
body.is_sp .contentBox03 ul.gridBox li p{
    font-size: 12px;
    font-weight: 400;
    letter-spacing: -0.6px;
    padding: 5px 10px;
    text-align: center;
    line-height: 1.4;
    margin-top: 15px;
}

body.is_tab .contentBox03 ul.gridBox li,
body.is_sp .contentBox03 ul.gridBox li{padding: 15px 10px;}

body.is_tab .contentBox03 ul.gridBox li img,
body.is_sp.tate-mode .contentBox03 ul.gridBox li img{width: 60%;object-position: center;max-width: 170px;}

body.is_tab .contentBox03 ul.gridBox li#shinsei img{max-height: 200px;}
body.is_sp.tate-mode .contentBox03 ul.gridBox li#shinsei img{max-height: 150px;}


body.is_sp.yoko-mode .contentBox03 ul.gridBox{grid-template-columns: repeat(4, 133px); gap:10px}
body.is_sp.yoko-mode .contentBox03 ul.gridBox li img{width: 70%;object-position: center;}
body.is_sp.yoko-mode .contentBox03 ul.gridBox li#shinsei img{max-height: 98px;}
body.is_sp.yoko-mode .contentBox03 ul.gridBox li{padding: 15px 8px;}
body.is_sp.yoko-mode.contentBox03 ul.gridBox li p{
    font-size: 13px;
    letter-spacing: -0.6px;
    padding: 5px 10px;
    text-align: center;
    line-height: 1.4;
    margin-top: 15px;
}
/*-----------*/



/*-- お問い合わせフォーム --*/
.contactBox{background:var(--gradient_03);}
.contactBox p.bigtxt_400{text-align: center; margin:40px auto; font-size:25px;}
.anchor_point{padding-top: 100px; margin-top: -100px;}

.contactBox table{width: 100%; max-width: 800px; margin: 70px auto 0; border-collapse: collapse;}
.contactBox table .hissu{
    background: var(--red); 
    color: #fff; 
    font-size: 14px; 
    font-weight: 400; 
    margin-left: 9px;
    padding: 4px 7px;
    border-radius: 4px;
    vertical-align: center;
}
.contactBox table th,.contactBox table td{padding: 14px 15px;vertical-align: center;}
.contactBox table th{width: 30%; text-align: left;font-weight: 400;font-size: 19px;}
.contactBox table th.txtBox{vertical-align: top!important;padding-top: 16px;}
.contactBox table td{width: 100%; max-width: 450px;vertical-align: top;}
.contactBox table td input,
.contactBox table td select, 
.contactBox table td textarea{
    width: 100%; 
     max-width: 450px;
    padding: 15px;
     border: 1px solid #707070; 
     border-radius: 5px; 
     font-size: 19px;
    }
.contactBox table td select{width: 100%; max-width: 225px;}

#other-area select{width: 100%; max-width: 325px;margin-top: 15px; }

.contactBox .check .checkbox{width: 20px; height: 20px; border: 1px solid #707070; border-radius: 5px; margin-right: 5px;}
.contactBox .check {display:block;width: 100%; max-width: 800px; margin: 30px auto;background: #fff;}
.contactBox .check .flexBox{display:flex;align-items: center;gap: 10px;background: #c1c1c1ab; padding: 10px 15px;}
.contactBox .check .flexBox p{display:inline-block;}
.contactBox #chk_checkbox_er{padding: 10px 20px 0;}
.contactBox .check ul.komeBox{padding: 25px 20px 30px;}
.contactBox .check ul.komeBox li{
    position: relative; 
    padding-left: 20px; 
    margin-bottom: 5px;
    line-height: 1.7;
    letter-spacing: 1px;
    font-size:16px;
}
.contactBox .check ul.komeBox li a{border-bottom: 1px solid var(--main-color02);transition: 0.4s;}
.contactBox .check ul.komeBox li:last-child{padding-top:20px;}
.contactBox .check ul.komeBox li::before{
    content: "※";
    position: absolute;
    left: 0;
    top:0;
    bottom:0;
    margin: auto 0;
}
.contactBox .check ul.komeBox li:last-child::before{top:20px;}
.contactBTN{
    display: block; 
    width: 100%; 
    max-width: 230px;
    margin: 30px auto 0;
    background: var(--main-color02);
    color: #fff;
    padding: 19px 15px;
    text-align: center; 
    font-size: 18px;
    line-height: 1.4;
     transition: 0.4s;
}
body.is_pc .contactBTN:hover{opacity: 0.4; transition: 0.4s;}

span#required_msg{font-size: 21px; color: var(--red);font-weight: 500;}

.contactEnd_BTN{   
    display: block; 
    width: 100%; 
    max-width: 300px;
    margin: 30px auto 0;
    background: #C1C1C1;
    padding: 19px 15px;
    text-align: center; 
    font-size: 18px;
    line-height: 1.4;
     transition: 0.4s;
     border: none;
}
body.is_pc .contactEnd_BTN:hover{opacity: 0.4; transition: 0.4s;}

select {
    -webkit-appearance: none;
    appearance: none;
    background-image: url("../images/arrow_down_icon.svg");
    background-repeat: no-repeat;
    background-size: 25px auto; /* 画像のサイズ（幅 高さ）*/
    background-position: right 15px center; /* 画像の位置 */
}
select::-ms-expand {
  display: none;
}

.header_kasou{
    position: fixed; 
    top: 0; left: 0;
     width: 100%; height: 92px; 
     background-color: rgba(0,0,0,0.8); 
     z-index: 9999; 
}

.kasouTitle{background: var(--main-color02); padding: 140px 15px 50px;height: 90px;text-align: center;}
.contactBox_confirm{background:var(--gradient_03);}
.contactBox_confirm p.bigtxt ,.contactBox_end p.bigtxt{text-align: center; margin:20px auto;}
.contactBox_confirm table{
    width: 100%;
     max-width: 600px; 
     margin: 50px auto; 
     border-collapse: collapse;
     padding: 14px 15px;
     font-size: 17px;
     background: #fff;

    }
.contactBox_confirm table th, .contactBox_confirm table td{padding: 14px 15px;vertical-align: center}
.contactBox_confirm table th{
    width: 25%; 
    text-align: left;
    font-weight: 500;
    background: var(--main-color02);
    color: #fff;
    border-bottom: 1px solid #ffffffd0;
}
.contactBox_confirm table td{width: 50%;border-bottom: 1px solid #707070;;}
.contactBox_confirm table tr:last-child th,
.contactBox_confirm table tr:last-child td {
    border-bottom: none;
}
/* body.is_pc input.aaaaa,body.is_pc input.bbbbb{opacity: 0.4; transition: 0.4s;} */

input.aaaaa,input.bbbbb{border: none!important;transition: 0.4s;}
input.aaaaa{width: 100%;max-width: 200px;padding: 15px; background-color: #C1C1C1;  font-size: 17px; margin-right: 20px;}
input.bbbbb{width: 100%;max-width: 200px; padding: 15px; background-color: var(--main-color02); color:#fff; font-size: 17px;}



/*-- スマホ --*/
.contactBox p.bigtxt_400{margin:30px auto; font-size:20px;}
body.is_sp .contactBox table, body.is_tab.tate-mode .contactBox table{max-width: 500px; margin: 40px auto 0;}
body.is_tab.tate-mode .contactBox table th, body.is_tab.tate-mode .contactBox table td,
body.is_sp .contactBox table th, body.is_sp .contactBox table td
{display: block;width: 90%;padding: 10px 0;text-align: left;}
body.is_sp .contactBTN{{margin: 0 auto}}
body.is_sp .kasouTitle{ padding: 122px 15px 0;}
body.is_sp.tate-mode .contactBox_confirm table {
    display: block;
    width: 100% !important;
    max-width: 500px;
    margin: 40px auto;
    padding:0;
}

.contactBox table td select{background-color: #fff!important; }

body.is_sp.tate-mode .contactBox_confirm table tbody,
body.is_sp.tate-mode .contactBox_confirm table tr {
    display: block;
    width: 100%;
}


body.is_sp.tate-mode .contactBox_confirm table th,
body.is_sp.tate-mode .contactBox_confirm table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 15px;
    text-align: left;
}
body.is_sp .contact_flexBox{display:flex;justify-content: center;align-items: center; gap:15px}

body.is_sp input.aaaaa{ margin-right:0;}
body.is_sp input.aaaaa,body.is_sp input.bbbbb{padding:9px 15px;}
body.is_sp .contactEnd_BTN{padding: 12px 15px;font-size: 16px;}
/*-----------*/


/*-- lastBox --*/
.lastBox h2{font-weight: 600; font-size: 45px;letter-spacing: 3px; line-height: 1.2;color: var(--text-black);text-align: center;}
.lastBox p{font-size: 24px; letter-spacing: 2px;line-height: 2;max-width: 1000px;margin: 40px auto 0;}
/*-- スマホ --*/
body.is_sp .lastBox h2{
    font-weight: 600;
    font-size: 27px;
    letter-spacing: 3px; 
    line-height: 1.4;
    color: var(--text-black);
    text-align: center;
}
body.is_sp .lastBox p{font-size: 19px; letter-spacing: 2px;line-height: 2;max-width: 600px;margin: 40px auto 0;}

/*-----------*/